<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:30:45 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-53380] Improve assert_util classes and implementation</title>
                <link>https://jira.mongodb.org/browse/SERVER-53380</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;In &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-53135&quot; title=&quot;Tassert should only exit with error in testing&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-53135&quot;&gt;&lt;del&gt;SERVER-53135&lt;/del&gt;&lt;/a&gt;, a number of improvements were identified by &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=billy.donahue&quot; class=&quot;user-hover&quot; rel=&quot;billy.donahue&quot;&gt;billy.donahue&lt;/a&gt;, outlined primarily in&#160;&lt;a href=&quot;https://mongodbcr.appspot.com/733250001/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this CR&lt;/a&gt;. A short (non-exhaustive) summary of the proposed changes:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Remove the constructor for AssertionCount (it requires no special initialization and we are currently erroneously missing tripwire initialization)&lt;/li&gt;
	&lt;li&gt;Add tripwire to the rollover logic&lt;/li&gt;
	&lt;li&gt;Add proper methods to AssertionCount to increment and handle rollovers of each sub-AtomicWord&lt;/li&gt;
	&lt;li&gt;Keep a ring buffer of tripwire occurrences and dump them again upon checking them&lt;/li&gt;
	&lt;li&gt;Dump tripwire occurrences during the myTerminate termination handler&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="1569543">SERVER-53380</key>
            <summary>Improve assert_util classes and implementation</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="backlog-server-servicearch">Backlog - Service Architecture</assignee>
                                    <reporter username="tyler.seip@mongodb.com">Tyler Seip</reporter>
                        <labels>
                            <label>sa-remove-fv-backlog-22</label>
                    </labels>
                <created>Tue, 15 Dec 2020 22:32:59 +0000</created>
                <updated>Tue, 6 Dec 2022 01:41:28 +0000</updated>
                                                                                                <votes>1</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="3655601" author="billy.donahue" created="Tue, 9 Mar 2021 21:16:27 +0000"  >&lt;p&gt;So far everything on this ticket has been about tassert and AssertionCount.&lt;br/&gt;
There are more issues that came up during &lt;a href=&quot;https://mongodbcr.appspot.com/749640009/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://mongodbcr.appspot.com/749640009/&lt;/a&gt;, and this comment captures feedback from that effort and review.&lt;/p&gt;

&lt;p&gt;It would be good to unify the assert macros through a central MONGO_BASE_ASSERT_VA_DISPATCH.&lt;br/&gt;
So the different macros vary only in which function name handles their failures.&lt;br/&gt;
Then the whole API which is notoriously jagged, would be much easier to teach and maintain.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-55017&quot; title=&quot;iassert/tassert evaluate arguments when untriggered&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-55017&quot;&gt;&lt;del&gt;SERVER-55017&lt;/del&gt;&lt;/a&gt; unifies iassert and tassert. A speculative dev branch brought massert and uassert into that same umbrella.&lt;br/&gt;
fassert might be too special to unify, but that&apos;s ok.&lt;/p&gt;

&lt;p&gt;There are numerous small things like:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;dassert being unsafe when followed by an else.&lt;/li&gt;
	&lt;li&gt;MONGO_COMPILER_NOINLINE on functions that aren&apos;t inlineable because they&apos;re in the .cpp file?&lt;/li&gt;
	&lt;li&gt;Unclear relationship between assert_util.h to invariant.h. Renaming invariant.h -&amp;gt; assert_util_core.h would help?&lt;/li&gt;
	&lt;li&gt;Use SourceLocation instead of &lt;tt&gt;_&lt;em&gt;FILE&lt;/em&gt;&lt;em&gt;&lt;/tt&gt; and &lt;tt&gt;&lt;/em&gt;&lt;em&gt;LINE&lt;/em&gt;_&lt;/tt&gt; everywhere. Remove &quot;WithLocation&quot; suffixes on function names. This is implied by the SourceLocation parameter now that it&apos;s a type.&lt;/li&gt;
	&lt;li&gt;Document the macros very carefully in the header. Especially important since they are variadic.&lt;/li&gt;
	&lt;li&gt;Group all the causedBy declarations together and dedupe them.&lt;/li&gt;
	&lt;li&gt;MONGO_verify uses a language-reserved name `_Expression`, rename it.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Some of these are addressed by this PoC:&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/compare/master...BillyDonahue:SERVER-55017_advanced&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/compare/master...BillyDonahue:SERVER-55017_advanced&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3655522" author="billy.donahue" created="Tue, 9 Mar 2021 20:46:25 +0000"  >
&lt;p&gt;A few thoughts here.&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;The best thing would be to just upgrade AssertionCount to 64-bit counters, if we can swing that. Forget rollover.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Failing that, we never want tripwire count to go back down to zero or it loses its magic, so we have to be careful there.&lt;br/&gt;
   Tripwire is different. We log its absolute count. This causes a problem. We need a tassert count since the last rollover for reporting to serverstatus, but then a different absolute number (64-bits) for the &quot;occurrences&quot; in the tripwire shutdown message.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Is it possible to remove the &quot;warning&quot; element which corresponds to the removed wassert macro and is always zero now?&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Maybe mutex the whole AssertionCount object instead of fiddling with 5 individual atomics (that are all sharing a cache line).&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="3538749" author="ben.caimano" created="Mon, 21 Dec 2020 19:47:40 +0000"  >&lt;p&gt;I think perhaps the biggest difference would be that you would still potentially mark the suite and test that encountered the tripwire as without failure. Devs tend to be rightfully frustrated when they experience &quot;failure&quot; after being told there was &quot;success&quot;. We also need to reset the counts for the tripwire tests themselves, but we can make a specific fixture for that.&lt;/p&gt;</comment>
                            <comment id="3531855" author="billy.donahue" created="Wed, 16 Dec 2020 04:19:49 +0000"  >&lt;blockquote&gt;&lt;p&gt; I believe the general concern was that it would be difficult to associate tripwire failures with individual suites given how big some of our linked unittests are.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;It would not be difficult unless I&apos;m missing something here.&lt;/p&gt;

&lt;p&gt;Here&apos;s a piece of util_test on some evergreen run:&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;[cpp_unit_test:util_test] 2020-12-16T00:29:55.837+0000 {&quot;t&quot;:{&quot;$date&quot;:&quot;2020-12-16T00:29:55.834Z&quot;},&quot;s&quot;:&quot;I&quot;,  &quot;c&quot;:&quot;TEST&quot;,     &quot;id&quot;:23063,   &quot;ctx&quot;:&quot;DiagnosticInfoTest&quot;,&quot;msg&quot;:&quot;Running&quot;,&quot;attr&quot;:{&quot;suite&quot;:&quot;DurationComparisonSameType&quot;}}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[cpp_unit_test:util_test] 2020-12-16T00:29:55.837+0000 {&quot;t&quot;:{&quot;$date&quot;:&quot;2020-12-16T00:29:55.834Z&quot;},&quot;s&quot;:&quot;I&quot;,  &quot;c&quot;:&quot;TEST&quot;,     &quot;id&quot;:23059,   &quot;ctx&quot;:&quot;DiagnosticInfoTest&quot;,&quot;msg&quot;:&quot;Running&quot;,&quot;attr&quot;:{&quot;test&quot;:&quot;CompareEqual&quot;,&quot;rep&quot;:1,&quot;reps&quot;:1}}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[cpp_unit_test:util_test] 2020-12-16T00:29:55.837+0000 {&quot;t&quot;:{&quot;$date&quot;:&quot;2020-12-16T00:29:55.834Z&quot;},&quot;s&quot;:&quot;I&quot;,  &quot;c&quot;:&quot;TEST&quot;,     &quot;id&quot;:23059,   &quot;ctx&quot;:&quot;DiagnosticInfoTest&quot;,&quot;msg&quot;:&quot;Running&quot;,&quot;attr&quot;:{&quot;test&quot;:&quot;CompareNotEqual&quot;,&quot;rep&quot;:1,&quot;reps&quot;:1}}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[cpp_unit_test:util_test] 2020-12-16T00:29:55.837+0000 {&quot;t&quot;:{&quot;$date&quot;:&quot;2020-12-16T00:29:55.834Z&quot;},&quot;s&quot;:&quot;I&quot;,  &quot;c&quot;:&quot;TEST&quot;,     &quot;id&quot;:23059,   &quot;ctx&quot;:&quot;DiagnosticInfoTest&quot;,&quot;msg&quot;:&quot;Running&quot;,&quot;attr&quot;:{&quot;test&quot;:&quot;SameTypeCompareGreaterThan&quot;,&quot;rep&quot;:1,&quot;reps&quot;:1}}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[cpp_unit_test:util_test] 2020-12-16T00:29:55.837+0000 {&quot;t&quot;:{&quot;$date&quot;:&quot;2020-12-16T00:29:55.834Z&quot;},&quot;s&quot;:&quot;I&quot;,  &quot;c&quot;:&quot;TEST&quot;,     &quot;id&quot;:23059,   &quot;ctx&quot;:&quot;DiagnosticInfoTest&quot;,&quot;msg&quot;:&quot;Running&quot;,&quot;attr&quot;:{&quot;test&quot;:&quot;CompareLessThan&quot;,&quot;rep&quot;:1,&quot;reps&quot;:1}}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[cpp_unit_test:util_test] 2020-12-16T00:29:55.837+0000 {&quot;t&quot;:{&quot;$date&quot;:&quot;2020-12-16T00:29:55.834Z&quot;},&quot;s&quot;:&quot;I&quot;,  &quot;c&quot;:&quot;TEST&quot;,     &quot;id&quot;:23059,   &quot;ctx&quot;:&quot;DiagnosticInfoTest&quot;,&quot;msg&quot;:&quot;Running&quot;,&quot;attr&quot;:{&quot;test&quot;:&quot;CompareGreaterThanOrEqual&quot;,&quot;rep&quot;:1,&quot;reps&quot;:1}}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[cpp_unit_test:util_test] 2020-12-16T00:29:55.838+0000 {&quot;t&quot;:{&quot;$date&quot;:&quot;2020-12-16T00:29:55.834Z&quot;},&quot;s&quot;:&quot;I&quot;,  &quot;c&quot;:&quot;TEST&quot;,     &quot;id&quot;:23059,   &quot;ctx&quot;:&quot;DiagnosticInfoTest&quot;,&quot;msg&quot;:&quot;Running&quot;,&quot;attr&quot;:{&quot;test&quot;:&quot;CompareLessThanOrEqual&quot;,&quot;rep&quot;:1,&quot;reps&quot;:1}}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[cpp_unit_test:util_test] 2020-12-16T00:29:55.838+0000 {&quot;t&quot;:{&quot;$date&quot;:&quot;2020-12-16T00:29:55.834Z&quot;},&quot;s&quot;:&quot;I&quot;,  &quot;c&quot;:&quot;TEST&quot;,     &quot;id&quot;:23060,   &quot;ctx&quot;:&quot;DiagnosticInfoTest&quot;,&quot;msg&quot;:&quot;Done running tests&quot;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;...&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;The tripwire failure emits a log line with a conspicuous id number that would appear in the unit test output.&lt;br/&gt;
Its analysis exit handler would direct the user to look for those log statements.&lt;br/&gt;
The closest preceding id:23059 message would identify the test that was running when the tassert fired.&lt;/p&gt;
</comment>
                            <comment id="3531603" author="ben.caimano" created="Tue, 15 Dec 2020 23:52:16 +0000"  >&lt;p&gt;I believe the general concern was that it would be difficult to associate tripwire failures with individual suites given how big some of our linked unittests are. For better or worse, it did slip past my initial review. I noticed it again when I was evaluating the potential for a backport.&lt;/p&gt;</comment>
                            <comment id="3531525" author="billy.donahue" created="Tue, 15 Dec 2020 23:10:31 +0000"  >&lt;p&gt;Yeah it&apos;s really important that the &lt;tt&gt;unittest::Test&lt;/tt&gt; base class &lt;tt&gt;setUp&lt;/tt&gt; and &lt;tt&gt;tearDown&lt;/tt&gt; should not be doing any work at all.&lt;/p&gt;

&lt;p&gt;That should not have passed review, really. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/sad.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;Is it really necessary to check for tripwireAssertions after each TEST/TEST_F?&lt;br/&gt;
The test process would abort and prevent other viable tests from running.&lt;br/&gt;
The check should move to unittest_main, IMO.&lt;/p&gt;

&lt;p&gt;Really it could just be an atexit lazy-added from the tassert.&lt;br/&gt;
Then unittest/ doesn&apos;t have to know anything about it.&lt;/p&gt;</comment>
                            <comment id="3531501" author="ben.caimano" created="Tue, 15 Dec 2020 22:54:46 +0000"  >&lt;p&gt;If we&apos;re doing a laundry list, we should probably move the tripwire assertion updates in our unittests &lt;a href=&quot;https://github.com/mongodb/mongo/blob/e9ba0db9a0b5f4e7116670118cf10184a14f2e40/src/mongo/unittest/unittest.h#L507-L525&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt; to the unittest::Test ctor/dtor instead. People tend to override those functions which would thus disable the tripwire checks.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1656463">SERVER-55449</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1555138">SERVER-53135</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>7.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25132"><![CDATA[Service Arch]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 15 Dec 2020 22:54:46 +0000</customfieldvalue>

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


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 48 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-servicearch</customfieldvalue>
            <customfieldvalue>ben.caimano@mongodb.com</customfieldvalue>
            <customfieldvalue>billy.donahue@mongodb.com</customfieldvalue>
            <customfieldvalue>tyler.seip@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hym147:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hx0k3b:</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_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|hylndj:</customfieldvalue>

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