<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:13:25 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-47142] Check primary before writing replset config and no-op</title>
                <link>https://jira.mongodb.org/browse/SERVER-47142</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;There are currently two problems. &lt;/p&gt;

&lt;p&gt;1) We do not check if we are still primary before writing down a &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c5eea7753b2fe3082d853ff9400117c85ac42dab/src/mongo/db/repl/replication_coordinator_impl.cpp#L3348&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;new config document&lt;/a&gt; locally. Consider the following scenario:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Node1 receives a reconfig command&lt;/li&gt;
	&lt;li&gt;Node1 begins stepping down because it hears of a new term&lt;/li&gt;
	&lt;li&gt;Node1 starts killing both writes (and some system ops) that hold the global lock in X, IX, or S mode and reads that encounter prepare conflicts. The replSetReconfig command does not fall into either category.&lt;/li&gt;
	&lt;li&gt;Node1 finishes killing ops and steps down, transitioning to secondary&lt;/li&gt;
	&lt;li&gt;Node1 writes down the new config document, which takes the DB lock in X mode but will not be killed since we already finished stepping down&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Node1&apos;s config will continue to get propagated via heartbeats even though it already stepped down. &lt;/p&gt;

&lt;p&gt;2) The replSetReconfig command does a no-op write, but &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c5eea7753b2fe3082d853ff9400117c85ac42dab/src/mongo/db/repl/repl_set_commands.cpp#L425-L435&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;does not check&lt;/a&gt; that the node is still primary before doing so (Similar &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c5eea7753b2fe3082d853ff9400117c85ac42dab/src/mongo/db/read_concern_mongod.cpp#L427-L432&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;example&lt;/a&gt;, readConcern: linearizable)&lt;/p&gt;

&lt;p&gt;We end up calling &lt;tt&gt;onInternalOpMessage&lt;/tt&gt;, which will pass in an empty namespace. Because of this, we don&apos;t actually do the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c5eea7753b2fe3082d853ff9400117c85ac42dab/src/mongo/db/repl/oplog.cpp#L261-L262&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;primary check&lt;/a&gt; in &lt;tt&gt;_logOpsInner&lt;/tt&gt;. This would mean that we can allow the reconfig no-op write to occur on a secondary.&lt;/p&gt;

&lt;p&gt;Since these two things should happen together to avoid any inconsistent states, we should consider refactoring the code so we can do the primary check once.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1293070">SERVER-47142</key>
            <summary>Check primary before writing replset config and no-op</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="siyuan.zhou@mongodb.com">Siyuan Zhou</assignee>
                                    <reporter username="pavithra.vetriselvan@mongodb.com">Pavithra Vetriselvan</reporter>
                        <labels>
                    </labels>
                <created>Thu, 26 Mar 2020 23:46:35 +0000</created>
                <updated>Sun, 29 Oct 2023 22:10:16 +0000</updated>
                            <resolved>Fri, 17 Apr 2020 15:33:44 +0000</resolved>
                                                    <fixVersion>4.4.0-rc3</fixVersion>
                    <fixVersion>4.7.0</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="3085728" author="xgen-internal-githook" created="Thu, 14 May 2020 13:59:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Judah Schvimer&apos;, &apos;email&apos;: &apos;judah@mongodb.com&apos;, &apos;username&apos;: &apos;judahschvimer&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47973&quot; title=&quot;Address TODOs in SERVER-47142&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47973&quot;&gt;&lt;del&gt;SERVER-47973&lt;/del&gt;&lt;/a&gt; Address TODOs in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47142&quot; title=&quot;Check primary before writing replset config and no-op&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47142&quot;&gt;&lt;del&gt;SERVER-47142&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5f5f2e90089c9f95e2cf06394609778a00cc12a8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5f5f2e90089c9f95e2cf06394609778a00cc12a8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3053772" author="xgen-internal-githook" created="Fri, 24 Apr 2020 02:02:10 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Siyuan Zhou&apos;, &apos;email&apos;: &apos;siyuan.zhou@mongodb.com&apos;, &apos;username&apos;: &apos;visualzhou&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47142&quot; title=&quot;Check primary before writing replset config and no-op&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47142&quot;&gt;&lt;del&gt;SERVER-47142&lt;/del&gt;&lt;/a&gt; Don&apos;t allow non-force reconfig command in drain mode.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 31a60aab7a3d6b93407e0447b056c33f31a15991)&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/bdac8f4eda8af0e602f739407b5d05ef43331778&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/bdac8f4eda8af0e602f739407b5d05ef43331778&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3053771" author="xgen-internal-githook" created="Fri, 24 Apr 2020 02:02:07 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Siyuan Zhou&apos;, &apos;email&apos;: &apos;siyuan.zhou@mongodb.com&apos;, &apos;username&apos;: &apos;visualzhou&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47142&quot; title=&quot;Check primary before writing replset config and no-op&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47142&quot;&gt;&lt;del&gt;SERVER-47142&lt;/del&gt;&lt;/a&gt; Check primary before writing config and no-op.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 544cbb209709ebee4f17f2d669b1909bf66be6bb)&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/cf6abf2091c36130c3b6feef6af45fee2761a922&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/cf6abf2091c36130c3b6feef6af45fee2761a922&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3044753" author="xgen-internal-githook" created="Fri, 17 Apr 2020 15:32:28 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Siyuan Zhou&apos;, &apos;email&apos;: &apos;siyuan.zhou@mongodb.com&apos;, &apos;username&apos;: &apos;visualzhou&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47142&quot; title=&quot;Check primary before writing replset config and no-op&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47142&quot;&gt;&lt;del&gt;SERVER-47142&lt;/del&gt;&lt;/a&gt; Don&apos;t allow non-force reconfig command in drain mode.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/31a60aab7a3d6b93407e0447b056c33f31a15991&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/31a60aab7a3d6b93407e0447b056c33f31a15991&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3044752" author="xgen-internal-githook" created="Fri, 17 Apr 2020 15:32:18 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Siyuan Zhou&apos;, &apos;email&apos;: &apos;siyuan.zhou@mongodb.com&apos;, &apos;username&apos;: &apos;visualzhou&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47142&quot; title=&quot;Check primary before writing replset config and no-op&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47142&quot;&gt;&lt;del&gt;SERVER-47142&lt;/del&gt;&lt;/a&gt; Check primary before writing config and no-op.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/544cbb209709ebee4f17f2d669b1909bf66be6bb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/544cbb209709ebee4f17f2d669b1909bf66be6bb&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3044750" author="xgen-internal-githook" created="Fri, 17 Apr 2020 15:32:08 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Siyuan Zhou&apos;, &apos;email&apos;: &apos;siyuan.zhou@mongodb.com&apos;, &apos;username&apos;: &apos;visualzhou&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47142&quot; title=&quot;Check primary before writing replset config and no-op&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47142&quot;&gt;&lt;del&gt;SERVER-47142&lt;/del&gt;&lt;/a&gt; Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-45094&quot; title=&quot;Add passthrough tests for safe reconfig&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-45094&quot;&gt;&lt;del&gt;SERVER-45094&lt;/del&gt;&lt;/a&gt; check if node is primary before doing reconfig noop write&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 0e7b476357a12802f1be1ca5c8a4b1a919000ef8.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/0f8cb172af4f5b5df89e96097398319c811657b6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/0f8cb172af4f5b5df89e96097398319c811657b6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3033934" author="siyuan.zhou@10gen.com" created="Thu, 9 Apr 2020 19:28:51 +0000"  >&lt;p&gt;&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; pointed out:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;From a quick test, it seems we still may need to address a related issue with&lt;br/&gt;
&apos;awaitConfigCommitment&apos; being called during drain mode, which should be possible&lt;br/&gt;
since we now call &apos;awaitConfigCommitment&apos; at the beginning of the reconfig&lt;br/&gt;
command. If the node is in drain mode, I believe we will encounter this error&lt;br/&gt;
condition:&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/blob/f44ca2e82c0a3aa4e834565e057bed60c588ba5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/f44ca2e82c0a3aa4e834565e057bed60c588ba5&lt;/a&gt;....&lt;br/&gt;
It&apos;s not an invariant failure but it will return a confusing error message i.e.&lt;/p&gt;

&lt;p&gt;2020-04-09T18:40:57.080Z E  TEST     &lt;span class=&quot;error&quot;&gt;&amp;#91;main&amp;#93;&lt;/span&gt; Throwing&lt;br/&gt;
exception{&quot;exception&quot;:&quot;Expected ::mongo::Status::OK() == (status) (OK  ==&lt;br/&gt;
PrimarySteppedDown Last committed optime in the previous config (&lt;/p&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unknown macro: { ts}&lt;/span&gt; &lt;/div&gt;
&lt;p&gt;) has not yet become committed in the current config with &lt;/p&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unknown macro: {version}&lt;/span&gt; &lt;/div&gt;
&lt;p&gt;:: caused by :: Term changed from 2147483647 to 1 while waiting for replication,&lt;br/&gt;
indicating that this node must have stepped down.) @src/mongo/db/repl/replic&lt;br/&gt;
ation_coordinator_impl_reconfig_test.cpp:1008&quot;}&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I&apos;ll address it in this ticket as well.&lt;/p&gt;</comment>
                            <comment id="3005511" author="siyuan.zhou@10gen.com" created="Sat, 28 Mar 2020 02:45:34 +0000"  >&lt;blockquote&gt;&lt;p&gt;The solution for&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-46516&quot; title=&quot;Majority write concern is blocked by dropping snapshot on reconfig&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-46516&quot;&gt;&lt;del&gt;SERVER-46516&lt;/del&gt;&lt;/a&gt;&#160;was going to be to move the noop write into&#160;&lt;tt&gt;doReplSetReconfig&lt;/tt&gt;. Should I close that ticket in favor of this one, if we are going to refactor the noop write?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=tess.avitabile&quot; class=&quot;user-hover&quot; rel=&quot;tess.avitabile&quot;&gt;tess.avitabile&lt;/a&gt;, as we discussed today, we may not need to do anything in&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-46516&quot; title=&quot;Majority write concern is blocked by dropping snapshot on reconfig&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-46516&quot;&gt;&lt;del&gt;SERVER-46516&lt;/del&gt;&lt;/a&gt;&#160;or&#160;we could repurpose it for not dropping snapshots except for change of &lt;tt&gt;writeConcernMajorityJournalDefault&lt;/tt&gt;. I think it&apos;s fine to have this ticket to cover moving the noop write.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;I assumed that we would be backporting both fixes since writing down the config document without doing a primary check also existed before safe reconfig.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Good point. I agree the fixes for both config write and no-op write are beginning-of-time bugs, but the race between reconfig and stepdown is extremely rare in earlier versions, so I&apos;d prefer to keep them as-is and only backport to 4.4. If we have to backport to earlier versions, I&apos;d prefer to add separate checks rather than moving the noop write since that changes the order of installing the config in memory and the no-op write.&lt;/p&gt;

&lt;p&gt;I&apos;m happy to take this ticket, but I&apos;d like to discuss it on Monday so I assigned it to backlog.&lt;/p&gt;</comment>
                            <comment id="3004209" author="pavithra.vetriselvan" created="Fri, 27 Mar 2020 14:36:46 +0000"  >&lt;p&gt;Yes, I think we can close &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-46516&quot; title=&quot;Majority write concern is blocked by dropping snapshot on reconfig&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-46516&quot;&gt;&lt;del&gt;SERVER-46516&lt;/del&gt;&lt;/a&gt; since this ticket should involve moving the noop write. &lt;/p&gt;

&lt;p&gt;I assumed that we would be backporting both fixes since writing down the config document without doing a primary check also existed before safe reconfig. Although, I think the OplogOutOfOrder was caused by the noop entry being written on a secondary, so that seems like a more urgent fix. &lt;/p&gt;

&lt;p&gt;I am fine filing a separate ticket for the noop primary check so that it can be backported sooner. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=siyuan.zhou&quot; class=&quot;user-hover&quot; rel=&quot;siyuan.zhou&quot;&gt;siyuan.zhou&lt;/a&gt; Does that sound reasonable?&lt;/p&gt;</comment>
                            <comment id="3003964" author="tess.avitabile" created="Fri, 27 Mar 2020 12:40:30 +0000"  >&lt;p&gt;Not checking for primary before doing the noop write is a beginning-of-time bug, so we will need to backport the fix. That may need to be under a separate ticket if safe reconfig on master requires its own solution.&lt;/p&gt;

&lt;p&gt;The solution for &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-46516&quot; title=&quot;Majority write concern is blocked by dropping snapshot on reconfig&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-46516&quot;&gt;&lt;del&gt;SERVER-46516&lt;/del&gt;&lt;/a&gt; was going to be to move the noop write into &lt;tt&gt;doReplSetReconfig&lt;/tt&gt;. Should I close that ticket in favor of this one, if we are going to refactor the noop write?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="1298176">SERVER-47205</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="1210361">SERVER-46516</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1297176">SERVER-47184</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1306166">SERVER-47369</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1341777">SERVER-47973</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1298181">SERVER-47206</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1210361">SERVER-46516</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1319696">SERVER-47636</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1298176">SERVER-47205</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>10.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="18953"><![CDATA[v4.4]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 27 Mar 2020 12:40:30 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 38 weeks, 6 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-47205'>SERVER-47205</a></s>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_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-1209</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, 38 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>42.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>pavithra.vetriselvan@mongodb.com</customfieldvalue>
            <customfieldvalue>siyuan.zhou@mongodb.com</customfieldvalue>
            <customfieldvalue>tess.avitabile@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxbo9b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hwzd1z:</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="3768">Repl 2020-04-06</customfieldvalue>
    <customfieldvalue id="3769">Repl 2020-04-20</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|hxbain:</customfieldvalue>

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