<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:15:50 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-48002] Do not enforce DataCorruptionDetected assertion when ignoring prepare conflicts</title>
                <link>https://jira.mongodb.org/browse/SERVER-48002</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Snapshot isolation cannot be guaranteed for operations that ignore prepare conflicts. This means that two reads of the same record in the same snapshot can return different results. In practice, the assertion added by&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40620&quot; title=&quot;Return or log error if an index key is present but the document is not&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40620&quot;&gt;&lt;del&gt;SERVER-40620&lt;/del&gt;&lt;/a&gt; fails if an index points to a non-existent record. This may return false positives if a record is fetched in the collection after a prepared transaction that deletes that record commits.&lt;/p&gt;

&lt;p&gt;We cannot enforce the DataCorruptionDetected assertion if we are also ignoring prepare conflicts, or we will continue to get false positives.&lt;/p&gt;

&lt;p&gt;Original description:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-37364&quot; title=&quot;Coordinator should return the decision to the client as soon as the decision is durable&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-37364&quot;&gt;&lt;del&gt;SERVER-37364&lt;/del&gt;&lt;/a&gt; made the transaction coordinator return the decision as soon as the decision is persisted. As a result, the client is no longer guaranteed to see the effects of the transaction immediately after the commitTransaction returns. Based on this &lt;a href=&quot;https://evergreen.mongodb.com/task/mongodb_mongo_master_linux_64_debug_display_sharding_patch_7ede858f0d22e9a7dcd1fb9e44ccede51b624d0d_5eb382f42fbabe21246bf604_20_05_07_03_40_06##%257B%2522compare%2522%253A%255B%257B%2522hash%2522%253A%25227ede858f0d22e9a7dcd1fb9e44ccede51b624d0d%2522%257D%255D%257D&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;evergreen patch&lt;/a&gt;, a find command that is run immediately after an update shard key operation (but before the transaction finishes committing in the background) can fail with DataCorruptionDetected error (added in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40620&quot; title=&quot;Return or log error if an index key is present but the document is not&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40620&quot;&gt;&lt;del&gt;SERVER-40620&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;</description>
                <environment></environment>
        <key id="1342798">SERVER-48002</key>
            <summary>Do not enforce DataCorruptionDetected assertion when ignoring prepare conflicts</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="louis.williams@mongodb.com">Louis Williams</assignee>
                                    <reporter username="cheahuychou.mao@mongodb.com">Cheahuychou Mao</reporter>
                        <labels>
                            <label>qexec-team</label>
                    </labels>
                <created>Thu, 7 May 2020 06:08:29 +0000</created>
                <updated>Sun, 29 Oct 2023 22:08:35 +0000</updated>
                            <resolved>Thu, 19 Nov 2020 18:34:29 +0000</resolved>
                                                    <fixVersion>4.9.0</fixVersion>
                    <fixVersion>4.4.4</fixVersion>
                                    <component>Querying</component>
                    <component>Storage</component>
                                        <votes>0</votes>
                                    <watches>12</watches>
                                                                                                                <comments>
                            <comment id="3535293" author="xgen-internal-githook" created="Thu, 17 Dec 2020 21:35:48 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Louis Williams&apos;, &apos;email&apos;: &apos;louis.williams@mongodb.com&apos;, &apos;username&apos;: &apos;louiswilliams&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48002&quot; title=&quot;Do not enforce DataCorruptionDetected assertion when ignoring prepare conflicts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48002&quot;&gt;&lt;del&gt;SERVER-48002&lt;/del&gt;&lt;/a&gt; Do not enforce DataCorruptionDetected assertion when ignoring prepare conflicts&lt;/p&gt;

&lt;p&gt;Snapshot isolation cannot be guaranteed for operations that ignore&lt;br/&gt;
prepare conflicts. This means that two reads of the same record in the&lt;br/&gt;
same snapshot can return different results. In practice, this can lead&lt;br/&gt;
to false positive DataCorrutionDetected assertions.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit a01be7ed8e475775ebec57dd6291c3cf5cd33ccf)&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/859ecb733b5e057a3a27283302a6b01ef98ad00f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/859ecb733b5e057a3a27283302a6b01ef98ad00f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3498199" author="louis.williams" created="Thu, 19 Nov 2020 18:34:29 +0000"  >&lt;p&gt;Commit: &lt;a href=&quot;https://github.com/mongodb/mongo/commit/a01be7ed8e475775ebec57dd6291c3cf5cd33ccf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a01be7ed8e475775ebec57dd6291c3cf5cd33ccf&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3492299" author="louis.williams" created="Mon, 16 Nov 2020 18:23:20 +0000"  >&lt;p&gt;I had to revert my patch because it broke the test designed to exercise this assertion. Most reads ignore prepare conflicts. By making this change, we will completely lose the ability to detect this type of inconsistency for reads, with the exception of multi-doc transactions.&lt;/p&gt;

&lt;p&gt;This assertion has proven to be somewhat valuable in identifying snapshot isolation bugs in 4.4, but not index consistencies.&#160;&lt;/p&gt;

&lt;p&gt;I am considering the following:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Accept that this assertion will not be able to detect inconsistencies for reads in favor of reducing false positives.&lt;/li&gt;
	&lt;li&gt;Only enforce the assertion if no prepared transactions have committed or aborted while a snapshot was open. This would likely require modifying SnapshotId to include a generational counter for prepared transactions. For operations that ignore prepared transactions, a generational counter in SnapshotId will indicate whether any prepared transactions have committed or aborted. We have most of this &lt;a href=&quot;https://github.com/mongodb/mongo/blob/051793654f08e39b6ed3b7d4a6ca78553f537192/src/mongo/db/storage/wiredtiger/wiredtiger_session_cache.cpp#L358&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;infrastructure already to handle prepare conflicts&lt;/a&gt;, so we could potentially repurpose it to continue enforcing this assertion.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="3485487" author="xgen-internal-githook" created="Wed, 11 Nov 2020 15:31:17 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Louis Williams&apos;, &apos;email&apos;: &apos;louis.williams@mongodb.com&apos;, &apos;username&apos;: &apos;louiswilliams&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48002&quot; title=&quot;Do not enforce DataCorruptionDetected assertion when ignoring prepare conflicts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48002&quot;&gt;&lt;del&gt;SERVER-48002&lt;/del&gt;&lt;/a&gt; Do not enforce DataCorruptionDetected assertion when ignoring prepare conflicts&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 523247d096a796c15c911370e622a3614411a25b.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/f5ad04df2255518e16048e09dcf2baeff64bd7a8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/f5ad04df2255518e16048e09dcf2baeff64bd7a8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3484669" author="xgen-internal-githook" created="Wed, 11 Nov 2020 00:21:51 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Louis Williams&apos;, &apos;email&apos;: &apos;louis.williams@mongodb.com&apos;, &apos;username&apos;: &apos;louiswilliams&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48002&quot; title=&quot;Do not enforce DataCorruptionDetected assertion when ignoring prepare conflicts&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48002&quot;&gt;&lt;del&gt;SERVER-48002&lt;/del&gt;&lt;/a&gt; Do not enforce DataCorruptionDetected assertion when ignoring prepare conflicts&lt;/p&gt;

&lt;p&gt;Snapshot isolation cannot be guaranteed for operations that ignore&lt;br/&gt;
prepare conflicts. This means that two reads of the same record in the&lt;br/&gt;
same snapshot can return different results. In practice, this can lead&lt;br/&gt;
to false positive DataCorrutionDetected assertions.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/523247d096a796c15c911370e622a3614411a25b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/523247d096a796c15c911370e622a3614411a25b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3474179" author="louis.williams" created="Tue, 3 Nov 2020 17:58:44 +0000"  >&lt;p&gt;Thanks, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=justin.seyster&quot; class=&quot;user-hover&quot; rel=&quot;justin.seyster&quot;&gt;justin.seyster&lt;/a&gt;&#160;for the repro. I think I can see what is happening.&#160;A read is ignoring prepare conflicts (default behavior) and is racing with a transaction deleting the document such that it sees the index entry but not the record.&lt;/p&gt;

&lt;p&gt;Consider the following example with an index on &quot;x&quot;:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Assume the following existing state:
	&lt;ul&gt;
		&lt;li&gt;Collection: RID(1) --&amp;gt; {x: 100}&lt;/li&gt;
		&lt;li&gt;Index: 100 --&amp;gt; RID(1)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;The following operations take place in a transaction and are prepared:
	&lt;ul&gt;
		&lt;li&gt;Delete key 100 from index&lt;/li&gt;
		&lt;li&gt;Delete RID(1) from collection&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Start an un-timestamped read that ignores prepare conflicts. The reader observes the key 100 in the index because it ignores the prepared deletion&lt;/li&gt;
	&lt;li&gt;The prepared transaction commits&lt;/li&gt;
	&lt;li&gt;The reader looks up RID(1) in the collection, but finds that it is missing&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;In general, if an operation ignores prepare conflicts, it cannot guarantee snapshot isolation. This example demonstrates that behavior. If we had not returned an error in this case (behavior before &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40620&quot; title=&quot;Return or log error if an index key is present but the document is not&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40620&quot;&gt;&lt;del&gt;SERVER-40620&lt;/del&gt;&lt;/a&gt;), we would have just returned nothing, and a user would not notice any problems.&lt;/p&gt;

&lt;p&gt;The first solution that comes to mind is to not check this assertion for operations that ignore prepare conflicts. Most reads ignore prepare conflicts, however, so most reads will end up never checking this assertion.&lt;/p&gt;</comment>
                            <comment id="3213324" author="justin.seyster" created="Wed, 17 Jun 2020 23:55:41 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=connie.chen&quot; class=&quot;user-hover&quot; rel=&quot;connie.chen&quot;&gt;connie.chen&lt;/a&gt; Sure, I just ran this on ToT (ec679c6c), and it failed with DataCorruptionDetected after about an hour of repeating.&lt;/p&gt;</comment>
                            <comment id="3208623" author="connie.chen" created="Mon, 15 Jun 2020 18:27:44 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=justin.seyster&quot; class=&quot;user-hover&quot; rel=&quot;justin.seyster&quot;&gt;justin.seyster&lt;/a&gt;&#160;would you be able to re-run the torture test on the current code? Storage Engines has made quite a few changes in the last 3 weeks so we want to make sure it&apos;s still a problem.&#160;&lt;/p&gt;</comment>
                            <comment id="3132862" author="justin.seyster" created="Wed, 27 May 2020 21:45:58 +0000"  >&lt;p&gt;Thanks for filing this! After investigating, I don&apos;t think that the DataCorruptionDetected uassert() added by &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40620&quot; title=&quot;Return or log error if an index key is present but the document is not&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40620&quot;&gt;&lt;del&gt;SERVER-40620&lt;/del&gt;&lt;/a&gt; is observing expected behavior. To me, this looks like a potentially serious data inconsistency error. Unfortunately, I cannot reproduce it, even after running the test (move_chunk_update_shard_key_in_retryable_write.js) overnight. I also wrote a torture test to designed to subject a single replica set to the conditions that the failing shard would have experienced, but that also failed to reproduce the DataCorruptionDetected error.&lt;/p&gt;

&lt;p&gt;From the perspective of the failing shard, it gets a connection from mongoS that starts a multi-document transaction, adds a new document ({x: 1}) via upsert, prepares the transaction, and then commits it. A separate connection from the same monogS queries the collection for the {x: 1} document. The commitTransaction command and the query happen at almost exactly the same time and may be executing concurrently in the mongoD.&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;[js_test:move_chunk_update_shard_key_in_retryable_write] 2020-05-07T05:09:24.004+0000 d20023| 2020-05-07T05:09:24.000+00:00 D3 TXN      20507   [conn55] &quot;Received commitTransaction for transaction with txnNumber {opCtx_getTxnNumber} on session {opCtx_getLogicalSessionId}&quot;,&quot;attr&quot;:{&quot;opCtx_getTxnNumber&quot;:35,&quot;opCtx_getLogicalSessionId&quot;:{&quot;id&quot;:{&quot;$uuid&quot;:&quot;34adc0a1-f500-4f55-907b-4e869fe4fc5e&quot;},&quot;uid&quot;:{&quot;$binary&quot;:{&quot;base64&quot;:&quot;47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=&quot;,&quot;subType&quot;:&quot;0&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;[js_test:move_chunk_update_shard_key_in_retryable_write] 2020-05-07T05:09:24.004+0000 d20023| 2020-05-07T05:09:24.003+00:00 E  QUERY    4615603 [conn57] &quot;Erroneous index key found with reference to non-existent record id {recordId}: {indexKeyData}. Consider dropping and then re-creating the index with key pattern {indexKeyPattern} and then running the validate command on the collection.&quot;,&quot;attr&quot;:{&quot;recordId&quot;:{&quot;RecordId&quot;:1},&quot;indexKeyData&quot;:[{&quot;key&quot;:{&quot;&quot;:0},&quot;pattern&quot;:{&quot;x&quot;:1}}],&quot;indexKeyPattern&quot;:{&quot;x&quot;:1}}&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;Because the commitTransaction and the query are concurrent, it &lt;em&gt;is&lt;/em&gt; expected behavior that the query could return 0 or 1 documents, depending on how exactly the two commands are scheduled.&lt;/p&gt;

&lt;p&gt;However, I &lt;em&gt;do not&lt;/em&gt; believe it is expected behavior for the query to observe that the index contains the document {x: 1} but the collection does not (i.e., the collection does not have a record matching the index entry&apos;s record id), even if the query happens while while the document is part of a prepared transaction that is in the process of committing. That&apos;s what the DataCorruptionDetected uassert() shows is happening, which is why I&apos;m a bit worried about it. This needs some more investigation, but I&apos;m not sure what the next steps are.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                                        </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9.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>Wed, 27 May 2020 21:45:58 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 7 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_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, 7 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>34.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>cheahuychou.mao@mongodb.com</customfieldvalue>
            <customfieldvalue>connie.chen@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>justin.seyster@mongodb.com</customfieldvalue>
            <customfieldvalue>louis.williams@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxk0yf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxcvzr:</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="4297">Execution Team 2020-11-16</customfieldvalue>
    <customfieldvalue id="4298">Execution Team 2020-11-30</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|hxjn7r:</customfieldvalue>

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