<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:33: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-76695] initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point</title>
                <link>https://jira.mongodb.org/browse/SERVER-76695</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Currently, this test expects that the OplogFetcher will always advance the latest commit point on a node during initial sync, and that by the time initial sync completes a new node will have a non-null latest commit point. However, it&apos;s possible that initial sync completes without this happening. Per &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=vishnu.kaushik%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;vishnu.kaushik@mongodb.com&quot;&gt;vishnu.kaushik@mongodb.com&lt;/a&gt; :&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Every time the OplogFetcher successfully fetches a batch, it processes the metadata it receives with the batch, which includes &lt;em&gt;attempting&lt;/em&gt; to &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c143d2a9dde2f6713a44b41e35a0553d8004ebc7/src/mongo/db/repl/oplog_fetcher.cpp#L849&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;advance the commit timestamp&lt;/a&gt;. The commit timestamp is only advanced when the term of the last applied timestamp, pushed forward by the applier, is equal to the term of the new processed timestamp (roughly speaking). Consequently, the first time the OplogFetcher fetches a batch, the commit timestamp may not be pushed forward if nothing has been applied yet, i.e. if the last applied timestamp is unintialized (&lt;tt&gt;ts: Timestamp(0, 0), t: -1&lt;/tt&gt;) then its term, &lt;tt&gt;-1&lt;/tt&gt;, won&apos;t be equal to the new term.&lt;/p&gt;

&lt;p&gt;Soon enough, the applier will apply entries and when the OplogFetcher processes the next batch, it ends up advancing the commit point.&lt;/p&gt;

&lt;p&gt;Finally, once all entries are applied until the given point, the applier exists and then the InitialSyncer shuts the OplogFetcher down. The &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c143d2a9dde2f6713a44b41e35a0553d8004ebc7/jstests/replsets/initial_sync_nodes_maintain_and_gossip_commit_point.js#L100&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;test uses&lt;/a&gt; the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c143d2a9dde2f6713a44b41e35a0553d8004ebc7/src/mongo/db/repl/initial_syncer.cpp#L1668-L1671&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;initialSyncHangBeforeCompletingOplogFetching&lt;/tt&gt; failpoint&lt;/a&gt; to get to this point of after applying is complete, but before the OplogFetcher is told to shutdown.&lt;/p&gt;

&lt;p&gt;Reaching this failpoint doesn&apos;t mean that the OplogFetcher has advanced the commit point, since that depends on the OplogFetcher having processed metadata after entries have been applied. Reaching the failpoint only indicates that entries have been applied.&lt;/p&gt;

&lt;p&gt;Turning off that failpoint will &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c143d2a9dde2f6713a44b41e35a0553d8004ebc7/src/mongo/db/repl/initial_syncer.cpp#L1668-L1674&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;let the InitialSyncer shut the OplogFetcher down&lt;/a&gt;. And if we shut the OplogFetcher down before the OplogFetcher had time to fetch another batch and process it, then the commit point will not have been advanced at all. It will still be uninitialized.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c143d2a9dde2f6713a44b41e35a0553d8004ebc7/jstests/replsets/initial_sync_nodes_maintain_and_gossip_commit_point.js#L75-L77&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;test tries to avoid this by performing another write on the cluster&lt;/a&gt;, so that the OplogFetcher has something to fetch. But if that write is performed after the &lt;tt&gt;stopTimestamp&lt;/tt&gt;, then there is nothing stopping the applier from exiting and telling the InitialSyncer that it is alright to shut the OplogFetcher down.&lt;/p&gt;

&lt;p&gt;And afterwards, initial sync completes, and we try to get a commit point from the initial syncing node, but its commit timestamp is uninitialized.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If the OplogFetcher doesn&apos;t actually advance the last commit point, the node will shortly thereafter advance its last commit point once it receives a heartbeat from the primary and sees that its lastApplied optime is the same as the primary&apos;s durableOpTime.&lt;/p&gt;

&lt;p&gt;Using assert.soon here will allow the test to pass in the rare case where the commit point is advanced slightly later via heartbeat, and will allow the test to proceed with asserting that the initialSyncNode gossips the last commit point to the other secondary.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2327846">SERVER-76695</key>
            <summary>initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point</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="13201">Fixed</resolution>
                                        <assignee username="kaitlin.mahar@mongodb.com">Kaitlin Mahar</assignee>
                                    <reporter username="kaitlin.mahar@mongodb.com">Kaitlin Mahar</reporter>
                        <labels>
                    </labels>
                <created>Fri, 28 Apr 2023 19:46:55 +0000</created>
                <updated>Sun, 29 Oct 2023 21:22:15 +0000</updated>
                            <resolved>Mon, 1 May 2023 19:02:25 +0000</resolved>
                                                    <fixVersion>7.1.0-rc0</fixVersion>
                    <fixVersion>4.4.22</fixVersion>
                    <fixVersion>5.0.18</fixVersion>
                    <fixVersion>7.0.0-rc1</fixVersion>
                    <fixVersion>6.0.7</fixVersion>
                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5395630" author="xgen-internal-githook" created="Tue, 2 May 2023 20:37:00 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Kaitlin Mahar&apos;, &apos;email&apos;: &apos;kaitlin.mahar@mongodb.com&apos;, &apos;username&apos;: &apos;kmahar&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76695&quot; title=&quot;initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76695&quot;&gt;&lt;del&gt;SERVER-76695&lt;/del&gt;&lt;/a&gt; initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2595c52e7ebbe72a41d541214f60828dcdf0d18b)&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/d54a2e5c1c09bd020d6c386cc18b499fa74b7b9f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/d54a2e5c1c09bd020d6c386cc18b499fa74b7b9f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5395601" author="xgen-internal-githook" created="Tue, 2 May 2023 20:27:12 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Kaitlin Mahar&apos;, &apos;email&apos;: &apos;kaitlin.mahar@mongodb.com&apos;, &apos;username&apos;: &apos;kmahar&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76695&quot; title=&quot;initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76695&quot;&gt;&lt;del&gt;SERVER-76695&lt;/del&gt;&lt;/a&gt; initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2595c52e7ebbe72a41d541214f60828dcdf0d18b)&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/1cfc3c9fb940b8f26d376bc1481ad983cc9cad8f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/1cfc3c9fb940b8f26d376bc1481ad983cc9cad8f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5394505" author="xgen-internal-githook" created="Tue, 2 May 2023 16:04:23 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Kaitlin Mahar&apos;, &apos;email&apos;: &apos;kaitlin.mahar@mongodb.com&apos;, &apos;username&apos;: &apos;kmahar&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76695&quot; title=&quot;initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76695&quot;&gt;&lt;del&gt;SERVER-76695&lt;/del&gt;&lt;/a&gt; initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 30d3ac6fac2b5e5f82520ba3ea68f1bc04d19b70)&lt;br/&gt;
Branch: v6.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2595c52e7ebbe72a41d541214f60828dcdf0d18b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2595c52e7ebbe72a41d541214f60828dcdf0d18b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5394442" author="xgen-internal-githook" created="Tue, 2 May 2023 15:49:44 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Kaitlin Mahar&apos;, &apos;email&apos;: &apos;kaitlin.mahar@mongodb.com&apos;, &apos;username&apos;: &apos;kmahar&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76695&quot; title=&quot;initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76695&quot;&gt;&lt;del&gt;SERVER-76695&lt;/del&gt;&lt;/a&gt; initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 30d3ac6fac2b5e5f82520ba3ea68f1bc04d19b70)&lt;br/&gt;
Branch: v7.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/98e0f3c66aa337a26893f20bffa58d01f5a38942&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/98e0f3c66aa337a26893f20bffa58d01f5a38942&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5391779" author="xgen-internal-githook" created="Mon, 1 May 2023 18:49:25 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Kaitlin Mahar&apos;, &apos;email&apos;: &apos;kaitlin.mahar@mongodb.com&apos;, &apos;username&apos;: &apos;kmahar&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-76695&quot; title=&quot;initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-76695&quot;&gt;&lt;del&gt;SERVER-76695&lt;/del&gt;&lt;/a&gt; initial_sync_nodes_maintain_and_gossip_commit_point.js should wait longer for initial sync node to advance commit point&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/30d3ac6fac2b5e5f82520ba3ea68f1bc04d19b70&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/30d3ac6fac2b5e5f82520ba3ea68f1bc04d19b70&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25578"><![CDATA[v7.0]]></customfieldvalue>
    <customfieldvalue key="23470"><![CDATA[v6.0]]></customfieldvalue>
    <customfieldvalue key="21777"><![CDATA[v5.0]]></customfieldvalue>
    <customfieldvalue key="18953"><![CDATA[v4.4]]></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>Fri, 28 Apr 2023 19:59:27 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        40 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></customfieldvalue>

                        </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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            40 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>35.0</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>kaitlin.mahar@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i26ytz:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</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_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="7170">Repl 2023-05-01</customfieldvalue>
    <customfieldvalue id="7171">Repl 2023-05-15</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|i26kzb:</customfieldvalue>

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