<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:01:04 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-42650] Remove stale comments mentioned in the RollbackTest for &quot;transitionToSteadyStateOperations&quot; state.</title>
                <link>https://jira.mongodb.org/browse/SERVER-42650</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The comments mentioned &lt;a href=&quot;https://github.com/mongodb/mongo/blob/fbe6b6601738a38a38f3387fb336a1e1284f6b88/jstests/replsets/libs/rollback_test.js#L207-L209&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;&#160;in &quot;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/fbe6b6601738a38a38f3387fb336a1e1284f6b88/jstests/replsets/libs/rollback_test.js#L206&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;transitionToSteadyStateOperations&lt;/a&gt;&quot; state&#160; is no longer valid with the tiebreaker model. To be noted, we can transition to &quot;kSteadyStateOps&quot; only &lt;a href=&quot;https://github.com/mongodb/mongo/blob/fbe6b6601738a38a38f3387fb336a1e1284f6b88/jstests/replsets/libs/rollback_test.js#L54&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;from &quot;kSyncSourceOpsDuringRollback&quot;&lt;/a&gt;. When the RollbackTest was having arbiter (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33587&quot; title=&quot;Add rollback fuzzer test suite that shuts down random nodes cleanly and uncleanly&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33587&quot;&gt;&lt;del&gt;SERVER-33587&lt;/del&gt;&lt;/a&gt;), the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/67da083face9dabdf95a5ffb72d3da675269b4c7/jstests/replsets/libs/rollback_test.js#L318&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;network topology&lt;/a&gt; for state &quot;kSyncSourceOpsDuringRollback&quot; was like&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;   &lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;   A&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; /   \&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;P1 -  S&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;A- Arbiter, P1 - curPrimary, S- curSecondary which is expected to rollback.&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;As a result, the comment mentioned &lt;a href=&quot;https://github.com/mongodb/mongo/blob/67da083face9dabdf95a5ffb72d3da675269b4c7/jstests/replsets/libs/rollback_test.js#L186-L188&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt; is valid as node S can get vote from arbiter and become primary.&lt;/p&gt;

&lt;p&gt;But, with the tiebreaker setup, the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/fbe6b6601738a38a38f3387fb336a1e1284f6b88/jstests/replsets/libs/rollback_test.js#L369&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;network topology&lt;/a&gt; for state &quot;kSyncSourceOpsDuringRollback&quot; is like&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;   &lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;   T&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; /   &lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;P1 -  S&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;T- Tiebreaker, P1 - curPrimary, S- curSecondary which is expected to rollback.&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;Over in this model, there is noway, node S can escape from rollback because we make sure in &quot;kSyncSourceOpsBeforeRollback&quot; state that node S &amp;amp; P1&apos;s &lt;a href=&quot;https://github.com/mongodb/mongo/blob/fbe6b6601738a38a38f3387fb336a1e1284f6b88/jstests/replsets/libs/rollback_test.js#L304-L335&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;oplog entries are diverged&lt;/a&gt;. And, the node P1 writes an oplog entry in the higher term than node S. So, no way node S can get &quot;yes&quot; vote from node P1 for replSetRequestVote cmd unless the node S has rolled back. &lt;br/&gt;
 Also, to be noted, when we are executing this RollbackTest transition step, we don&apos;t expect any kind of random restarts by fuzzer as random restarts happens only during workload execution phase&#160; and not during state transition phase (as mentioned in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42602&quot; title=&quot;Guarantee that unconditional step down will not happen due to slow node restarts in  rollback_fuzzer_[un]clean_shutdowns suites.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42602&quot;&gt;&lt;del&gt;SERVER-42602&lt;/del&gt;&lt;/a&gt;). So, there is a guarantee that, at end of kSyncSourceOpsBeforeRollback node S branch of history is not same as node P1.&lt;/p&gt;

&lt;p&gt;This ticket should remove&#160;&#160;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/fbe6b6601738a38a38f3387fb336a1e1284f6b88/jstests/replsets/libs/rollback_test.js#L207-L209&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this stale&lt;/a&gt; comment and the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/fbe6b6601738a38a38f3387fb336a1e1284f6b88/jstests/replsets/libs/rollback_test.js#L210-L230&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;if-else&lt;/a&gt; check. Also, update the RollbackTest such that the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/fbe6b6601738a38a38f3387fb336a1e1284f6b88/jstests/replsets/libs/rollback_test.js#L213-L226&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;rollbackId check &lt;/a&gt; is executed for all cases in transitionToSteadyStateOperations().&lt;/p&gt;</description>
                <environment></environment>
        <key id="885460">SERVER-42650</key>
            <summary>Remove stale comments mentioned in the RollbackTest for &quot;transitionToSteadyStateOperations&quot; state.</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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="13203">Gone away</resolution>
                                        <assignee username="judah.schvimer@mongodb.com">Judah Schvimer</assignee>
                                    <reporter username="suganthi.mani@mongodb.com">Suganthi Mani</reporter>
                        <labels>
                    </labels>
                <created>Tue, 6 Aug 2019 18:52:21 +0000</created>
                <updated>Fri, 27 Oct 2023 20:42:44 +0000</updated>
                            <resolved>Mon, 6 Jan 2020 22:43:33 +0000</resolved>
                                                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="2706335" author="suganthi.mani" created="Mon, 6 Jan 2020 22:43:20 +0000"  >&lt;p&gt;Marking it as gone away, as the original intention of the ticket (&lt;a href=&quot;https://github.com/mongodb/mongo/blob/90dce5237d04d177397b43d6342a5820172dfabb/jstests/replsets/libs/rollback_test.js#L235-L238&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;stale comment&lt;/a&gt; removal) got fixed by &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-37390&quot; title=&quot;RollbackTestFixture doesn&amp;#39;t need to wait for a new primary if it didn&amp;#39;t shut down the current primary&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-37390&quot;&gt;&lt;del&gt;SERVER-37390&lt;/del&gt;&lt;/a&gt;. And, we have a &lt;a href=&quot;https://github.com/mongodb/mongo/blob/02ce213b40c56096c9c57e093778b0889c335bb9/jstests/replsets/libs/rollback_test.js#L296&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;todo&lt;/a&gt; for &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-45178&quot; title=&quot;Rollback via refetch can cause rollback to happen successfully w/o updating the rollback id.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-45178&quot;&gt;&lt;del&gt;SERVER-45178&lt;/del&gt;&lt;/a&gt;. So, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-45178&quot; title=&quot;Rollback via refetch can cause rollback to happen successfully w/o updating the rollback id.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-45178&quot;&gt;&lt;del&gt;SERVER-45178&lt;/del&gt;&lt;/a&gt;&#160;will take care of removing &lt;a href=&quot;https://github.com/mongodb/mongo/blob/02ce213b40c56096c9c57e093778b0889c335bb9/jstests/replsets/libs/rollback_test.js#L279-L295&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this else code block&lt;/a&gt;&#160;(i.e., skipping RBID check for majority read concern is off).&lt;/p&gt;</comment>
                            <comment id="2702973" author="suganthi.mani" created="Fri, 3 Jan 2020 18:57:49 +0000"  >&lt;p&gt;FYI, Original &lt;a href=&quot;https://github.com/mongodb/mongo/blob/90dce5237d04d177397b43d6342a5820172dfabb/jstests/replsets/libs/rollback_test.js#L235-L238&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;stale comment&lt;/a&gt; has been removed by &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-37390&quot; title=&quot;RollbackTestFixture doesn&amp;#39;t need to wait for a new primary if it didn&amp;#39;t shut down the current primary&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-37390&quot;&gt;&lt;del&gt;SERVER-37390&lt;/del&gt;&lt;/a&gt;. After, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-37390&quot; title=&quot;RollbackTestFixture doesn&amp;#39;t need to wait for a new primary if it didn&amp;#39;t shut down the current primary&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-37390&quot;&gt;&lt;del&gt;SERVER-37390&lt;/del&gt;&lt;/a&gt;, w/ &amp;amp; w/o node restarts, we always expect the node to go to rollback state. But, skipping the lastRBID check will be based on whether the node has enabled majority read concern or not. After fixing, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-45178&quot; title=&quot;Rollback via refetch can cause rollback to happen successfully w/o updating the rollback id.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-45178&quot;&gt;&lt;del&gt;SERVER-45178&lt;/del&gt;&lt;/a&gt;,  we can remove &lt;a href=&quot;https://github.com/mongodb/mongo/blob/02ce213b40c56096c9c57e093778b0889c335bb9/jstests/replsets/libs/rollback_test.js#L279-L295&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;if-else code block&lt;/a&gt; and check the lastRBID always.&lt;/p&gt;</comment>
                            <comment id="2490233" author="schwerin" created="Fri, 18 Oct 2019 17:33:29 +0000"  >&lt;p&gt;Only depends on closed tickets. Unblocking.&lt;/p&gt;</comment>
                            <comment id="2362995" author="judah.schvimer" created="Thu, 8 Aug 2019 15:23:38 +0000"  >&lt;p&gt;Hmm, that actually seems like a real bug since it means we can roll back without letting other nodes know. I&apos;m not sure if this could cause problems before since it requires restart, but it almost certainly could with resumable initial sync where the sync source is allowed to restart, and the initial syncing node must find out if the sync source rolls back (by checking the RBID). We need to increment the rollback id before truncating the oplog.&lt;/p&gt;</comment>
                            <comment id="2362265" author="suganthi.mani" created="Thu, 8 Aug 2019 03:33:17 +0000"  >&lt;p&gt;I am thinking of below case for enableMajorityReadConcern= false which uses RVR.&#160;&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;1) syncFixup() //&#160;&lt;b&gt;Truncates&#160;the oplog.&lt;/b&gt;&lt;/tt&gt;&lt;br/&gt;
&#160;&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; ---&amp;gt;&lt;font color=&quot;#de350b&quot;&gt;&#160;***&lt;b&gt;Unclean shutdown happens here&lt;/b&gt;***&lt;/font&gt;&lt;/tt&gt;&lt;br/&gt;
 &lt;tt&gt;2) incrementRollbackID() //&#160;&lt;b&gt;Persists&lt;/b&gt;&#160;&lt;b&gt;the&lt;/b&gt; &lt;b&gt;updated&lt;/b&gt;&#160;&lt;b&gt;Rollback ID.&lt;/b&gt;&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;When the node restarts, there is a chance we may not go into &lt;b&gt;ROLLBACK&lt;/b&gt; state. And, if we plan to check for rollback id&#160;in&#160;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/fbe6b6601738a38a38f3387fb336a1e1284f6b88/jstests/replsets/libs/rollback_test.js#L206&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;transitionToSteadyStateOperations&lt;/a&gt;() for all cases, then it might be a problem.&lt;/p&gt;</comment>
                            <comment id="2361891" author="judah.schvimer" created="Wed, 7 Aug 2019 20:00:31 +0000"  >&lt;p&gt;I would rather not change the behavior to enable this test, which is not critical. I agree that we could do it before syncFixUp() though. I don&apos;t follow how rollback via refetch (RVR) would lose the rollback id (RBID). The RBID is still persisted for RVR and we&apos;re still guaranteeing the node has to go through rollback for the test fixture to make progress. Can you please clarify?&lt;/p&gt;</comment>
                            <comment id="2360505" author="suganthi.mani" created="Tue, 6 Aug 2019 22:30:54 +0000"  >&lt;p&gt;quick note, for RTT (enableMajorityReadConcern = true), rollbackID info is &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a2fa801a0c324d9ecfc656efe64adbaf186ca07b/src/mongo/db/repl/storage_interface_impl.cpp#L180&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;persisted in local.system.rolback.id&lt;/a&gt; collection &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a2fa801a0c324d9ecfc656efe64adbaf186ca07b/src/mongo/db/repl/rollback_impl.cpp#L229-L237&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;before&lt;/a&gt; the start of the real rollback process. So, any restarts on rollbacked node refresh the rollback id info from local.system.rolback.id collection at &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a2fa801a0c324d9ecfc656efe64adbaf186ca07b/src/mongo/db/repl/replication_coordinator_impl.cpp#L485&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;startup&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For rollbackViaRefetch, the incremented rollback id is &lt;a href=&quot;https://github.com/mongodb/mongo/blob/a2fa801a0c324d9ecfc656efe64adbaf186ca07b/src/mongo/db/repl/rs_rollback.cpp#L981-L985&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;persisted only after the real rollback step&lt;/a&gt;. So, if there is an unclean shutdown happens before persisting the rollback id, the node might lose the latest rollback id info. So, this ticket might be a problem for enableMajorityReadConcern= false.&lt;/p&gt;

&lt;p&gt;For rollbackViaRefetch, I am not seeing any good reason for wrapping the incrementRollbackID() call in ON_BLOCK_EXIT. To make the behavior consistent with RTT, we should call incrementRollbackID() before syncFixUp(). &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=judah.schvimer&quot; class=&quot;user-hover&quot; rel=&quot;judah.schvimer&quot;&gt;judah.schvimer&lt;/a&gt;, any thoughts.&lt;/p&gt;</comment>
                            <comment id="2360280" author="suganthi.mani" created="Tue, 6 Aug 2019 19:57:30 +0000"  >&lt;p&gt;This ticket should go in after &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42602&quot; title=&quot;Guarantee that unconditional step down will not happen due to slow node restarts in  rollback_fuzzer_[un]clean_shutdowns suites.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42602&quot;&gt;&lt;del&gt;SERVER-42602&lt;/del&gt;&lt;/a&gt;. Else, the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/fbe6b6601738a38a38f3387fb336a1e1284f6b88/jstests/replsets/libs/rollback_test.js#L215&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;curSecondary&lt;/a&gt; may point to the node that is not rolled back (i.e. node P1). As a result, &lt;a href=&quot;https://github.com/mongodb/mongo/blob/fbe6b6601738a38a38f3387fb336a1e1284f6b88/jstests/replsets/libs/rollback_test.js#L213L226&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this condition&lt;/a&gt;&#160;may fail.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="882812">SERVER-42602</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1056535">SERVER-45178</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="611661">SERVER-37390</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1005276">SERVER-44679</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 7 Aug 2019 20:00:31 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 5 weeks, 2 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-42602'>SERVER-42602</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-45178'>SERVER-45178</a></s>]]></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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 5 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>schwerin@mongodb.com</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>suganthi.mani@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hvj6uf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hv84f3:</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_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|hvit3r:</customfieldvalue>

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