<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:34:39 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-33812] First initial sync oplog read batch fetched may be empty; do not treat as an error.</title>
                <link>https://jira.mongodb.org/browse/SERVER-33812</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Currently we depend on an initial sync not receiving an initial batch that is empty. However, this is a possibility, depending on timing in the &lt;tt&gt;_oplogJournalThreadLoop&lt;/tt&gt;. The fix for &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31679&quot; title=&quot;Increase in disk i/o for writes to replica set&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31679&quot;&gt;&lt;del&gt;SERVER-31679&lt;/del&gt;&lt;/a&gt; exacerbates this issue, blocking its backport to 3.6. So, currently this issue is blocking the backport of that ticket.&lt;/p&gt;</description>
                <environment></environment>
        <key id="509689">SERVER-33812</key>
            <summary>First initial sync oplog read batch fetched may be empty; do not treat as an error.</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.mongodb.org/images/icons/priorities/critical.svg">Critical - P2</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="benety.goh@mongodb.com">Benety Goh</assignee>
                                    <reporter username="geert.bosch@mongodb.com">Geert Bosch</reporter>
                        <labels>
                    </labels>
                <created>Mon, 12 Mar 2018 13:58:38 +0000</created>
                <updated>Sun, 29 Oct 2023 22:33:53 +0000</updated>
                            <resolved>Wed, 18 Apr 2018 13:05:46 +0000</resolved>
                                                    <fixVersion>3.6.6</fixVersion>
                    <fixVersion>3.7.6</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="2379272" author="siyuan.zhou@10gen.com" created="Tue, 20 Aug 2019 16:56:00 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42910&quot; title=&quot;Oplog query with higher timestamp but lower term than the sync source shouldn&amp;#39;t time out due to afterClusterTime&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42910&quot;&gt;&lt;del&gt;SERVER-42910&lt;/del&gt;&lt;/a&gt; is filed for the fix for the aforementioned read concern issue.&lt;/p&gt;</comment>
                            <comment id="2376346" author="siyuan.zhou@10gen.com" created="Mon, 19 Aug 2019 00:11:28 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=milkie&quot; class=&quot;user-hover&quot; rel=&quot;milkie&quot;&gt;milkie&lt;/a&gt;, when working on &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42219&quot; title=&quot;Oplog buffer not always empty when primary exits drain mode&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42219&quot;&gt;&lt;del&gt;SERVER-42219&lt;/del&gt;&lt;/a&gt;, I happened to make transition to primary faster, then I observed some test failures when a node that should roll back actually has higher timestamp than the sync source, e.g. the old primary has (ts: 9, term: 1), while the new primary has (ts: 8, term: 2). In this case, an empty batch is desired. However, the query failed with MaxTimeMSExpired. MaxTimeMS is added in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-35200&quot; title=&quot;Speed up failure detection in the OplogFetcher during steady state replication&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-35200&quot;&gt;&lt;del&gt;SERVER-35200&lt;/del&gt;&lt;/a&gt;, but I don&apos;t think that&apos;s the root cause. My theory is the query times out while waiting for afterClusterTime. In production, it&apos;s very likely the old primary will roll back when new writes arrive with even higher timestamp, maybe by the periodical no-op writer. However, it is still a liveness issue.&lt;/p&gt;

&lt;p&gt;Some ideas to fix this:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Revert the behavioral change in this ticket outside initial sync. Unnecessary rollback is possible then and may cause unnecessary build failures.&lt;/li&gt;
	&lt;li&gt;Check the top of oplog before waiting for read concern for oplog query.&lt;/li&gt;
	&lt;li&gt;Change the query to include the term either in the predicate or the metadata and detect this scenario explicitly.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;None of them sounds satisfying to me. Ideally, the sync source only waits for all oplog slots to be filled rather than waiting for &lt;tt&gt;afterClusterTime&lt;/tt&gt;. In terms of rollback, the failures of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-42219&quot; title=&quot;Oplog buffer not always empty when primary exits drain mode&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-42219&quot;&gt;&lt;del&gt;SERVER-42219&lt;/del&gt;&lt;/a&gt; are only observed on 4.2+, so I don&apos;t expect to backport further than that. CC &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; and &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=william.schultz&quot; class=&quot;user-hover&quot; rel=&quot;william.schultz&quot;&gt;william.schultz&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Additionally, it would be nice if the syncing node sends both the timestamp and the term to the sync source so choosing sync source can be simpler and checking for rollbackId is no longer needed. This proposal is out of scope but may affect the trade-off of the solutions.&lt;/p&gt;</comment>
                            <comment id="1898178" author="xgen-internal-githook" created="Tue, 22 May 2018 14:18:28 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;benety&apos;, &apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33812&quot; title=&quot;First initial sync oplog read batch fetched may be empty; do not treat as an error.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33812&quot;&gt;&lt;del&gt;SERVER-33812&lt;/del&gt;&lt;/a&gt; OplogFetcher always uses an afterOpTime read concern&lt;/p&gt;

&lt;p&gt;This avoids issues with the oplog query being rejected in mixed version&lt;br/&gt;
clusters when the sync source is not fully upgraded to 3.6.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 46e2583c36856e0d377fcb35f2208a0ac516f031)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/d0b69c0fbc2fd3cbc732301307078d716468ac75&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/d0b69c0fbc2fd3cbc732301307078d716468ac75&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1880854" author="xgen-internal-githook" created="Wed, 2 May 2018 19:10:24 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;name&apos;: &apos;Benety Goh&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33812&quot; title=&quot;First initial sync oplog read batch fetched may be empty; do not treat as an error.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33812&quot;&gt;&lt;del&gt;SERVER-33812&lt;/del&gt;&lt;/a&gt; always add afterClusterTime to oplog tailing query&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 5e10e0f84bfc225686547b732fec0d5fb104a6f8.&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/7ce10aea42bc2adb8376955c1b47499f77899c1c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/7ce10aea42bc2adb8376955c1b47499f77899c1c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1873046" author="xgen-internal-githook" created="Tue, 24 Apr 2018 18:46:54 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;, &apos;name&apos;: &apos;Benety Goh&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33812&quot; title=&quot;First initial sync oplog read batch fetched may be empty; do not treat as an error.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33812&quot;&gt;&lt;del&gt;SERVER-33812&lt;/del&gt;&lt;/a&gt; always add afterClusterTime to oplog tailing query&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 46e2583c36856e0d377fcb35f2208a0ac516f031)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5e10e0f84bfc225686547b732fec0d5fb104a6f8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5e10e0f84bfc225686547b732fec0d5fb104a6f8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1873028" author="xgen-internal-githook" created="Tue, 24 Apr 2018 18:32:45 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;, &apos;name&apos;: &apos;Benety Goh&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33812&quot; title=&quot;First initial sync oplog read batch fetched may be empty; do not treat as an error.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33812&quot;&gt;&lt;del&gt;SERVER-33812&lt;/del&gt;&lt;/a&gt; remove rollback_too_new.js&lt;/p&gt;

&lt;p&gt;roll_back_local_operations_test provides coverage for this error condition.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 91fc5673cab5d1267fd805f1375577df9072ea1b)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/cc4e45a4ef3a7a4fbc329050b369adacd76af7d7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/cc4e45a4ef3a7a4fbc329050b369adacd76af7d7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1867496" author="xgen-internal-githook" created="Wed, 18 Apr 2018 13:03:48 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;, &apos;name&apos;: &apos;Benety Goh&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33812&quot; title=&quot;First initial sync oplog read batch fetched may be empty; do not treat as an error.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33812&quot;&gt;&lt;del&gt;SERVER-33812&lt;/del&gt;&lt;/a&gt; always add afterClusterTime to oplog tailing query&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/46e2583c36856e0d377fcb35f2208a0ac516f031&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/46e2583c36856e0d377fcb35f2208a0ac516f031&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1866877" author="benety.goh" created="Tue, 17 Apr 2018 20:02:19 +0000"  >&lt;p&gt;Instead of handling the case for an empty initial batch returned by the query, we will address the issue by always providing a read concern with the afterClusterTime. We can safely remove the term comparison because &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-30977&quot; title=&quot;Need to sign cluster times for unsharded replica sets&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-30977&quot;&gt;&lt;del&gt;SERVER-30977&lt;/del&gt;&lt;/a&gt; is completed.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/91fc5673cab5d1267fd805f1375577df9072ea1b/src/mongo/db/repl/oplog_fetcher.cpp#L370&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/91fc5673cab5d1267fd805f1375577df9072ea1b/src/mongo/db/repl/oplog_fetcher.cpp#L370&lt;/a&gt;&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;thead&gt;
			&lt;tr id=&quot;syntaxplugin_title&quot;&gt;
			&lt;td bgcolor=&quot;#f5f5f5&quot; style=&quot;font-family: Arial,sans-serif; color: #333; border-bottom: 1px solid #bbb; background-color: #f5f5f5 !important; font-weight: bold; line-height: 1em;&quot;  colspan=&quot;2&quot;&gt;
				&lt;p style=&quot;margin: 5px 10px; padding: 0;&quot;&gt;oplog_fetcher.cpp&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/thead&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  bgcolor=&quot;#6ce26c&quot;  style=&quot; background-color: #6ce26c !important;  line-height: 1.4em !important; border-right: 1px solid #bbb; text-align: right; width: 2em; margin: 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: white;  font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;370&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
						&lt;td  bgcolor=&quot;#e0e0e0&quot;  style=&quot; background-color: #e0e0e0 !important; 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;span style=&quot;color: #008200; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;// TODO(SERVER-30977): Remove the term comparison when this ticket is fixed.&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  bgcolor=&quot;#f5f5f5&quot;  style=&quot; background-color: #f5f5f5 !important;  line-height: 1.4em !important; border-right: 1px solid #bbb; text-align: right; width: 2em; margin: 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: #707070;  font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;371&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&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;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;if&lt;/span&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; (term == lastOpTimeFetched.getTerm()) {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  bgcolor=&quot;#f5f5f5&quot;  style=&quot; background-color: #f5f5f5 !important;  line-height: 1.4em !important; border-right: 1px solid #bbb; text-align: right; width: 2em; margin: 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: #707070;  font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;372&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&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;        cmdBob.append(&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;readConcern&quot;&lt;/span&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;, BSON(&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;afterClusterTime&quot;&lt;/span&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; &amp;lt;&amp;lt; lastOpTimeFetched.getTimestamp()));&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  bgcolor=&quot;#f5f5f5&quot;  style=&quot; background-color: #f5f5f5 !important;  line-height: 1.4em !important; border-right: 1px solid #bbb; text-align: right; width: 2em; margin: 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: #707070;  font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;373&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&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  bgcolor=&quot;#f5f5f5&quot;  style=&quot; background-color: #f5f5f5 !important;  line-height: 1.4em !important; border-right: 1px solid #bbb; text-align: right; width: 2em; margin: 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: #707070;  font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;374&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&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  bgcolor=&quot;#f5f5f5&quot;  style=&quot; background-color: #f5f5f5 !important;  line-height: 1.4em !important; border-right: 1px solid #bbb; text-align: right; width: 2em; margin: 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: #707070;  font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;375&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&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;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;return&lt;/span&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; cmdBob.obj();&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  bgcolor=&quot;#f5f5f5&quot;  style=&quot; background-color: #f5f5f5 !important;  line-height: 1.4em !important; border-right: 1px solid #bbb; text-align: right; width: 2em; margin: 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: #707070;  font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;376&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&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;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                            <comment id="1866736" author="xgen-internal-githook" created="Tue, 17 Apr 2018 18:37:59 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33812&quot; title=&quot;First initial sync oplog read batch fetched may be empty; do not treat as an error.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33812&quot;&gt;&lt;del&gt;SERVER-33812&lt;/del&gt;&lt;/a&gt; remove rollback_too_new.js&lt;/p&gt;

&lt;p&gt;roll_back_local_operations_test provides coverage for this error condition.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/91fc5673cab5d1267fd805f1375577df9072ea1b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/91fc5673cab5d1267fd805f1375577df9072ea1b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1864165" author="xgen-internal-githook" created="Fri, 13 Apr 2018 20:24:32 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;name&apos;: &apos;Benety Goh&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33812&quot; title=&quot;First initial sync oplog read batch fetched may be empty; do not treat as an error.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33812&quot;&gt;&lt;del&gt;SERVER-33812&lt;/del&gt;&lt;/a&gt; provide non-empty first batch to OplogFetcher test case&lt;/p&gt;

&lt;p&gt;This test checks the metadata handling in the query results and should&lt;br/&gt;
not be affected whether the first batch is empty.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/35c2a58bda1b90fbc25a3204290ca23c1dc7e00b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/35c2a58bda1b90fbc25a3204290ca23c1dc7e00b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1832985" author="daniel.gottlieb@10gen.com" created="Tue, 13 Mar 2018 23:35:25 +0000"  >&lt;p&gt;Is this only being observed when a node is querying the oplog of an active secondary?&lt;/p&gt;

&lt;p&gt;I&apos;m only guessing here, but is it possible that a node doing a GTE query in steady-state chose a server based on that servers reported last applied (or some other replication gossiped value), but when performing a query, the first batch returned is empty because visibility hasn&apos;t caught up?&lt;/p&gt;

&lt;p&gt;If so, I&apos;m optimistic that &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33846&quot; title=&quot;Alternative for setting oplog read timestamp on secondaries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33846&quot;&gt;&lt;del&gt;SERVER-33846&lt;/del&gt;&lt;/a&gt; will clean this up. If this is happening when issuing queries against the primary, I&apos;m less certain how we can be getting into this situation. Perhaps when a node steps up to primary it needs to forcibly refresh its oplog visibility.&lt;/p&gt;</comment>
                            <comment id="1832969" author="milkie" created="Tue, 13 Mar 2018 23:15:09 +0000"  >&lt;p&gt;You&#8217;re correct. I misspoke earlier. The first batch is entirely dependent on the query, regardless of awaitdata or tailable. &lt;/p&gt;</comment>
                            <comment id="1832814" author="spencer" created="Tue, 13 Mar 2018 21:29:16 +0000"  >&lt;p&gt;I think I understand why relying on the batch not being empty is problematic in initial sync, because as you say we decide what optime to start our query from by doing a reverse scan which doesn&apos;t respect oplog visibility.&lt;/p&gt;

&lt;p&gt;For steady state, however, your assertion that any tailable awaitData query can return an empty batch doesn&apos;t seem right/safe.  In steady state, getting an empty first batch of a new oplog tailing GTE query is used to indicate a need to rollback, as the optime queried for in the GTE is the last one we got on our previous batch, and thus must be visible.  If we got an empty batch in this case when there were actual oplog documents that matched our query, that would be wrong and would trigger unnecessary rollbacks.&lt;/p&gt;</comment>
                            <comment id="1832548" author="milkie" created="Tue, 13 Mar 2018 18:47:42 +0000"  >&lt;p&gt;Note that replication is formulating the tailable/awaitdata initial sync &quot;find&quot; query by specifying an oplog entry that is not yet visible, because it discovered this entry by doing a reverse-cursor find on the oplog.  Reverse collection scans ($natural: -1) are not subject to oplog visibility rules.   Therefore, the awaitdata query cannot be expected to always return data within the specified awaitdata timeout.&lt;/p&gt;</comment>
                            <comment id="1832544" author="milkie" created="Tue, 13 Mar 2018 18:45:17 +0000"  >&lt;p&gt;The semantics of the AwaitData query parameter combined with query parameter Tailable are that any batch can return empty, including the first one.&lt;/p&gt;</comment>
                            <comment id="1832513" author="spencer" created="Tue, 13 Mar 2018 18:22:01 +0000"  >&lt;p&gt;It seems like erroring if the oplog batch is empty is correct behavior.  The question in my mind is why is the query getting an empty batch in the first place.  &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=geert.bosch&quot; class=&quot;user-hover&quot; rel=&quot;geert.bosch&quot;&gt;geert.bosch&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>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="449479">SERVER-31679</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="422951">SERVER-30927</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="424335">SERVER-30977</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="425582">SERVER-31007</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="537162">SERVER-34768</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="550027">SERVER-35256</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="900630">SERVER-42910</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="383656">SERVER-29213</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>16.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15141"><![CDATA[v3.6]]></customfieldvalue>
    <customfieldvalue key="14340"><![CDATA[v3.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>Tue, 13 Mar 2018 18:22:01 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 25 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_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, 25 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>52.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>benety.goh@mongodb.com</customfieldvalue>
            <customfieldvalue>daniel.gottlieb@mongodb.com</customfieldvalue>
            <customfieldvalue>milkie@mongodb.com</customfieldvalue>
            <customfieldvalue>geert.bosch@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>siyuan.zhou@mongodb.com</customfieldvalue>
            <customfieldvalue>spencer@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htsdvj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htgsuf:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="2188">Repl 2018-04-23</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10750" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Steps To Reproduce</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&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;diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_oplog_manager.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_oplog_manager.cpp&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;index f8c6c70196..13330a526e 100644&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/src/mongo/db/storage/wiredtiger/wiredtiger_oplog_manager.cpp&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;+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_oplog_manager.cpp&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;@@ -198,6 +198,7 @@ void WiredTigerOplogManager::_oplogJournalThreadLoop(WiredTigerSessionCache* ses&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;         // Publish the new timestamp value.&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;         _setOplogReadTimestamp(lk, newTimestamp);&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;         lk.unlock();&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;+        sleepmillis(1500);&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;         // Wake up any await_data cursors and tell them more data might be visible now.&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;   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;         oplogRecordStore-&amp;gt;notifyCappedWaitersIfNeeded();&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;Cherry-picking f23bcbfa6d08c24b5570b3b29641f96babfc6a34 onto v3.6 also reproduces the bug with the RHEL-62 enterprise builder (the required one on evergreen), though I haven&apos;t been able to reproduce locally without inserting extra delays.&lt;/p&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_11861" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>User Summary</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11856"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hts02f:</customfieldvalue>

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