<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 22:37:25 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[COMPASS-4770] &quot;Shard results differ&quot; warning when sharding is not used</title>
                <link>https://jira.mongodb.org/browse/COMPASS-4770</link>
                <project id="13182" key="COMPASS">Compass </project>
                    <description>&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;for (let i = 0; i &amp;lt; 10000; i++) db.coll.insertOne({ a: ((Math.random() * 1000) | 0), b: ((Math.random() * 1000) | 0) });&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;db.coll.createIndex({a: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;   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;db.coll.createIndex({b: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;Then explain in Compass for a query like &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;   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;{$or:[{a:200},{b:300}]}&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;will result in a &#8220;Shard results differ&#8221; warning message in the explain output because the server performs two index scans using different indexes, even though sharding is not involved.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1691694">COMPASS-4770</key>
            <summary>&quot;Shard results differ&quot; warning when sharding is not used</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="anna.henningsen@mongodb.com">Anna Henningsen</assignee>
                                    <reporter username="anna.henningsen@mongodb.com">Anna Henningsen</reporter>
                        <labels>
                    </labels>
                <created>Mon, 26 Apr 2021 17:16:22 +0000</created>
                <updated>Sun, 29 Oct 2023 02:39:53 +0000</updated>
                            <resolved>Mon, 4 Oct 2021 08:37:00 +0000</resolved>
                                                    <fixVersion>1.29.4</fixVersion>
                                    <component>Explain</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="4129601" author="xgen-internal-githook" created="Mon, 18 Oct 2021 15:13:44 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Anna Henningsen&apos;, &apos;email&apos;: &apos;anna.henningsen@mongodb.com&apos;, &apos;username&apos;: &apos;addaleax&apos;}
&lt;p&gt;Message: fix(explain-plan): migrate to TS/away from Ampersand, fix sharding warning bug (#2494)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;chore(explain-plan): drop serverVersion from state&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This does not have any actual impact on the UI.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;feat(explain-plan): replace explain-plan ampersand model&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Replace the explain-plan-model Ampersand model and replace&lt;br/&gt;
it with a typescript helper package.&lt;/p&gt;

&lt;p&gt;This new package matches the model broadly, except in a&lt;br/&gt;
few aspects:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;It automatically includes the SBE compatibiltiy helper,&lt;br/&gt;
  removing the need to apply it explicitly in compass-explain-plan.&lt;/li&gt;
	&lt;li&gt;The &#8220;raw&#8221; original data property is exposed directly, not&lt;br/&gt;
  attached via monkey-patching in compass-explain-plan.&lt;/li&gt;
	&lt;li&gt;`model.serialize()` is gone, the compass-explain-plan&lt;br/&gt;
  package now manually unpacks the properties it uses.&lt;br/&gt;
  This may not look very pretty, but at least it doesn&#8217;t&lt;br/&gt;
  hide the fact that we are using the object as an untyped&lt;br/&gt;
  bag of properties anymore.&lt;/li&gt;
	&lt;li&gt;The child stage iterator helper is exposed, allowing some&lt;br/&gt;
  code redundancy between the packages to be removed.&lt;/li&gt;
	&lt;li&gt;Support for pre-3.0 server explain plans is dropped.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;chore(explain-plan): replace usedIndex field to make it more meaningful&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Replace the `usedIndex` field, which had an odd typing to begin&lt;br/&gt;
with, with a `usedIndexes` field that reflects all indices used&lt;br/&gt;
and what shards they were used on in a consistent way that matches&lt;br/&gt;
its actual usage.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;fix(explain-plan): do not display shard warning when inappropriate &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4770&quot; title=&quot;&amp;quot;Shard results differ&amp;quot; warning when sharding is not used&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4770&quot;&gt;&lt;del&gt;COMPASS-4770&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This warning is supposed to tell people about situations in which&lt;br/&gt;
different shards used difference indices in their explain plan,&lt;br/&gt;
which is fine to warn about.&lt;/p&gt;

&lt;p&gt;However, the check was fairly na&#239;ve and only warned whether multiple&lt;br/&gt;
indices were used at all. That can lead to false positives, since&lt;br/&gt;
using multiple indices by itself is not problematic.&lt;/p&gt;

&lt;p&gt;Address this by grouping the used indices by the shards they were&lt;br/&gt;
run on, and seeing if these structures actually differ between&lt;br/&gt;
the individual shards.&lt;br/&gt;
Branch: compass-5113-remove-loading-screen-from-the-app&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/5f78690e663bd94bfbb4a1bb26398fae5fa1a73a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/5f78690e663bd94bfbb4a1bb26398fae5fa1a73a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4119368" author="xgen-internal-githook" created="Tue, 12 Oct 2021 16:53:17 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Anna Henningsen&apos;, &apos;email&apos;: &apos;anna.henningsen@mongodb.com&apos;, &apos;username&apos;: &apos;addaleax&apos;}
&lt;p&gt;Message: fix(explain-plan): migrate to TS/away from Ampersand, fix sharding warning bug (#2494)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;chore(explain-plan): drop serverVersion from state&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This does not have any actual impact on the UI.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;feat(explain-plan): replace explain-plan ampersand model&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Replace the explain-plan-model Ampersand model and replace&lt;br/&gt;
it with a typescript helper package.&lt;/p&gt;

&lt;p&gt;This new package matches the model broadly, except in a&lt;br/&gt;
few aspects:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;It automatically includes the SBE compatibiltiy helper,&lt;br/&gt;
  removing the need to apply it explicitly in compass-explain-plan.&lt;/li&gt;
	&lt;li&gt;The &#8220;raw&#8221; original data property is exposed directly, not&lt;br/&gt;
  attached via monkey-patching in compass-explain-plan.&lt;/li&gt;
	&lt;li&gt;`model.serialize()` is gone, the compass-explain-plan&lt;br/&gt;
  package now manually unpacks the properties it uses.&lt;br/&gt;
  This may not look very pretty, but at least it doesn&#8217;t&lt;br/&gt;
  hide the fact that we are using the object as an untyped&lt;br/&gt;
  bag of properties anymore.&lt;/li&gt;
	&lt;li&gt;The child stage iterator helper is exposed, allowing some&lt;br/&gt;
  code redundancy between the packages to be removed.&lt;/li&gt;
	&lt;li&gt;Support for pre-3.0 server explain plans is dropped.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;chore(explain-plan): replace usedIndex field to make it more meaningful&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Replace the `usedIndex` field, which had an odd typing to begin&lt;br/&gt;
with, with a `usedIndexes` field that reflects all indices used&lt;br/&gt;
and what shards they were used on in a consistent way that matches&lt;br/&gt;
its actual usage.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;fix(explain-plan): do not display shard warning when inappropriate &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4770&quot; title=&quot;&amp;quot;Shard results differ&amp;quot; warning when sharding is not used&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4770&quot;&gt;&lt;del&gt;COMPASS-4770&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This warning is supposed to tell people about situations in which&lt;br/&gt;
different shards used difference indices in their explain plan,&lt;br/&gt;
which is fine to warn about.&lt;/p&gt;

&lt;p&gt;However, the check was fairly na&#239;ve and only warned whether multiple&lt;br/&gt;
indices were used at all. That can lead to false positives, since&lt;br/&gt;
using multiple indices by itself is not problematic.&lt;/p&gt;

&lt;p&gt;Address this by grouping the used indices by the shards they were&lt;br/&gt;
run on, and seeing if these structures actually differ between&lt;br/&gt;
the individual shards.&lt;br/&gt;
Branch: &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-5053&quot; title=&quot;Add a loading status and a cancellation button to the CRUD view (and do not show global loading overlay when running queries)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-5053&quot;&gt;&lt;del&gt;COMPASS-5053&lt;/del&gt;&lt;/a&gt;-loading-status&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/5f78690e663bd94bfbb4a1bb26398fae5fa1a73a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/5f78690e663bd94bfbb4a1bb26398fae5fa1a73a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4116859" author="xgen-internal-githook" created="Mon, 11 Oct 2021 20:26:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Anna Henningsen&apos;, &apos;email&apos;: &apos;anna.henningsen@mongodb.com&apos;, &apos;username&apos;: &apos;addaleax&apos;}
&lt;p&gt;Message: fix(explain-plan): migrate to TS/away from Ampersand, fix sharding warning bug (#2494)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;chore(explain-plan): drop serverVersion from state&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This does not have any actual impact on the UI.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;feat(explain-plan): replace explain-plan ampersand model&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Replace the explain-plan-model Ampersand model and replace&lt;br/&gt;
it with a typescript helper package.&lt;/p&gt;

&lt;p&gt;This new package matches the model broadly, except in a&lt;br/&gt;
few aspects:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;It automatically includes the SBE compatibiltiy helper,&lt;br/&gt;
  removing the need to apply it explicitly in compass-explain-plan.&lt;/li&gt;
	&lt;li&gt;The &#8220;raw&#8221; original data property is exposed directly, not&lt;br/&gt;
  attached via monkey-patching in compass-explain-plan.&lt;/li&gt;
	&lt;li&gt;`model.serialize()` is gone, the compass-explain-plan&lt;br/&gt;
  package now manually unpacks the properties it uses.&lt;br/&gt;
  This may not look very pretty, but at least it doesn&#8217;t&lt;br/&gt;
  hide the fact that we are using the object as an untyped&lt;br/&gt;
  bag of properties anymore.&lt;/li&gt;
	&lt;li&gt;The child stage iterator helper is exposed, allowing some&lt;br/&gt;
  code redundancy between the packages to be removed.&lt;/li&gt;
	&lt;li&gt;Support for pre-3.0 server explain plans is dropped.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;chore(explain-plan): replace usedIndex field to make it more meaningful&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Replace the `usedIndex` field, which had an odd typing to begin&lt;br/&gt;
with, with a `usedIndexes` field that reflects all indices used&lt;br/&gt;
and what shards they were used on in a consistent way that matches&lt;br/&gt;
its actual usage.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;fix(explain-plan): do not display shard warning when inappropriate &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4770&quot; title=&quot;&amp;quot;Shard results differ&amp;quot; warning when sharding is not used&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4770&quot;&gt;&lt;del&gt;COMPASS-4770&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This warning is supposed to tell people about situations in which&lt;br/&gt;
different shards used difference indices in their explain plan,&lt;br/&gt;
which is fine to warn about.&lt;/p&gt;

&lt;p&gt;However, the check was fairly na&#239;ve and only warned whether multiple&lt;br/&gt;
indices were used at all. That can lead to false positives, since&lt;br/&gt;
using multiple indices by itself is not problematic.&lt;/p&gt;

&lt;p&gt;Address this by grouping the used indices by the shards they were&lt;br/&gt;
run on, and seeing if these structures actually differ between&lt;br/&gt;
the individual shards.&lt;br/&gt;
Branch: compass-home-ts&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/5f78690e663bd94bfbb4a1bb26398fae5fa1a73a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/5f78690e663bd94bfbb4a1bb26398fae5fa1a73a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4103257" author="xgen-internal-githook" created="Tue, 5 Oct 2021 18:48:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Anna Henningsen&apos;, &apos;email&apos;: &apos;anna.henningsen@mongodb.com&apos;, &apos;username&apos;: &apos;addaleax&apos;}
&lt;p&gt;Message: fix(explain-plan): migrate to TS/away from Ampersand, fix sharding warning bug (#2494)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;chore(explain-plan): drop serverVersion from state&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This does not have any actual impact on the UI.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;feat(explain-plan): replace explain-plan ampersand model&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Replace the explain-plan-model Ampersand model and replace&lt;br/&gt;
it with a typescript helper package.&lt;/p&gt;

&lt;p&gt;This new package matches the model broadly, except in a&lt;br/&gt;
few aspects:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;It automatically includes the SBE compatibiltiy helper,&lt;br/&gt;
  removing the need to apply it explicitly in compass-explain-plan.&lt;/li&gt;
	&lt;li&gt;The &#8220;raw&#8221; original data property is exposed directly, not&lt;br/&gt;
  attached via monkey-patching in compass-explain-plan.&lt;/li&gt;
	&lt;li&gt;`model.serialize()` is gone, the compass-explain-plan&lt;br/&gt;
  package now manually unpacks the properties it uses.&lt;br/&gt;
  This may not look very pretty, but at least it doesn&#8217;t&lt;br/&gt;
  hide the fact that we are using the object as an untyped&lt;br/&gt;
  bag of properties anymore.&lt;/li&gt;
	&lt;li&gt;The child stage iterator helper is exposed, allowing some&lt;br/&gt;
  code redundancy between the packages to be removed.&lt;/li&gt;
	&lt;li&gt;Support for pre-3.0 server explain plans is dropped.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;chore(explain-plan): replace usedIndex field to make it more meaningful&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Replace the `usedIndex` field, which had an odd typing to begin&lt;br/&gt;
with, with a `usedIndexes` field that reflects all indices used&lt;br/&gt;
and what shards they were used on in a consistent way that matches&lt;br/&gt;
its actual usage.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;fix(explain-plan): do not display shard warning when inappropriate &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4770&quot; title=&quot;&amp;quot;Shard results differ&amp;quot; warning when sharding is not used&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4770&quot;&gt;&lt;del&gt;COMPASS-4770&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This warning is supposed to tell people about situations in which&lt;br/&gt;
different shards used difference indices in their explain plan,&lt;br/&gt;
which is fine to warn about.&lt;/p&gt;

&lt;p&gt;However, the check was fairly na&#239;ve and only warned whether multiple&lt;br/&gt;
indices were used at all. That can lead to false positives, since&lt;br/&gt;
using multiple indices by itself is not problematic.&lt;/p&gt;

&lt;p&gt;Address this by grouping the used indices by the shards they were&lt;br/&gt;
run on, and seeing if these structures actually differ between&lt;br/&gt;
the individual shards.&lt;br/&gt;
Branch: electron-13-same-keytar-node-14&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/5f78690e663bd94bfbb4a1bb26398fae5fa1a73a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/5f78690e663bd94bfbb4a1bb26398fae5fa1a73a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4098607" author="xgen-internal-githook" created="Mon, 4 Oct 2021 08:36:51 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Anna Henningsen&apos;, &apos;email&apos;: &apos;anna.henningsen@mongodb.com&apos;, &apos;username&apos;: &apos;addaleax&apos;}
&lt;p&gt;Message: fix(explain-plan): migrate to TS/away from Ampersand, fix sharding warning bug (#2494)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;chore(explain-plan): drop serverVersion from state&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This does not have any actual impact on the UI.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;feat(explain-plan): replace explain-plan ampersand model&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Replace the explain-plan-model Ampersand model and replace&lt;br/&gt;
it with a typescript helper package.&lt;/p&gt;

&lt;p&gt;This new package matches the model broadly, except in a&lt;br/&gt;
few aspects:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;It automatically includes the SBE compatibiltiy helper,&lt;br/&gt;
  removing the need to apply it explicitly in compass-explain-plan.&lt;/li&gt;
	&lt;li&gt;The &#8220;raw&#8221; original data property is exposed directly, not&lt;br/&gt;
  attached via monkey-patching in compass-explain-plan.&lt;/li&gt;
	&lt;li&gt;`model.serialize()` is gone, the compass-explain-plan&lt;br/&gt;
  package now manually unpacks the properties it uses.&lt;br/&gt;
  This may not look very pretty, but at least it doesn&#8217;t&lt;br/&gt;
  hide the fact that we are using the object as an untyped&lt;br/&gt;
  bag of properties anymore.&lt;/li&gt;
	&lt;li&gt;The child stage iterator helper is exposed, allowing some&lt;br/&gt;
  code redundancy between the packages to be removed.&lt;/li&gt;
	&lt;li&gt;Support for pre-3.0 server explain plans is dropped.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;chore(explain-plan): replace usedIndex field to make it more meaningful&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Replace the `usedIndex` field, which had an odd typing to begin&lt;br/&gt;
with, with a `usedIndexes` field that reflects all indices used&lt;br/&gt;
and what shards they were used on in a consistent way that matches&lt;br/&gt;
its actual usage.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;fix(explain-plan): do not display shard warning when inappropriate &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4770&quot; title=&quot;&amp;quot;Shard results differ&amp;quot; warning when sharding is not used&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4770&quot;&gt;&lt;del&gt;COMPASS-4770&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This warning is supposed to tell people about situations in which&lt;br/&gt;
different shards used difference indices in their explain plan,&lt;br/&gt;
which is fine to warn about.&lt;/p&gt;

&lt;p&gt;However, the check was fairly na&#239;ve and only warned whether multiple&lt;br/&gt;
indices were used at all. That can lead to false positives, since&lt;br/&gt;
using multiple indices by itself is not problematic.&lt;/p&gt;

&lt;p&gt;Address this by grouping the used indices by the shards they were&lt;br/&gt;
run on, and seeing if these structures actually differ between&lt;br/&gt;
the individual shards.&lt;br/&gt;
Branch: main&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/5f78690e663bd94bfbb4a1bb26398fae5fa1a73a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/5f78690e663bd94bfbb4a1bb26398fae5fa1a73a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4096669" author="xgen-internal-githook" created="Fri, 1 Oct 2021 15:00:22 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Anna Henningsen&apos;, &apos;email&apos;: &apos;anna@addaleax.net&apos;, &apos;username&apos;: &apos;addaleax&apos;}
&lt;p&gt;Message: fix(explain-plan): do not display shard warning when inappropriate &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4770&quot; title=&quot;&amp;quot;Shard results differ&amp;quot; warning when sharding is not used&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4770&quot;&gt;&lt;del&gt;COMPASS-4770&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This warning is supposed to tell people about situations in which&lt;br/&gt;
different shards used difference indices in their explain plan,&lt;br/&gt;
which is fine to warn about.&lt;/p&gt;

&lt;p&gt;However, the check was fairly na&#239;ve and only warned whether multiple&lt;br/&gt;
indices were used at all. That can lead to false positives, since&lt;br/&gt;
using multiple indices by itself is not problematic.&lt;/p&gt;

&lt;p&gt;Address this by grouping the used indices by the shards they were&lt;br/&gt;
run on, and seeing if these structures actually differ between&lt;br/&gt;
the individual shards.&lt;br/&gt;
Branch: 4770-dev&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/8513af412931a82809f78e3d7ba136259555ab9d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/8513af412931a82809f78e3d7ba136259555ab9d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4096627" author="xgen-internal-githook" created="Fri, 1 Oct 2021 14:48:23 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Anna Henningsen&apos;, &apos;email&apos;: &apos;anna@addaleax.net&apos;, &apos;username&apos;: &apos;addaleax&apos;}
&lt;p&gt;Message: fix(explain-plan): do not display shard warning when inappropriate &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4770&quot; title=&quot;&amp;quot;Shard results differ&amp;quot; warning when sharding is not used&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4770&quot;&gt;&lt;del&gt;COMPASS-4770&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This warning is supposed to tell people about situations in which&lt;br/&gt;
different shards used difference indices in their explain plan,&lt;br/&gt;
which is fine to warn about.&lt;/p&gt;

&lt;p&gt;However, the check was fairly na&#239;ve and only warned whether multiple&lt;br/&gt;
indices were used at all. That can lead to false positives, since&lt;br/&gt;
using multiple indices by itself is not problematic.&lt;/p&gt;

&lt;p&gt;Address this by grouping the used indices by the shards they were&lt;br/&gt;
run on, and seeing if these structures actually differ between&lt;br/&gt;
the individual shards.&lt;br/&gt;
Branch: 4770-dev&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/25e73bc6d44eb2294586f13afd5e1b6d4067ff50&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/25e73bc6d44eb2294586f13afd5e1b6d4067ff50&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4096565" author="xgen-internal-githook" created="Fri, 1 Oct 2021 14:27:41 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Anna Henningsen&apos;, &apos;email&apos;: &apos;anna@addaleax.net&apos;, &apos;username&apos;: &apos;addaleax&apos;}
&lt;p&gt;Message: fix(explain-plan): do not display shard warning when inappropriate &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4770&quot; title=&quot;&amp;quot;Shard results differ&amp;quot; warning when sharding is not used&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4770&quot;&gt;&lt;del&gt;COMPASS-4770&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This warning is supposed to tell people about situations in which&lt;br/&gt;
different shards used difference indices in their explain plan,&lt;br/&gt;
which is fine to warn about.&lt;/p&gt;

&lt;p&gt;However, the check was fairly na&#239;ve and only warned whether multiple&lt;br/&gt;
indices were used at all. That can lead to false positives, since&lt;br/&gt;
using multiple indices by itself is not problematic.&lt;/p&gt;

&lt;p&gt;Address this by grouping the used indices by the shards they were&lt;br/&gt;
run on, and seeing if these structures actually differ between&lt;br/&gt;
the individual shards.&lt;br/&gt;
Branch: 4770-dev&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/535e918ad5de1cb358aa4d97908e9e32b7b09908&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/535e918ad5de1cb358aa4d97908e9e32b7b09908&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4096559" author="xgen-internal-githook" created="Fri, 1 Oct 2021 14:26:49 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Anna Henningsen&apos;, &apos;email&apos;: &apos;anna@addaleax.net&apos;, &apos;username&apos;: &apos;addaleax&apos;}
&lt;p&gt;Message: fix(explain-plan): do not display shard warning when inappropriate &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4770&quot; title=&quot;&amp;quot;Shard results differ&amp;quot; warning when sharding is not used&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4770&quot;&gt;&lt;del&gt;COMPASS-4770&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This warning is supposed to tell people about situations in which&lt;br/&gt;
different shards used difference indices in their explain plan,&lt;br/&gt;
which is fine to warn about.&lt;/p&gt;

&lt;p&gt;However, the check was fairly na&#239;ve and only warned whether multiple&lt;br/&gt;
indices were used at all. That can lead to false positives, since&lt;br/&gt;
using multiple indices by itself is not problematic.&lt;/p&gt;

&lt;p&gt;Address this by grouping the used indices by the shards they were&lt;br/&gt;
run on, and seeing if these structures actually differ between&lt;br/&gt;
the individual shards.&lt;br/&gt;
Branch: 4770-dev&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/745915cd8d2e5f235ed1f90ad203a268425cfc7a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/745915cd8d2e5f235ed1f90ad203a268425cfc7a&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <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_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 28 Apr 2021 13:09:33 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 16 weeks, 2 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_10257" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Documentation Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11861"><![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>
                            2 years, 16 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>anna.henningsen@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hz6nyn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hyrqnz:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="5487">Iteration Minsk</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.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_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hz6a7r:</customfieldvalue>

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