<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:59:53 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>[JAVA-3555] Work around changes to mapReduce implementation in the 4.4. server</title>
                <link>https://jira.mongodb.org/browse/JAVA-3555</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;MongoDB 4.4 introduces several changes to mapReduce implementation which break assumptions in both the driver&apos;s implementation of mapReduce and the tests.  This ticket is to address those changes &lt;/p&gt;</description>
                <environment></environment>
        <key id="1058021">JAVA-3555</key>
            <summary>Work around changes to mapReduce implementation in the 4.4. server</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="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="jeff.yemin@mongodb.com">Jeffrey Yemin</assignee>
                                    <reporter username="jeff.yemin@mongodb.com">Jeffrey Yemin</reporter>
                        <labels>
                    </labels>
                <created>Tue, 17 Dec 2019 16:19:49 +0000</created>
                <updated>Sat, 28 Oct 2023 11:21:53 +0000</updated>
                            <resolved>Wed, 18 Dec 2019 17:37:55 +0000</resolved>
                                                    <fixVersion>3.12.1</fixVersion>
                                    <component>Query Operations</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="2733182" author="xgen-internal-githook" created="Wed, 15 Jan 2020 22:34:37 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;username&apos;: &apos;jyemin&apos;, &apos;email&apos;: &apos;jeff.yemin@10gen.com&apos;}
&lt;p&gt;Message: Ensure collection exists prior to outputting mapReduce results to it&lt;/p&gt;

&lt;p&gt;This works around a behavioral change in the 4.4 server&apos;s mapReduce&lt;br/&gt;
implementation on sharded clusters&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3555&quot; title=&quot;Work around changes to mapReduce implementation in the 4.4. server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3555&quot;&gt;&lt;del&gt;JAVA-3555&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/14d72f00f345dafd23d91294ae080328dd6cd88f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/14d72f00f345dafd23d91294ae080328dd6cd88f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2733181" author="xgen-internal-githook" created="Wed, 15 Jan 2020 22:34:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;username&apos;: &apos;jyemin&apos;, &apos;email&apos;: &apos;jeff.yemin@10gen.com&apos;}
&lt;p&gt;Message: Make map and reduce functions more realistic in mapReduce collation test&lt;/p&gt;

&lt;p&gt;The functions that were used exposed a subtle difference in server behavior&lt;br/&gt;
that the test was not intending to exercise.  This change ensures that&lt;br/&gt;
the map and reduce functions will behave consistently on all server versions&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3555&quot; title=&quot;Work around changes to mapReduce implementation in the 4.4. server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3555&quot;&gt;&lt;del&gt;JAVA-3555&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/3289efe0b74ec29265bacbd28da062cdeae75cef&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/3289efe0b74ec29265bacbd28da062cdeae75cef&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2733179" author="xgen-internal-githook" created="Wed, 15 Jan 2020 22:34:26 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;username&apos;: &apos;jyemin&apos;, &apos;email&apos;: &apos;jeff.yemin@10gen.com&apos;}
&lt;p&gt;Message: Remove assumptions about result order for mapReduce&lt;/p&gt;

&lt;p&gt;Several driver tests assume mapReduce results are returned in&lt;br/&gt;
a particular order even in the absence of a sort criteria.&lt;/p&gt;

&lt;p&gt;Remove those assumptions by comparing the results as a Set instead of a List&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3555&quot; title=&quot;Work around changes to mapReduce implementation in the 4.4. server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3555&quot;&gt;&lt;del&gt;JAVA-3555&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/4a1b4cb93d5ad35c2af05692cb4614188b451c28&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/4a1b4cb93d5ad35c2af05692cb4614188b451c28&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2733178" author="xgen-internal-githook" created="Wed, 15 Jan 2020 22:34:22 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;username&apos;: &apos;jyemin&apos;, &apos;email&apos;: &apos;jeff.yemin@10gen.com&apos;}
&lt;p&gt;Message: Avoid including default or null values in mapReduceCommand&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;No longer sending null values for the query, sort, finalize, and scope fields&lt;/li&gt;
	&lt;li&gt;No longer sending false values for the sharded and nonAtomic fields of the out sub-document&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3555&quot; title=&quot;Work around changes to mapReduce implementation in the 4.4. server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3555&quot;&gt;&lt;del&gt;JAVA-3555&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/e397462b100e22d7f5c9c72fbfce3f882d3d9a0b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/e397462b100e22d7f5c9c72fbfce3f882d3d9a0b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2643885" author="xgen-internal-githook" created="Wed, 18 Dec 2019 17:38:01 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;email&apos;: &apos;jeff.yemin@10gen.com&apos;, &apos;username&apos;: &apos;jyemin&apos;}
&lt;p&gt;Message: Ensure collection exists prior to outputting mapReduce results to it&lt;/p&gt;

&lt;p&gt;This works around a behavioral change in the 4.4 server&apos;s mapReduce&lt;br/&gt;
implementation on sharded clusters&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3555&quot; title=&quot;Work around changes to mapReduce implementation in the 4.4. server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3555&quot;&gt;&lt;del&gt;JAVA-3555&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: 3.12.x&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/b8c5851bf9db72fdd71e3cd94360256ac949ed92&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/b8c5851bf9db72fdd71e3cd94360256ac949ed92&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2643884" author="xgen-internal-githook" created="Wed, 18 Dec 2019 17:37:56 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;email&apos;: &apos;jeff.yemin@10gen.com&apos;, &apos;username&apos;: &apos;jyemin&apos;}
&lt;p&gt;Message: Make map and reduce functions more realistic in mapReduce collation test&lt;/p&gt;

&lt;p&gt;The functions that were used exposed a subtle difference in server behavior&lt;br/&gt;
that the test was not intending to exercise.  This change ensures that&lt;br/&gt;
the map and reduce functions will behave consistently on all server versions&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3555&quot; title=&quot;Work around changes to mapReduce implementation in the 4.4. server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3555&quot;&gt;&lt;del&gt;JAVA-3555&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: 3.12.x&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/ecc8e23309dd2f8457b46c9efe77bcc79997d3a6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/ecc8e23309dd2f8457b46c9efe77bcc79997d3a6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2643882" author="xgen-internal-githook" created="Wed, 18 Dec 2019 17:37:47 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;email&apos;: &apos;jeff.yemin@10gen.com&apos;, &apos;username&apos;: &apos;jyemin&apos;}
&lt;p&gt;Message: Remove assumptions about result order for mapReduce&lt;/p&gt;

&lt;p&gt;Several driver tests assume mapReduce results are returned in&lt;br/&gt;
a particular order even in the absence of a sort criteria.&lt;/p&gt;

&lt;p&gt;Remove those assumptions by comparing the results as a Set instead of a List&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3555&quot; title=&quot;Work around changes to mapReduce implementation in the 4.4. server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3555&quot;&gt;&lt;del&gt;JAVA-3555&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: 3.12.x&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/4d7a0d54f94936ee63debaea66f3381db5f5af99&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/4d7a0d54f94936ee63debaea66f3381db5f5af99&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2643881" author="xgen-internal-githook" created="Wed, 18 Dec 2019 17:37:43 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;email&apos;: &apos;jeff.yemin@10gen.com&apos;, &apos;username&apos;: &apos;jyemin&apos;}
&lt;p&gt;Message: Avoid including default or null values in mapReduceCommand&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;No longer sending null values for the query, sort, finalize, and scope fields&lt;/li&gt;
	&lt;li&gt;No longer sending false values for the sharded and nonAtomic fields of the out sub-document&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3555&quot; title=&quot;Work around changes to mapReduce implementation in the 4.4. server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3555&quot;&gt;&lt;del&gt;JAVA-3555&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: 3.12.x&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/a97d7d8acb3afdfaf8f92bd4f8d71157f32dbdb4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/a97d7d8acb3afdfaf8f92bd4f8d71157f32dbdb4&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1050375">SERVER-45105</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1058535">SERVER-45210</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1058545">SERVER-45211</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10011"><![CDATA[Minor Change]]></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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hvtddr:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>