<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:17:36 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-48610] ReplicaSetAwareService callbacks don&apos;t occur in ReplicationCoordinatorImpl tests</title>
                <link>https://jira.mongodb.org/browse/SERVER-48610</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The ReplicaSetAwareService allows interested classes to receive callbacks on certain events related to the replica set state of the node.  These callbacks originate in ReplicationCoordinatorImpl, which call into ReplicationCoordatorExternalStateImpl, which then calls into the relevant function on ReplicaSetAwareServiceRegistry (which then calls the registered ReplicaSetAwareService (RSAS) classes).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48406&quot; title=&quot;Add onBecomeArbiter to ReplicaSetAwareService&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48406&quot;&gt;&lt;del&gt;SERVER-48406&lt;/del&gt;&lt;/a&gt; added onBecomeArbiter() to ReplicaSetAwareService, and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47914&quot; title=&quot;Move clusterTime from LogicalClock to VectorClock&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47914&quot;&gt;&lt;del&gt;SERVER-47914&lt;/del&gt;&lt;/a&gt; finished plumbing through the disabling of the LogicalClock/VectorClock on arbiters.  In doing so, failures were caused in the arbiter-related db_repl_coordinator_test unittests:&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;[main] &quot;Running&quot;,&quot;attr&quot;:{&quot;test&quot;:&quot;TermAndLastCommittedOpTimeUpdatedFromHeartbeatWhenArbiter&quot;,&quot;rep&quot;:1,&quot;reps&quot;:1}&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;[main] &quot;Responding with {doc} (elapsed: {millis})&quot;,&quot;attr&quot;:{&quot;doc&quot;:{&quot;$replData&quot;:{&quot;term&quot;:3,&quot;lastOpCommitted&quot;:{&quot;ts&quot;:{&quot;$timestamp&quot;:{&quot;t&quot;:10,&quot;i&quot;:1}},&quot;t&quot;:3},&quot;lastCommittedWall&quot;:{&quot;$date&quot;:&quot;1970-01-01T00:01:40.000Z&quot;},&quot;lastOpVisible&quot;:{&quot;ts&quot;:{&quot;$timestamp&quot;:{&quot;t&quot;:10,&quot;i&quot;:1}},&quot;t&quot;:3},&quot;configVersion&quot;:2,&quot;configTerm&quot;:-1,&quot;replicaSetId&quot;:{&quot;$oid&quot;:&quot;000000000000000000000000&quot;},&quot;syncSourceIndex&quot;:1,&quot;isPrimary&quot;:true},&quot;ok&quot;:1,&quot;state&quot;:2,&quot;v&quot;:2,&quot;configTerm&quot;:-1,&quot;set&quot;:&quot;mySet&quot;},&quot;millisMillis&quot;:0}&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;[replexec] &quot;Invariant failure&quot;,&quot;attr&quot;:{&quot;expr&quot;:&quot;!VectorClock::get(getServiceContext())-&amp;gt;isEnabled() || _externalState-&amp;gt;getGlobalTimestamp(getServiceContext()) &amp;gt;= opTime.getTimestamp()&quot;,&quot;file&quot;:&quot;src/mongo/db/repl/replication_coordinator_impl.cpp&quot;,&quot;line&quot;:1378}&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;[replexec] &quot;\n\n***aborting after invariant() failure\n\n&quot;&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;[replexec] &quot;{message}&quot;,&quot;attr&quot;:{&quot;message&quot;:&quot;Got signal: 6 (Aborted).\n&quot;}&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;[replexec] &quot;BACKTRACE&quot;,&quot;attr&quot;:{&quot;bt&quot;:{&quot;backtrace&quot;:[{&quot;a&quot;:&quot;7FE20830E7BA&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2F8C7BA&quot;,&quot;s&quot;:&quot;_ZN5mongo18stack_trace_detail12_GLOBAL__N_119printStackTraceImplERKNS1_7OptionsEPNS_14StackTraceSinkE.constprop.592&quot;,&quot;s+&quot;:&quot;1EA&quot;},{&quot;a&quot;:&quot;7FE20830FC69&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2F8DC69&quot;,&quot;s&quot;:&quot;_ZN5mongo15printStackTraceEv&quot;,&quot;s+&quot;:&quot;29&quot;},{&quot;a&quot;:&quot;7FE20830C3E6&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2F8A3E6&quot;,&quot;s&quot;:&quot;_ZN5mongo12_GLOBAL__N_116abruptQuitActionEiP7siginfoPv&quot;,&quot;s+&quot;:&quot;66&quot;},{&quot;a&quot;:&quot;7FE203C1F7E0&quot;,&quot;b&quot;:&quot;7FE203C10000&quot;,&quot;o&quot;:&quot;F7E0&quot;,&quot;s&quot;:&quot;_L_unlock_16&quot;,&quot;s+&quot;:&quot;2D&quot;},{&quot;a&quot;:&quot;7FE2038AE4F5&quot;,&quot;b&quot;:&quot;7FE20387C000&quot;,&quot;o&quot;:&quot;324F5&quot;,&quot;s&quot;:&quot;gsignal&quot;,&quot;s+&quot;:&quot;35&quot;},{&quot;a&quot;:&quot;7FE2038AFCD5&quot;,&quot;b&quot;:&quot;7FE20387C000&quot;,&quot;o&quot;:&quot;33CD5&quot;,&quot;s&quot;:&quot;abort&quot;,&quot;s+&quot;:&quot;175&quot;},{&quot;a&quot;:&quot;7FE20629EDC9&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;F1CDC9&quot;,&quot;s&quot;:&quot;_ZN5mongo15invariantFailedEPKcS1_j&quot;,&quot;s+&quot;:&quot;12C&quot;},{&quot;a&quot;:&quot;7FE20691275D&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;159075D&quot;,&quot;s&quot;:&quot;_ZN5mongo4repl26ReplicationCoordinatorImpl34_setMyLastAppliedOpTimeAndWallTimeENS_8WithLockERKNS0_17OpTimeAndWallTimeEbNS0_22ReplicationCoordinator15DataConsistencyE&quot;,&quot;s+&quot;:&quot;ED&quot;},{&quot;a&quot;:&quot;7FE2069133F3&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;15913F3&quot;,&quot;s&quot;:&quot;_ZN5mongo4repl26ReplicationCoordinatorImpl19_advanceCommitPointENS_8WithLockERKNS0_17OpTimeAndWallTimeEb&quot;,&quot;s+&quot;:&quot;A3&quot;},{&quot;a&quot;:&quot;7FE20693F8C0&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;15BD8C0&quot;,&quot;s&quot;:&quot;_ZN5mongo4repl26ReplicationCoordinatorImpl24_handleHeartbeatResponseERKNS_8executor12TaskExecutor25RemoteCommandCallbackArgsEi&quot;,&quot;s+&quot;:&quot;1CE0&quot;},{&quot;a&quot;:&quot;7FE207E4E46C&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2ACC46C&quot;,&quot;s&quot;:&quot;_ZZN5mongo8executor12TaskExecutor21scheduleRemoteCommandERKNS0_24RemoteCommandRequestImplINS_11HostAndPortEEERKSt8functionIFvRKNS1_25RemoteCommandCallbackArgsEEERKSt10shared_ptrINS_5BatonEEENKUlRKNS1_30RemoteCommandOnAnyCallbackArgsEE_clESM_&quot;,&quot;s+&quot;:&quot;4C&quot;},{&quot;a&quot;:&quot;7FE207CF3376&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2971376&quot;,&quot;s&quot;:&quot;_ZN5mongo8executor12_GLOBAL__N_121remoteCommandFinishedERKNS0_12TaskExecutor12CallbackArgsERKSt8functionIFvRKNS2_30RemoteCommandOnAnyCallbackArgsEEERKNS0_24RemoteCommandRequestImplISt6vectorINS_11HostAndPortESaISG_EEEERKNS0_26RemoteCommandOnAnyResponseE&quot;,&quot;s+&quot;:&quot;56&quot;},{&quot;a&quot;:&quot;7FE207CF7583&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2975583&quot;,&quot;s&quot;:&quot;_ZN5mongo8executor22ThreadPoolTaskExecutor11runCallbackESt10shared_ptrINS1_13CallbackStateEE&quot;,&quot;s+&quot;:&quot;113&quot;},{&quot;a&quot;:&quot;7FE207CF7962&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2975962&quot;,&quot;s&quot;:&quot;_ZZN5mongo15unique_functionIFvNS_6StatusEEE8makeImplIZNS_8executor22ThreadPoolTaskExecutor23scheduleIntoPool_inlockEPNSt7__cxx114listISt10shared_ptrINS6_13CallbackStateEESaISB_EEERKSt14_List_iteratorISB_ESI_St11unique_lockINS_12latch_detail5LatchEEEUlT_E1_EEDaOSN_EN12SpecificImpl4callEOS1_&quot;,&quot;s+&quot;:&quot;A2&quot;},{&quot;a&quot;:&quot;7FE2065ED2AB&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;126B2AB&quot;,&quot;s&quot;:&quot;_ZN5mongo8executor14ThreadPoolMock15_consumeOneTaskERSt11unique_lockINS_12latch_detail5LatchEE&quot;,&quot;s+&quot;:&quot;12B&quot;},{&quot;a&quot;:&quot;7FE2065ED526&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;126B526&quot;,&quot;s&quot;:&quot;_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZN5mongo4stdx6threadC4IZNS3_8executor14ThreadPoolMock7startupEvEUlvE0_JELi0EEET_DpOT0_EUlvE_EEEEE6_M_runEv&quot;,&quot;s+&quot;:&quot;146&quot;},{&quot;a&quot;:&quot;7FE2084D003F&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;314E03F&quot;,&quot;s&quot;:&quot;execute_native_thread_routine&quot;,&quot;s+&quot;:&quot;F&quot;},{&quot;a&quot;:&quot;7FE203C17AA1&quot;,&quot;b&quot;:&quot;7FE203C10000&quot;,&quot;o&quot;:&quot;7AA1&quot;,&quot;s&quot;:&quot;start_thread&quot;,&quot;s+&quot;:&quot;D1&quot;},{&quot;a&quot;:&quot;7FE203964C4D&quot;,&quot;b&quot;:&quot;7FE20387C000&quot;,&quot;o&quot;:&quot;E8C4D&quot;,&quot;s&quot;:&quot;clone&quot;,&quot;s+&quot;:&quot;6D&quot;}],&quot;processInfo&quot;:{&quot;mongodbVersion&quot;:&quot;unknown&quot;,&quot;gitVersion&quot;:&quot;none&quot;,&quot;compiledModules&quot;:[&quot;unknown&quot;],&quot;uname&quot;:{&quot;sysname&quot;:&quot;Linux&quot;,&quot;release&quot;:&quot;2.6.32-220.el6.x86_64&quot;,&quot;version&quot;:&quot;#1 SMP Wed Nov 9 08:03:13 EST 2011&quot;,&quot;machine&quot;:&quot;x86_64&quot;},&quot;somap&quot;:[{&quot;b&quot;:&quot;7FE205382000&quot;,&quot;elfType&quot;:3,&quot;buildId&quot;:&quot;9F0FECD3257C33AAF626952C3078E347E0AEEDEA&quot;}]}}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE20830E7BA&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2F8C7BA&quot;,&quot;s&quot;:&quot;_ZN5mongo18stack_trace_detail12_GLOBAL__N_119printStackTraceImplERKNS1_7OptionsEPNS_14StackTraceSinkE.constprop.592&quot;,&quot;s+&quot;:&quot;1EA&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE20830FC69&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2F8DC69&quot;,&quot;s&quot;:&quot;_ZN5mongo15printStackTraceEv&quot;,&quot;s+&quot;:&quot;29&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE20830C3E6&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2F8A3E6&quot;,&quot;s&quot;:&quot;_ZN5mongo12_GLOBAL__N_116abruptQuitActionEiP7siginfoPv&quot;,&quot;s+&quot;:&quot;66&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE203C1F7E0&quot;,&quot;b&quot;:&quot;7FE203C10000&quot;,&quot;o&quot;:&quot;F7E0&quot;,&quot;s&quot;:&quot;_L_unlock_16&quot;,&quot;s+&quot;:&quot;2D&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE2038AE4F5&quot;,&quot;b&quot;:&quot;7FE20387C000&quot;,&quot;o&quot;:&quot;324F5&quot;,&quot;s&quot;:&quot;gsignal&quot;,&quot;s+&quot;:&quot;35&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE2038AFCD5&quot;,&quot;b&quot;:&quot;7FE20387C000&quot;,&quot;o&quot;:&quot;33CD5&quot;,&quot;s&quot;:&quot;abort&quot;,&quot;s+&quot;:&quot;175&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE20629EDC9&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;F1CDC9&quot;,&quot;s&quot;:&quot;_ZN5mongo15invariantFailedEPKcS1_j&quot;,&quot;s+&quot;:&quot;12C&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE20691275D&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;159075D&quot;,&quot;s&quot;:&quot;_ZN5mongo4repl26ReplicationCoordinatorImpl34_setMyLastAppliedOpTimeAndWallTimeENS_8WithLockERKNS0_17OpTimeAndWallTimeEbNS0_22ReplicationCoordinator15DataConsistencyE&quot;,&quot;s+&quot;:&quot;ED&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE2069133F3&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;15913F3&quot;,&quot;s&quot;:&quot;_ZN5mongo4repl26ReplicationCoordinatorImpl19_advanceCommitPointENS_8WithLockERKNS0_17OpTimeAndWallTimeEb&quot;,&quot;s+&quot;:&quot;A3&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE20693F8C0&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;15BD8C0&quot;,&quot;s&quot;:&quot;_ZN5mongo4repl26ReplicationCoordinatorImpl24_handleHeartbeatResponseERKNS_8executor12TaskExecutor25RemoteCommandCallbackArgsEi&quot;,&quot;s+&quot;:&quot;1CE0&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE207E4E46C&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2ACC46C&quot;,&quot;s&quot;:&quot;_ZZN5mongo8executor12TaskExecutor21scheduleRemoteCommandERKNS0_24RemoteCommandRequestImplINS_11HostAndPortEEERKSt8functionIFvRKNS1_25RemoteCommandCallbackArgsEEERKSt10shared_ptrINS_5BatonEEENKUlRKNS1_30RemoteCommandOnAnyCallbackArgsEE_clESM_&quot;,&quot;s+&quot;:&quot;4C&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE207CF3376&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2971376&quot;,&quot;s&quot;:&quot;_ZN5mongo8executor12_GLOBAL__N_121remoteCommandFinishedERKNS0_12TaskExecutor12CallbackArgsERKSt8functionIFvRKNS2_30RemoteCommandOnAnyCallbackArgsEEERKNS0_24RemoteCommandRequestImplISt6vectorINS_11HostAndPortESaISG_EEEERKNS0_26RemoteCommandOnAnyResponseE&quot;,&quot;s+&quot;:&quot;56&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE207CF7583&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2975583&quot;,&quot;s&quot;:&quot;_ZN5mongo8executor22ThreadPoolTaskExecutor11runCallbackESt10shared_ptrINS1_13CallbackStateEE&quot;,&quot;s+&quot;:&quot;113&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE207CF7962&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;2975962&quot;,&quot;s&quot;:&quot;_ZZN5mongo15unique_functionIFvNS_6StatusEEE8makeImplIZNS_8executor22ThreadPoolTaskExecutor23scheduleIntoPool_inlockEPNSt7__cxx114listISt10shared_ptrINS6_13CallbackStateEESaISB_EEERKSt14_List_iteratorISB_ESI_St11unique_lockINS_12latch_detail5LatchEEEUlT_E1_EEDaOSN_EN12SpecificImpl4callEOS1_&quot;,&quot;s+&quot;:&quot;A2&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE2065ED2AB&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;126B2AB&quot;,&quot;s&quot;:&quot;_ZN5mongo8executor14ThreadPoolMock15_consumeOneTaskERSt11unique_lockINS_12latch_detail5LatchEE&quot;,&quot;s+&quot;:&quot;12B&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE2065ED526&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;126B526&quot;,&quot;s&quot;:&quot;_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZN5mongo4stdx6threadC4IZNS3_8executor14ThreadPoolMock7startupEvEUlvE0_JELi0EEET_DpOT0_EUlvE_EEEEE6_M_runEv&quot;,&quot;s+&quot;:&quot;146&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE2084D003F&quot;,&quot;b&quot;:&quot;7FE205382000&quot;,&quot;o&quot;:&quot;314E03F&quot;,&quot;s&quot;:&quot;execute_native_thread_routine&quot;,&quot;s+&quot;:&quot;F&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE203C17AA1&quot;,&quot;b&quot;:&quot;7FE203C10000&quot;,&quot;o&quot;:&quot;7AA1&quot;,&quot;s&quot;:&quot;start_thread&quot;,&quot;s+&quot;:&quot;D1&quot;}}&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;[replexec] &quot;Frame&quot;,&quot;attr&quot;:{&quot;frame&quot;:{&quot;a&quot;:&quot;7FE203964C4D&quot;,&quot;b&quot;:&quot;7FE20387C000&quot;,&quot;o&quot;:&quot;E8C4D&quot;,&quot;s&quot;:&quot;clone&quot;,&quot;s+&quot;:&quot;6D&quot;}}&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;This was determined to be because those unittests use ReplicationCoordinatorExternalStateMock, which lacks the necessary calls to ReplicaSetAwareServiceRegistry.  This meant that the LogicalClock/VectorClock was not being disabled as it should have been, and the test then later failed on &lt;a href=&quot;https://github.com/mongodb/mongo/blob/7074dee1fbf6763c0d463c377c2e47d8ef2c4f6f/src/mongo/db/repl/replication_coordinator_impl.cpp#L1385-L1388&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this dassert&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As a temporary measure, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47914&quot; title=&quot;Move clusterTime from LogicalClock to VectorClock&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47914&quot;&gt;&lt;del&gt;SERVER-47914&lt;/del&gt;&lt;/a&gt; added &lt;a href=&quot;https://github.com/mongodb/mongo/blob/7074dee1fbf6763c0d463c377c2e47d8ef2c4f6f/src/mongo/db/repl/replication_coordinator_external_state_mock.cpp#L240&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;the call to ReplicaSetAwareServiceRegistry::onBecomeArbiter() inside ReplicationCoordinatorExternalStateMock::onBecomeArbiterHook()&lt;/a&gt;, which fixed this problem.  However, there is a more general problem &amp;#8212; all ReplicaSetAwareService callbacks should still occur even when the ReplicationCoordinator&apos;s external state has been mocked out.&lt;/p&gt;

&lt;p&gt;It turns out that, for the externalState functions that call the RSAS callbacks, each is called from only one place in ReplicationCoordinatorImpl.  So there are two potential ways to properly fix this:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;Make the necessary hook functions in ReplicationCoordinatorExternalStateMock call into ReplicaSetAwareServiceRegistry, the same as ReplicationCoordatorExternalStateImpl does.&lt;/li&gt;
	&lt;li&gt;Remove the calls to ReplicaSetAwareServiceRegistry from ReplicationCoordatorExternalStateImpl/Mock, and put them directly in ReplicationCoordinatorImpl.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;My preference is #2, because there doesn&apos;t seem to be any point in having this abstraction go via externalState, if correctness requires it to be the same in every externalState implementation.  &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;, do you agree?  Or is there some reason to keep it in externalState, or other possibility I&apos;ve missed?&lt;/p&gt;</description>
                <environment></environment>
        <key id="1373407">SERVER-48610</key>
            <summary>ReplicaSetAwareService callbacks don&apos;t occur in ReplicationCoordinatorImpl tests</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="kevin.pulo@mongodb.com">Kevin Pulo</assignee>
                                    <reporter username="kevin.pulo@mongodb.com">Kevin Pulo</reporter>
                        <labels>
                            <label>PM-1645-Milestone-3</label>
                    </labels>
                <created>Fri, 5 Jun 2020 13:09:30 +0000</created>
                <updated>Sun, 29 Oct 2023 22:07:23 +0000</updated>
                            <resolved>Mon, 15 Jun 2020 02:56:13 +0000</resolved>
                                                    <fixVersion>4.7.0</fixVersion>
                                    <component>Replication</component>
                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="3207407" author="xgen-internal-githook" created="Mon, 15 Jun 2020 02:51:04 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kevin Pulo&apos;, &apos;email&apos;: &apos;kevin.pulo@mongodb.com&apos;, &apos;username&apos;: &apos;devkev&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48610&quot; title=&quot;ReplicaSetAwareService callbacks don&amp;#39;t occur in ReplicationCoordinatorImpl tests&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48610&quot;&gt;&lt;del&gt;SERVER-48610&lt;/del&gt;&lt;/a&gt; move ReplicaSetAwareService callbacks into the ReplicationCoordinator (instead of its external state)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/b2f840c9efca29820fb48a89741fa18ace8a33b1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/b2f840c9efca29820fb48a89741fa18ace8a33b1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3194868" author="william.schultz" created="Mon, 8 Jun 2020 14:31:35 +0000"  >&lt;blockquote&gt;&lt;p&gt;My preference is #2, because there doesn&apos;t seem to be any point in having this abstraction go via externalState, if correctness requires it to be the same in every externalState implementation.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kevin.pulo&quot; class=&quot;user-hover&quot; rel=&quot;kevin.pulo&quot;&gt;kevin.pulo&lt;/a&gt; I think this makes sense. I think the concept behind putting things in ReplicationCoordinatorExternalState is to keep an interface barrier between replication code and large parts of the rest of the codebase i.e. storage, sharding, etc. It seems, however, that &lt;tt&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/3caafb39293f862dd766ecf6388cfd78a72d8bc8/src/mongo/db/replica_set_aware_service.h#L105&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;ReplicaSetAwareInterface&lt;/a&gt;&lt;/tt&gt; is already providing this kind of barrier, so I&apos;d agree that it doesn&apos;t seem necessary have an extra layer of indirection via external state. As long as ReplicaSetAwareInterface remains generic, without knowledge of sharding system details, I think making calls to it directly from within ReplicationCoordinator, without going through the external state, is a reasonable design. &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1338468">SERVER-47914</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1362252">SERVER-48406</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.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_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>Mon, 8 Jun 2020 14:31:35 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 34 weeks, 3 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-1645</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>
                            3 years, 34 weeks, 3 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>kevin.pulo@mongodb.com</customfieldvalue>
            <customfieldvalue>william.schultz@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxop3j:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxbu9r:</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="3956">Sharding 2020-06-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|hxobcv:</customfieldvalue>

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