<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:27:37 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-12109] getMore with tailable cursor, projection, and Query_OplogReplay may fail to return new data</title>
                <link>https://jira.mongodb.org/browse/SERVER-12109</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The logic behind this is as follows:&lt;/p&gt;

&lt;p&gt;In 2.4, the oplogreader which notifies the primary of a secondary&apos;s sync progress only sends a handshake when it first connects (in 2.6, we notify the primary of this progress via the SyncSourceFeedback class). This handshake is how the secondary gets added to primary&apos;s ghost cache which is how the primary tracks the secondary&apos;s sync progress for the sake of write concerns.&lt;/p&gt;

&lt;p&gt;On a reconfig where only tags are affected, 2.6 members clear the ghost cache as well as the member list, but do not close all connections in order to avoid triggering an election. When a 2.6 node is syncing from a 2.6 node, this does not cause a problem because the 2.6 secondary node will send an update, hear back that primary does not know who the secondary is, and the secondary will send a handshake.&lt;/p&gt;

&lt;p&gt;After the reconfig, the 2.6 primary does not know who the 2.4 secondary is, but the 2.4 secondary does not send a new handshake. So, the secondary will continue to send updates and the primary will ignore them. After 10 minutes the oplogreader timeout is trigger and a reconnect occurs.&lt;/p&gt;</description>
                <environment></environment>
        <key id="102680">SERVER-12109</key>
            <summary>getMore with tailable cursor, projection, and Query_OplogReplay may fail to return new data</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="matt.dannenberg">Matt Dannenberg</assignee>
                                    <reporter username="matt.dannenberg">Matt Dannenberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 16 Dec 2013 15:25:39 +0000</created>
                <updated>Mon, 11 Jul 2016 17:40:30 +0000</updated>
                            <resolved>Wed, 29 Jan 2014 19:24:07 +0000</resolved>
                                    <version>2.5.4</version>
                                    <fixVersion>2.5.5</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="490312" author="xgen-internal-githook" created="Wed, 29 Jan 2014 19:23:09 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hkhalsa&apos;, u&apos;name&apos;: u&apos;Hari Khalsa&apos;, u&apos;email&apos;: u&apos;hkhalsa@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-12109&quot; title=&quot;getMore with tailable cursor, projection, and Query_OplogReplay may fail to return new data&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-12109&quot;&gt;&lt;del&gt;SERVER-12109&lt;/del&gt;&lt;/a&gt; projection stage should try to work child even if child is EOF&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/4b9ab5bd393d0742f1be81a8189fa1260469b0c5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/4b9ab5bd393d0742f1be81a8189fa1260469b0c5&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="482097" author="mattd@10gen.com" created="Tue, 14 Jan 2014 21:50:57 +0000"  >&lt;p&gt;The repro script passes up to and including this &lt;a href=&quot;https://github.com/mongodb/mongo/commit/fb7dfc56527680bd386de0a2024f7a2bfd216ad1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;commit&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The next &lt;a href=&quot;https://github.com/mongodb/mongo/commit/222862b67b7cf49075e72457808d297d8438f5d0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;commit&lt;/a&gt; enables the new project code. I imagine that has something to do with the root cause. I know that 2.4 secondaries make a query on the oplog of the primary with a project of only the ts field. But I am struggling to narrow in any further, due in no small part to my lack of knowledge around both the old and new query frameworks.&lt;/p&gt;</comment>
                            <comment id="482078" author="mattd@10gen.com" created="Tue, 14 Jan 2014 21:35:15 +0000"  >&lt;p&gt;attaching a repro script&lt;/p&gt;</comment>
                            <comment id="476541" author="mattd@10gen.com" created="Thu, 2 Jan 2014 19:25:32 +0000"  >&lt;p&gt;went from &quot;for 10 mins&quot; to indefinitely with this commit that causes getMore() to reset cursor timeout:&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/6de0da15e46398dfc1b1747ec2c27c61c2e8bca9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/6de0da15e46398dfc1b1747ec2c27c61c2e8bca9&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="36257" name="12109repro.js" size="1711" author="matt.dannenberg" created="Tue, 14 Jan 2014 21:35:15 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 15 Jan 2014 21:56:22 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        10 years, 3 weeks 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>
                            10 years, 3 weeks 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>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>matt.dannenberg</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrm5dr:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>93968</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_10750" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Steps To Reproduce</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;ol&gt;
	&lt;li&gt;Create a two node replica set with a 2.4 secondary syncing from a 2.6 primary.&lt;/li&gt;
	&lt;li&gt;Send a reconfig that only contains changes to member tags.&lt;/li&gt;
	&lt;li&gt;Insert something and do a getLastError() check with w:2.&lt;/li&gt;
	&lt;li&gt;See that it takes 10 mins to get a response (unless you have a timeout specified, but in that case, if you do another getLastError(), it will not work until it has been 10 mins).&lt;/li&gt;
&lt;/ol&gt;
</customfieldvalue>

                        </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|hsp1vb:</customfieldvalue>

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