<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:31:25 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-13344] Pad journal writes to 4k not 8k</title>
                <link>https://jira.mongodb.org/browse/SERVER-13344</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Journal writes are padded to 8kb, see the use of Alignment in Journal::journal and &quot;namespace dur {  const unsigned Alignment = 8192;&quot;&lt;/p&gt;

&lt;p&gt;With buffered IO the minimum transfer size is 4kb on Linux so padding to 8kb means that twice as much can be written to the journal in the worst case for workloads with j:1.&lt;/p&gt;

&lt;p&gt;This can hurt performance and also generate more wear on flash devices.&lt;/p&gt;

&lt;p&gt;Note that MongoDB already can write a lot more to disk for write-heavy workloads compared to its peers &amp;#8211; &lt;a href=&quot;http://smalldatum.blogspot.com/2014/03/redo-logs-in-mongodb-and-innodb.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://smalldatum.blogspot.com/2014/03/redo-logs-in-mongodb-and-innodb.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This might help with &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9802&quot; title=&quot;Single-threaded journal compression becomes a bottleneck when using &amp;quot;durable&amp;quot; writes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9802&quot;&gt;&lt;del&gt;SERVER-9802&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="127521">SERVER-13344</key>
            <summary>Pad journal writes to 4k not 8k</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="2">Won&apos;t Fix</resolution>
                                        <assignee username="backlog-server-execution">Backlog - Storage Execution Team</assignee>
                                    <reporter username="mdcallag">Mark Callaghan</reporter>
                        <labels>
                            <label>journal</label>
                    </labels>
                <created>Tue, 25 Mar 2014 17:20:03 +0000</created>
                <updated>Tue, 6 Dec 2022 05:08:43 +0000</updated>
                            <resolved>Fri, 14 Sep 2018 20:01:06 +0000</resolved>
                                                                    <component>MMAPv1</component>
                    <component>Storage</component>
                                        <votes>1</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="550440" author="schwerin" created="Tue, 15 Apr 2014 17:30:54 +0000"  >&lt;p&gt;Sounds reasonable.  You&apos;d have to be careful to ensure you did the write to a file on the correct file system, but that shouldn&apos;t be onerous.&lt;/p&gt;</comment>
                            <comment id="550432" author="mdcallag" created="Tue, 15 Apr 2014 17:24:34 +0000"  >&lt;p&gt;From a co-worker who has XFS &amp;amp; Linux internals experience...&lt;/p&gt;

&lt;p&gt;Unfortunately, I have not seen alignment/size restrictions for O_DIRECT IO&#8217;s documented anywhere, in a filesystem independent manner. I don&#8217;t believe this is part of POSIX either. XFS used to expose the alignment restriction via an (xfs-specific) ioctl(), from what I recall.  But I don&#8217;t think there is a filesystem independent way to retrieve it.&lt;/p&gt;

&lt;p&gt;In practice, local filesystems require 512 (or better) alignment. So 4KB should certainly work for local filesystems. NFS requires PAGE_SIZE (4KB) alignment.&lt;/p&gt;

&lt;p&gt;One way to do this is to write a fragment of code (in the mongoDB init path) that tests the 4KB alignment (which should work in the majority of cases) and fall back to 8KB if that does not work (EINVAL). Would that be very contentious ?&lt;/p&gt;</comment>
                            <comment id="534324" author="dwight_10gen" created="Thu, 3 Apr 2014 16:49:40 +0000"  >&lt;p&gt;i&apos;m not sure what it should round to, but i can give background on why it is 8KB.  the page:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://linux.die.net/man/2/open&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://linux.die.net/man/2/open&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;says: &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The O_DIRECT flag may impose alignment restrictions on the length and address of user-space buffers and the file offset of I/Os. In Linux alignment restrictions vary by file system and kernel version and might be absent entirely. However there is currently no file system-independent interface for an application to discover these restrictions for a given file or file system.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Given that comment, the idea was to be conservative and aim high.  Is the 4KB # documented somewhere?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="76969">SERVER-9802</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25136"><![CDATA[Storage Execution]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 3 Apr 2014 16:49:40 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        9 years, 44 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>false</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            9 years, 44 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>schwerin@mongodb.com</customfieldvalue>
            <customfieldvalue>backlog-server-execution</customfieldvalue>
            <customfieldvalue>dwight@mongodb.com</customfieldvalue>
            <customfieldvalue>mdcallag</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrly5j:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr8hen:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>109094</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hsh1gn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>