<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:00:06 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-2482] SlaveOK queries and getMores need to go to same member</title>
                <link>https://jira.mongodb.org/browse/SERVER-2482</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&amp;gt; var rt = new ReplSetTest(&lt;/p&gt;
{nodes:7, name:&apos;slave_ok_no_master&apos;}
&lt;p&gt;);&lt;br/&gt;
&amp;gt; rt.startSet(&lt;/p&gt;
{oplogSize:200}
&lt;p&gt;)&lt;br/&gt;
&amp;gt; rt.initiate()&lt;/p&gt;

&lt;p&gt;Start up a mongos with rt.getURL() as a shard() and connect&lt;/p&gt;

&lt;p&gt;&amp;gt; s=&apos;x&apos;&lt;br/&gt;
x&lt;br/&gt;
&amp;gt; while (s.length &amp;lt; 128*1024) s += s; s.length&lt;br/&gt;
131072&lt;br/&gt;
&amp;gt; for (var i=0; i&amp;lt;1000; i++) db.foo.insert(&lt;/p&gt;
{s:s}
&lt;p&gt;)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;takes a little while&amp;#93;&lt;/span&gt;&lt;br/&gt;
&amp;gt; db.foo.count()&lt;br/&gt;
1000&lt;br/&gt;
&amp;gt; db.foo.find().itcount()&lt;br/&gt;
1000&lt;br/&gt;
&amp;gt; db.getMongo().setSlaveOk()&lt;br/&gt;
&amp;gt; db.foo.find().itcount()&lt;br/&gt;
Fri Feb  4 17:18:30 Error: getMore: cursor didn&apos;t exist on server, possible restart or timeout? shell/query.js:104&lt;/p&gt;

&lt;p&gt;It looks like the works/doesn&apos;t work threshold is 32/33 which is the same threshold where a the results won&apos;t fit into a single message:&lt;/p&gt;

&lt;p&gt;&amp;gt; db.foo.find().limit(32).itcount()&lt;br/&gt;
32&lt;br/&gt;
&amp;gt; db.foo.find().limit(33).itcount()&lt;br/&gt;
Fri Feb  4 17:28:59 Error: getMore: cursor didn&apos;t exist on server, possible restart or timeout? shell/query.js:104&lt;br/&gt;
&amp;gt; Object.bsonsize({_id:ObjectId(), s:s})*32&lt;br/&gt;
4195264&lt;br/&gt;
&amp;gt; Object.bsonsize({_id:ObjectId(), s:s})*33&lt;br/&gt;
4326366&lt;br/&gt;
&amp;gt; 4*1024*1024&lt;br/&gt;
4194304&lt;/p&gt;

&lt;p&gt;I added some debugging info into the code and it looks like the getMore is going to the master.&lt;/p&gt;

</description>
                <environment></environment>
        <key id="14531">SERVER-2482</key>
            <summary>SlaveOK queries and getMores need to go to same member</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="eliot">Eliot Horowitz</assignee>
                                    <reporter username="mathias@mongodb.com">Mathias Stearn</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 Feb 2011 22:36:29 +0000</created>
                <updated>Tue, 12 Jul 2016 00:17:41 +0000</updated>
                            <resolved>Sat, 5 Feb 2011 22:53:12 +0000</resolved>
                                                    <fixVersion>1.7.6</fixVersion>
                                                        <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="23188" author="auto" created="Sat, 5 Feb 2011 22:52:51 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;erh&apos;, u&apos;name&apos;: u&apos;Eliot Horowitz&apos;, u&apos;email&apos;: u&apos;eliot@10gen.com&apos;}
&lt;p&gt;Message: fix SlaveOk getMore with replica sets for non sharded collections &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-2482&quot; title=&quot;SlaveOK queries and getMores need to go to same member&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-2482&quot;&gt;&lt;del&gt;SERVER-2482&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/ed2b128e5de0ddd2bf5303fda7980bd1d0b2c683&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/ed2b128e5de0ddd2bf5303fda7980bd1d0b2c683&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="23187" author="auto" created="Sat, 5 Feb 2011 22:52:50 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;erh&apos;, u&apos;name&apos;: u&apos;Eliot Horowitz&apos;, u&apos;email&apos;: u&apos;eliot@10gen.com&apos;}
&lt;p&gt;Message: fix SlaveOk getMore with replica sets for sharded collections &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-2482&quot; title=&quot;SlaveOK queries and getMores need to go to same member&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-2482&quot;&gt;&lt;del&gt;SERVER-2482&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5287de64fbc3bd412c84a23da7280b3c20853f21&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5287de64fbc3bd412c84a23da7280b3c20853f21&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="23149" author="redbeard0531" created="Fri, 4 Feb 2011 23:22:34 +0000"  >&lt;p&gt;Because the wire protocol doesn&apos;t require GetMore requests to include the query options, I think the only solution will be modifying strategy_stard to store the query options whenever a cursor is created and examine them when doing a get more. Perhaps just need to keep a set of cursors that were sent to a slave.&lt;/p&gt;

&lt;p&gt;Note that the C++ driver does send opts in GetMore, but it isn&apos;t required, and the python driver (and maybe others) just send zero.&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>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Sat, 5 Feb 2011 22:52:50 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        13 years, 2 weeks, 4 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, 2 weeks, 4 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>auto</customfieldvalue>
            <customfieldvalue>eliot</customfieldvalue>
            <customfieldvalue>mathias@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrp70n:</customfieldvalue>

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

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

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