<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:57:17 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-1529] concurrency issues with yielding</title>
                <link>https://jira.mongodb.org/browse/SERVER-1529</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;see jstests/cursora.js&lt;/p&gt;

&lt;p&gt;this exhibits 3 different problems for me randomly:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Sun Aug  1 02:01:30 uncaught exception: error: 
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unknown macro: { &amp;quot;$err&amp;quot; }&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;
	&lt;li&gt;Sun Aug  1 02:01:18 uncaught exception: error: 
{ &quot;$err&quot; : &quot;cursor dropped during query&quot;, &quot;code&quot; : 13338 }&lt;/li&gt;
	&lt;li&gt;Sun Aug  1 02:01:13 uncaught exception: &lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt; != &lt;span class=&quot;error&quot;&gt;&amp;#91;1673&amp;#93;&lt;/span&gt; are not equal : after remove&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="12611">SERVER-1529</key>
            <summary>concurrency issues with yielding</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.mongodb.org/images/icons/priorities/critical.svg">Critical - P2</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="eliot">Eliot Horowitz</assignee>
                                    <reporter username="eliot">Eliot Horowitz</reporter>
                        <labels>
                    </labels>
                <created>Sun, 1 Aug 2010 06:03:36 +0000</created>
                <updated>Tue, 12 Jul 2016 00:17:12 +0000</updated>
                            <resolved>Mon, 2 Aug 2010 02:45:04 +0000</resolved>
                                                    <fixVersion>1.5.8</fixVersion>
                                    <component>Concurrency</component>
                                        <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="16357" author="auto" created="Mon, 2 Aug 2010 02:45:09 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;erh&apos;, &apos;name&apos;: &apos;Eliot Horowitz&apos;, &apos;email&apos;: &apos;eliot@10gen.com&apos;}
&lt;p&gt;Message: enhance test for &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1529&quot; title=&quot;concurrency issues with yielding&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1529&quot;&gt;&lt;del&gt;SERVER-1529&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/cd0cd9912db7a0945a316f04e31e221be5c0d3ea&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/cd0cd9912db7a0945a316f04e31e221be5c0d3ea&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="16355" author="auto" created="Mon, 2 Aug 2010 02:22:43 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;erh&apos;, &apos;name&apos;: &apos;Eliot Horowitz&apos;, &apos;email&apos;: &apos;eliot@10gen.com&apos;}
&lt;p&gt;Message: fix update/remove concurrency - centralize for query &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1529&quot; title=&quot;concurrency issues with yielding&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1529&quot;&gt;&lt;del&gt;SERVER-1529&lt;/del&gt;&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1518&quot; title=&quot;Probable concurrency bug&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1518&quot;&gt;&lt;del&gt;SERVER-1518&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/74a6d11e6b7a74293f4b70aa9e36ca0bb6c317de&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/74a6d11e6b7a74293f4b70aa9e36ca0bb6c317de&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="16352" author="aaron" created="Sun, 1 Aug 2010 18:07:09 +0000"  >&lt;p&gt;There is a similar problem with deletes in 1.4&lt;/p&gt;</comment>
                            <comment id="16351" author="aaron" created="Sun, 1 Aug 2010 17:59:33 +0000"  >&lt;p&gt;So at first glance I think that in addition to query, it&apos;s necessary to do checkLocation after yielding in the implementations of update and delete as well as the query ops for update and delete, and also for count.  And anywhere else we might be yielding&lt;/p&gt;</comment>
                            <comment id="16349" author="auto" created="Sun, 1 Aug 2010 08:05:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;astaple&apos;, &apos;name&apos;: &apos;Aaron&apos;, &apos;email&apos;: &apos;aaron@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1529&quot; title=&quot;concurrency issues with yielding&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1529&quot;&gt;&lt;del&gt;SERVER-1529&lt;/del&gt;&lt;/a&gt; partial fix&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/8a95b40c90ed32259a94de6434e55630552e8bd0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/8a95b40c90ed32259a94de6434e55630552e8bd0&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="16348" author="eliot" created="Sun, 1 Aug 2010 07:56:38 +0000"  >&lt;p&gt;1) Ok - key node makes sense. &lt;br/&gt;
  When i see your change I&apos;ll make sure update does the same.&lt;/p&gt;

&lt;p&gt;2) i&apos;ll work on cursor dropped &lt;/p&gt;

&lt;p&gt;3) duh &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;  &lt;/p&gt;

&lt;p&gt;reassign back to me when you&apos;re done with #1&lt;/p&gt;</comment>
                            <comment id="16347" author="aaron" created="Sun, 1 Aug 2010 07:49:58 +0000"  >&lt;p&gt;The invalid key node is caused by checkLocation() being called for the cursor before deletion, but not after deletion (deletion may change the key offset within the btree bucket, but this is only known after deletion occurs).  The quick fix is to call checkLocation() again after yielding, and I&apos;ve done that.&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;There are probably some more places where we should add checkLocation() as well - and they are in write operations which are more serious in terms of preventing corruption.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I get the &quot;cursor dropped during query&quot; message during the eval query - you know what causes that.&lt;/p&gt;

&lt;p&gt;I think the not equal after remove problem is because the spawned shell is exiting before the remove operation completes on the server.  I added a getLastError() to try and fix.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Sun, 1 Aug 2010 07:49:58 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        13 years, 29 weeks, 3 days 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>
                            13 years, 29 weeks, 3 days 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_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>aaron</customfieldvalue>
            <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>eliot</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrpidz:</customfieldvalue>

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

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

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