<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:47:57 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-59719] shardsvr{Commit, Abort}ReshardCollection may return unrecoverable error on stepdown, leading to fassert() on config server</title>
                <link>https://jira.mongodb.org/browse/SERVER-59719</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&lt;b&gt;Background&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;It is possible that if a stepdown occurs while the resharding operation is in progress, that the opCtx doing the commit will be killed before the opCtx handling the command does. Which means, for instance,&#160; that the ShardsvrCommitReshardCollectionCommand could reach the final uassert even though the Resharding(Recipient/Donor)Service was not able to finish committing (because it was interrupted).&lt;/p&gt;

&lt;p&gt;&#160;&lt;br/&gt;
The config server primary won&apos;t retry on the error returned by the shard and will lead the config server primary to &lt;a href=&quot;https://github.com/mongodb/mongo/blob/6794fc0653f4c34d0570f0022e576e5f436f03bb/src/mongo/db/s/resharding/resharding_coordinator_service.cpp#L1270-L1272&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;fassert in the ReshardingCoordinatorService&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Problem&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The lock-free reads made it such that reads could happen concurrent to any stepdowns that were in progress.&lt;/li&gt;
	&lt;li&gt;This means that database reads that were reliant on &lt;b&gt;_alwaysInterruptAtStepDownOrUp&lt;/b&gt; to verify that there wasn&apos;t a stepdown in progress such as &lt;a href=&quot;https://github.com/mongodb/mongo/blob/81d666c6c78ef59a66eb3a2c3e9224b65edc4430/src/mongo/db/s/shardsvr_commit_reshard_collection_command.cpp#L109-L124&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;ShardsvrCommitReshardCollectionCommand&lt;/a&gt; no longer work&lt;/li&gt;
	&lt;li&gt;This is because even if is &lt;b&gt;_alwaysInterruptAtStepDownOrUp&lt;/b&gt; is set to true, the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/8671522fd5a59d43cb32ebe78b8c97f5e7a07afa/src/mongo/db/catalog/README.md#replication-state-transition-lock-rstl&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;RSTL lock&lt;/a&gt; won&apos;t be acquired for a database read. Which means that the database read can complete before the opCtx would eventually be interrupted.&lt;/li&gt;
	&lt;li&gt;Before lock-free reads the database read would wait for the in-progress stepdown to complete and hence wouldwait for the opCtx to have been interrupted by the actively running stepdown. We want to replicate this behavior for our fix.&lt;/li&gt;
	&lt;li&gt;The current uassert being returned will not lead to the ReshardingCoordinatorService retrying the commit/abort command until completion. Instead it will lead to a &lt;a href=&quot;https://github.com/mongodb/mongo/blob/6794fc0653f4c34d0570f0022e576e5f436f03bb/src/mongo/db/s/resharding/resharding_coordinator_service.cpp#L1270-L1272&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;fatal assertion&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Proposed Solution&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Do a no-op write using &lt;a href=&quot;https://github.com/mongodb/mongo/blob/6794fc0653f4c34d0570f0022e576e5f436f03bb/src/mongo/db/s/flush_resharding_state_change_command.cpp#L55-L75&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;doNoopWrite&lt;/a&gt; before performing the sanity check to assure that the state document has been deleted. This will make sure that the operation hasn&apos;t been interrupted before asserting that there are no state documents left.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1865473">SERVER-59719</key>
            <summary>shardsvr{Commit, Abort}ReshardCollection may return unrecoverable error on stepdown, leading to fassert() on config server</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="brett.nawrocki@mongodb.com">Brett Nawrocki</assignee>
                                    <reporter username="luis.osta@mongodb.com">Luis Osta</reporter>
                        <labels>
                            <label>LFR-BUG</label>
                    </labels>
                <created>Wed, 1 Sep 2021 16:47:12 +0000</created>
                <updated>Sun, 29 Oct 2023 21:48:59 +0000</updated>
                            <resolved>Wed, 10 Nov 2021 22:22:09 +0000</resolved>
                                    <version>5.0.2</version>
                                    <fixVersion>5.2.0</fixVersion>
                    <fixVersion>5.0.5</fixVersion>
                    <fixVersion>5.1.1</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="4184394" author="xgen-internal-githook" created="Thu, 11 Nov 2021 22:10:34 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Brett Nawrocki&apos;, &apos;email&apos;: &apos;brett.nawrocki@mongodb.com&apos;, &apos;username&apos;: &apos;brettnawrocki&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-59719&quot; title=&quot;shardsvr{Commit, Abort}ReshardCollection may return unrecoverable error on stepdown, leading to fassert() on config server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-59719&quot;&gt;&lt;del&gt;SERVER-59719&lt;/del&gt;&lt;/a&gt; Ensure resharding commit/abort completes before verifying&lt;/p&gt;

&lt;p&gt;ShardsvrCommitReshardCollectionCommand&apos;s commit() call and&lt;br/&gt;
ShardsvrAbortReshardCollectionCommand&apos;s abort() call each perform a&lt;br/&gt;
write which will trigger the state document to be deleted on the donor&lt;br/&gt;
and recipient. To verify this is done, those commands perform a read to&lt;br/&gt;
check if the state documents still exist. Now that the RSTL is not&lt;br/&gt;
acquired during reads, it is not guaranteed that the command&apos;s opCtx&lt;br/&gt;
will be interrupted when performing a read despite calling&lt;br/&gt;
setAlwaysInterruptAtStepDownOrUp(). As a consequence, it is possible for&lt;br/&gt;
the command&apos;s write to have been interrupted due to a step down on the&lt;br/&gt;
donor/recipient, causing the document to still exist during the&lt;br/&gt;
verification read and triggering a uassert. To resolve this issue, the&lt;br/&gt;
commands now do a no-op write before the verification read, ensuring&lt;br/&gt;
that the first write has indeed completed without being interrupted.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit cca75006b85690faa641a15dfc9940d2a2add52d)&lt;br/&gt;
Branch: v5.1&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/b89a97340366b308491344bddd84deca0cb2fa5f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/b89a97340366b308491344bddd84deca0cb2fa5f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4183955" author="xgen-internal-githook" created="Thu, 11 Nov 2021 19:39:50 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Brett Nawrocki&apos;, &apos;email&apos;: &apos;brett.nawrocki@mongodb.com&apos;, &apos;username&apos;: &apos;brettnawrocki&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-59719&quot; title=&quot;shardsvr{Commit, Abort}ReshardCollection may return unrecoverable error on stepdown, leading to fassert() on config server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-59719&quot;&gt;&lt;del&gt;SERVER-59719&lt;/del&gt;&lt;/a&gt; Ensure resharding commit/abort completes before verifying&lt;/p&gt;

&lt;p&gt;ShardsvrCommitReshardCollectionCommand&apos;s commit() call and&lt;br/&gt;
ShardsvrAbortReshardCollectionCommand&apos;s abort() call each perform a&lt;br/&gt;
write which will trigger the state document to be deleted on the donor&lt;br/&gt;
and recipient. To verify this is done, those commands perform a read to&lt;br/&gt;
check if the state documents still exist. Now that the RSTL is not&lt;br/&gt;
acquired during reads, it is not guaranteed that the command&apos;s opCtx&lt;br/&gt;
will be interrupted when performing a read despite calling&lt;br/&gt;
setAlwaysInterruptAtStepDownOrUp(). As a consequence, it is possible for&lt;br/&gt;
the command&apos;s write to have been interrupted due to a step down on the&lt;br/&gt;
donor/recipient, causing the document to still exist during the&lt;br/&gt;
verification read and triggering a uassert. To resolve this issue, the&lt;br/&gt;
commands now do a no-op write before the verification read, ensuring&lt;br/&gt;
that the first write has indeed completed without being interrupted.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit cca75006b85690faa641a15dfc9940d2a2add52d)&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/4f50641a4a1a34cda2cbfdfd0ec6073c1ed7d9db&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/4f50641a4a1a34cda2cbfdfd0ec6073c1ed7d9db&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4181833" author="xgen-internal-githook" created="Wed, 10 Nov 2021 22:17:51 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Brett Nawrocki&apos;, &apos;email&apos;: &apos;brett.nawrocki@mongodb.com&apos;, &apos;username&apos;: &apos;brettnawrocki&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-59719&quot; title=&quot;shardsvr{Commit, Abort}ReshardCollection may return unrecoverable error on stepdown, leading to fassert() on config server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-59719&quot;&gt;&lt;del&gt;SERVER-59719&lt;/del&gt;&lt;/a&gt; Ensure resharding commit/abort completes before verifying&lt;/p&gt;

&lt;p&gt;ShardsvrCommitReshardCollectionCommand&apos;s commit() call and&lt;br/&gt;
ShardsvrAbortReshardCollectionCommand&apos;s abort() call each perform a&lt;br/&gt;
write which will trigger the state document to be deleted on the donor&lt;br/&gt;
and recipient. To verify this is done, those commands perform a read to&lt;br/&gt;
check if the state documents still exist. Now that the RSTL is not&lt;br/&gt;
acquired during reads, it is not guaranteed that the command&apos;s opCtx&lt;br/&gt;
will be interrupted when performing a read despite calling&lt;br/&gt;
setAlwaysInterruptAtStepDownOrUp(). As a consequence, it is possible for&lt;br/&gt;
the command&apos;s write to have been interrupted due to a step down on the&lt;br/&gt;
donor/recipient, causing the document to still exist during the&lt;br/&gt;
verification read and triggering a uassert. To resolve this issue, the&lt;br/&gt;
commands now do a no-op write before the verification read, ensuring&lt;br/&gt;
that the first write has indeed completed without being interrupted.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/cca75006b85690faa641a15dfc9940d2a2add52d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/cca75006b85690faa641a15dfc9940d2a2add52d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4042916" author="JIRAUSER1253452" created="Tue, 7 Sep 2021 16:55:02 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dianna.hohensee&quot; class=&quot;user-hover&quot; rel=&quot;dianna.hohensee&quot;&gt;dianna.hohensee&lt;/a&gt;&#160;After talking with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=max.hirschhorn&quot; class=&quot;user-hover&quot; rel=&quot;max.hirschhorn&quot;&gt;max.hirschhorn&lt;/a&gt;&#160;I think its probably for the best if we leave supportsLockFreeRead alone and instead add a no-op write before the reads in:&lt;/p&gt;


&lt;ul&gt;
	&lt;li&gt;_shardsvrCommitReshardCollection&lt;/li&gt;
	&lt;li&gt;_shardsvrAbortReshardCollection&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="4036386" author="dianna.hohensee" created="Thu, 2 Sep 2021 14:15:13 +0000"  >&lt;p&gt;I haven&apos;t gone to look at what and how _alwaysInterruptAtStepDownOrUp works yet, but I have some initial thoughts. 1) one of the goals of the lock-free project was specifically to allow reads to run concurrently with stepdown/up instead of stalling. 2) we eventually want to move away entirely from locked reads, so I don&apos;t think falling back to them is a sustainable solution.&lt;/p&gt;</comment>
                            <comment id="4036264" author="JIRAUSER1253452" created="Thu, 2 Sep 2021 13:38:46 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dianna.hohensee&quot; class=&quot;user-hover&quot; rel=&quot;dianna.hohensee&quot;&gt;dianna.hohensee&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=henrik.edin&quot; class=&quot;user-hover&quot; rel=&quot;henrik.edin&quot;&gt;henrik.edin&lt;/a&gt;&#160;What do y&apos;all think about the proposed fix?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2043425">SERVER-66353</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1867603">SERVER-59800</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>6.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="22495"><![CDATA[v5.1]]></customfieldvalue>
    <customfieldvalue key="21777"><![CDATA[v5.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>Thu, 2 Sep 2021 14:15:13 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 12 weeks, 6 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-234</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>
                            2 years, 12 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>151.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>brett.nawrocki@mongodb.com</customfieldvalue>
            <customfieldvalue>dianna.hohensee@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>luis.osta@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i004on:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hzk4hz:</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="5220">Sharding 2021-09-06</customfieldvalue>
    <customfieldvalue id="5222">Sharding 2021-10-04</customfieldvalue>
    <customfieldvalue id="5223">Sharding 2021-10-18</customfieldvalue>
    <customfieldvalue id="5224">Sharding 2021-11-01</customfieldvalue>
    <customfieldvalue id="5225">Sharding 2021-11-15</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</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|hzzqwv:</customfieldvalue>

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