<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:14:21 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-7378] Windows Azure logs errors and retries if WRITETODATAFILES and FlushViewOfFile run at the same time</title>
                <link>https://jira.mongodb.org/browse/SERVER-7378</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Windows Azure Storage uses an MD5 hash to verify that it has correctly written data to disk.  When mongod.exe modifies the buffer while it is being flushed to disk, this makes the MD5 comparison fail, and Azure Storage retries the operation.  If it fails 4 times, Windows fails the call to FlushViewOfFile with error code 1 (ERROR_INVALID_FUNCTION), causing mongod.exe to issue Fatal Assertion 16387, with immediate exit.&lt;/p&gt;

&lt;p&gt;There is no requirement internally for WRITETODATAFILES to be allowed to run while FlushViewOfFile is running, and it could be argued that this is not the right thing to do.  Preliminary testing shows that adding a mutex between these two threads prevents the Windows Azure Storage retries.  This will probably improve worst-case performance (by avoiding the retries) and will prevent Fatal Assertions caused by excessive retries.&lt;/p&gt;</description>
                <environment>Windows running on Windows Azure</environment>
        <key id="53413">SERVER-7378</key>
            <summary>Windows Azure logs errors and retries if WRITETODATAFILES and FlushViewOfFile run at the same time</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</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="9">Done</resolution>
                                        <assignee username="tad">Tad Marshall</assignee>
                                    <reporter username="tad">Tad Marshall</reporter>
                        <labels>
                            <label>Windows</label>
                    </labels>
                <created>Wed, 17 Oct 2012 09:03:22 +0000</created>
                <updated>Mon, 11 Jul 2016 17:58:41 +0000</updated>
                            <resolved>Tue, 23 Oct 2012 18:15:45 +0000</resolved>
                                                    <fixVersion>2.2.2</fixVersion>
                    <fixVersion>2.3.1</fixVersion>
                                    <component>Internal Code</component>
                    <component>Performance</component>
                    <component>Stability</component>
                    <component>Storage</component>
                                        <votes>2</votes>
                                    <watches>8</watches>
                                                                                                                <comments>
                            <comment id="675295" author="xgen-internal-githook" created="Tue, 29 Jul 2014 18:02:57 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;kangas&apos;, u&apos;name&apos;: u&apos;Matt Kangas&apos;, u&apos;email&apos;: u&apos;matt.kangas@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-13681&quot; title=&quot;MongoDB stalls during background flush on Windows&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-13681&quot;&gt;&lt;del&gt;SERVER-13681&lt;/del&gt;&lt;/a&gt; Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-7378&quot; title=&quot;Windows Azure logs errors and retries if WRITETODATAFILES and FlushViewOfFile run at the same time&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-7378&quot;&gt;&lt;del&gt;SERVER-7378&lt;/del&gt;&lt;/a&gt; Prevent WRITETODATAFILES and FlushViewOfFile from running at the same time&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 5352345eda2ffa24a72af1d5bbaccaa32bcb1006&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/d7637a71f401f2457db3caca8c8a03d9b46d1ed0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/d7637a71f401f2457db3caca8c8a03d9b46d1ed0&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="675270" author="xgen-internal-githook" created="Tue, 29 Jul 2014 17:54:11 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;kangas&apos;, u&apos;name&apos;: u&apos;Matt Kangas&apos;, u&apos;email&apos;: u&apos;matt.kangas@mongodb.com&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-7378&quot; title=&quot;Windows Azure logs errors and retries if WRITETODATAFILES and FlushViewOfFile run at the same time&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-7378&quot;&gt;&lt;del&gt;SERVER-7378&lt;/del&gt;&lt;/a&gt; Prevent WRITETODATAFILES and FlushViewOfFile from running at the same time&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 5352345eda2ffa24a72af1d5bbaccaa32bcb1006&lt;br/&gt;
Branch: v2.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2ec547c158e1bd7e0339288e0b7ed33ba46e58f6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2ec547c158e1bd7e0339288e0b7ed33ba46e58f6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="183298" author="auto" created="Tue, 6 Nov 2012 21:31:52 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-10-17T09:11:52Z&apos;, u&apos;email&apos;: u&apos;tad@10gen.com&apos;, u&apos;name&apos;: u&apos;Tad Marshall&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-7378&quot; title=&quot;Windows Azure logs errors and retries if WRITETODATAFILES and FlushViewOfFile run at the same time&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-7378&quot;&gt;&lt;del&gt;SERVER-7378&lt;/del&gt;&lt;/a&gt; Prevent WRITETODATAFILES and FlushViewOfFile from running at the same time&lt;/p&gt;

&lt;p&gt;Prevent errors on Azure Storage drives that occur when a memory-mapped&lt;br/&gt;
data file is modified in memory while it is being flushed to disk with&lt;br/&gt;
FlushViewOfFile.  Use a SimpleMutex (Critical Section on Windows) to&lt;br/&gt;
prevent these two routines from running at the same time.&lt;br/&gt;
Branch: v2.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/f43972dd586475132045bb11a96baac168f5b8cd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/f43972dd586475132045bb11a96baac168f5b8cd&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="182377" author="dan@10gen.com" created="Mon, 5 Nov 2012 05:46:02 +0000"  >&lt;p&gt;This change will likely be backported to v2.2.2&lt;/p&gt;</comment>
                            <comment id="180618" author="tejasv@iqmetrix.com" created="Tue, 30 Oct 2012 17:49:07 +0000"  >&lt;p&gt;We are not sure whether this change has been backported into 2.2.1 version or not yet - if it is not that difficult to backport and not too much of an effort on your side (in terms of testing and stability)then we would greatly appreciate if you can merge the changes into 2.2.1 or 2.2.2 version.&lt;/p&gt;

&lt;p&gt;The reason is, we are currently using 2.1 development version on our Azure production deployment. We would like to move to 2.2 stable production version in Azure - but 2.2 version is exhibiting this issue while running in Azure - so it would be little difficult for us to take 2.2 version and deploy it in Azure.&lt;/p&gt;

&lt;p&gt;Also, we cannot wait till 2.3 version comes out with this changes. Given the situation, we would like to pick-up 2.2.X version with this change. It would be really helpful.&lt;/p&gt;</comment>
                            <comment id="178309" author="auto" created="Tue, 23 Oct 2012 18:56:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-10-17T02:11:52-07:00&apos;, u&apos;email&apos;: u&apos;tad@10gen.com&apos;, u&apos;name&apos;: u&apos;Tad Marshall&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-7378&quot; title=&quot;Windows Azure logs errors and retries if WRITETODATAFILES and FlushViewOfFile run at the same time&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-7378&quot;&gt;&lt;del&gt;SERVER-7378&lt;/del&gt;&lt;/a&gt; Prevent WRITETODATAFILES and FlushViewOfFile from running at the same time&lt;/p&gt;

&lt;p&gt;Prevent errors on Azure Storage drives that occur when a memory-mapped&lt;br/&gt;
data file is modified in memory while it is being flushed to disk with&lt;br/&gt;
FlushViewOfFile.  Use a SimpleMutex (Critical Section on Windows) to&lt;br/&gt;
prevent these two routines from running at the same time.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5352345eda2ffa24a72af1d5bbaccaa32bcb1006&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5352345eda2ffa24a72af1d5bbaccaa32bcb1006&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="178304" author="auto" created="Tue, 23 Oct 2012 18:50:13 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-10-17T02:11:52-07:00&apos;, u&apos;email&apos;: u&apos;tad@10gen.com&apos;, u&apos;name&apos;: u&apos;Tad Marshall&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-7378&quot; title=&quot;Windows Azure logs errors and retries if WRITETODATAFILES and FlushViewOfFile run at the same time&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-7378&quot;&gt;&lt;del&gt;SERVER-7378&lt;/del&gt;&lt;/a&gt; Prevent WRITETODATAFILES and FlushViewOfFile from running at the same time&lt;/p&gt;

&lt;p&gt;Prevent errors on Azure Storage drives that occur when a memory-mapped&lt;br/&gt;
data file is modified in memory while it is being flushed to disk with&lt;br/&gt;
FlushViewOfFile.  Use a SimpleMutex (Critical Section on Windows) to&lt;br/&gt;
prevent these two routines from running at the same time.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5352345eda2ffa24a72af1d5bbaccaa32bcb1006&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5352345eda2ffa24a72af1d5bbaccaa32bcb1006&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="178289" author="auto" created="Tue, 23 Oct 2012 18:12:49 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-10-17T02:11:52-07:00&apos;, u&apos;email&apos;: u&apos;tad@10gen.com&apos;, u&apos;name&apos;: u&apos;Tad Marshall&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-7378&quot; title=&quot;Windows Azure logs errors and retries if WRITETODATAFILES and FlushViewOfFile run at the same time&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-7378&quot;&gt;&lt;del&gt;SERVER-7378&lt;/del&gt;&lt;/a&gt; Prevent WRITETODATAFILES and FlushViewOfFile from running at the same time&lt;/p&gt;

&lt;p&gt;Prevent errors on Azure Storage drives that occur when a memory-mapped&lt;br/&gt;
data file is modified in memory while it is being flushed to disk with&lt;br/&gt;
FlushViewOfFile.  Use a SimpleMutex (Critical Section on Windows) to&lt;br/&gt;
prevent these two routines from running at the same time.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5352345eda2ffa24a72af1d5bbaccaa32bcb1006&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5352345eda2ffa24a72af1d5bbaccaa32bcb1006&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="176172" author="milkie" created="Wed, 17 Oct 2012 18:12:31 +0000"  >&lt;p&gt;The code change will affect the behavior of all Windows instances, not just Azure, but there is no easy way to avoid this and it sounds like it may be beneficial anyway.  &lt;/p&gt;</comment>
                            <comment id="176101" author="tad" created="Wed, 17 Oct 2012 16:55:36 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=milkie&quot; class=&quot;user-hover&quot; rel=&quot;milkie&quot;&gt;milkie&lt;/a&gt; The MD5 test appears to be unique to Windows Azure, but the general issue of whether separating these functions in time would be good is still there.  The proposed code change is very specific to the issue on Azure.  I may revisit the larger topic in another ticket after doing some research.&lt;/p&gt;</comment>
                            <comment id="176062" author="milkie" created="Wed, 17 Oct 2012 15:48:42 +0000"  >&lt;p&gt;Is this behavior specific to Azure, or does it happen on any Windows version as well?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>11.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 17 Oct 2012 15:48:42 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        9 years, 29 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>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            9 years, 29 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[Windows]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>dan@mongodb.com</customfieldvalue>
            <customfieldvalue>milkie@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>tad</customfieldvalue>
            <customfieldvalue>tejasv@iqmetrix.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrnkwn:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>30723</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|ht0ly7:</customfieldvalue>

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