<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:03:15 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-4908] Ensure no NPE is thrown with SerializedFluxSink</title>
                <link>https://jira.mongodb.org/browse/JAVA-4908</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;From PR: &lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/pull/1096&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/pull/1096&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;We use Mongodb reactive stream driver with akka-stream and had an issue when trying to upgrade our mongodb driver from 4.1.x to 4.9.0. The same code which was working with 4.1.x does not work anymore with 4.9.0.&lt;br/&gt;
We tracked downed the issue and it&apos;s happening since the addition of reactor to this project.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;The issue is that when performing a find/distinct which returns null values, when the results are used in a SerializedFluxSink a NullPointerException is thrown and everything stops. This is because SerializedFluxSink.next performs a call to Object.requireNonNull().&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;To fix this NPE we filter out null values from the results.&lt;/p&gt;

&lt;p&gt;I&apos;m not sure this is the appropriate way to test/fix, suggestions are welcome.&lt;br/&gt;
In the meantime we workaround this on our side by filtering out null values in the query.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</description>
                <environment></environment>
        <key id="2286489">JAVA-4908</key>
            <summary>Ensure no NPE is thrown with SerializedFluxSink</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="ross@mongodb.com">Ross Lawley</assignee>
                                    <reporter username="ross@mongodb.com">Ross Lawley</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Mar 2023 10:25:45 +0000</created>
                <updated>Sat, 28 Oct 2023 11:20:28 +0000</updated>
                            <resolved>Thu, 30 Mar 2023 09:20:06 +0000</resolved>
                                                    <fixVersion>4.9.1</fixVersion>
                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="5314750" author="xgen-internal-githook" created="Fri, 31 Mar 2023 09:17:27 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Clem&apos;, &apos;email&apos;: &apos;716892+imclem@users.noreply.github.com&apos;, &apos;username&apos;: &apos;imclem&apos;}
&lt;p&gt;Message: Ensure no NPE is thrown with SerializedFluxSink (#1096)&lt;/p&gt;

&lt;p&gt;When the FluxSink is an instance of SerializedFluxSink and the results&lt;br/&gt;
contains a null value, a NullPointerException is thrown and the whole process&lt;br/&gt;
stops. This is because SerializedFluxSink.next performs a call to&lt;br/&gt;
Object.requireNonNull().&lt;/p&gt;

&lt;p&gt;To fix this issue we filter out null values from the results.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-4908&quot; title=&quot;Ensure no NPE is thrown with SerializedFluxSink&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-4908&quot;&gt;&lt;del&gt;JAVA-4908&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: 4.9.x&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/eff01da179401245c42ea9674fc0a1309994e93e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/eff01da179401245c42ea9674fc0a1309994e93e&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5311340" author="ross@10gen.com" created="Thu, 30 Mar 2023 09:18:46 +0000"  >&lt;p&gt;This is a regression we previously did the same filtering in the &lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/blob/3.12.x/driver-async/src/main/com/mongodb/async/client/AbstractSubscription.java#L114-L118&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;AbstractSubscription&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="5311337" author="xgen-internal-githook" created="Thu, 30 Mar 2023 09:17:40 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Clem&apos;, &apos;email&apos;: &apos;716892+imclem@users.noreply.github.com&apos;, &apos;username&apos;: &apos;imclem&apos;}
&lt;p&gt;Message: Ensure no NPE is thrown with SerializedFluxSink (#1096)&lt;/p&gt;

&lt;p&gt;When the FluxSink is an instance of SerializedFluxSink and the results&lt;br/&gt;
contains a null value, a NullPointerException is thrown and the whole process&lt;br/&gt;
stops. This is because SerializedFluxSink.next performs a call to&lt;br/&gt;
Object.requireNonNull().&lt;/p&gt;

&lt;p&gt;To fix this issue we filter out null values from the results.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-4908&quot; title=&quot;Ensure no NPE is thrown with SerializedFluxSink&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-4908&quot;&gt;&lt;del&gt;JAVA-4908&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/960989021730cd97aa3c6aa6d3a45d05020fc858&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/960989021730cd97aa3c6aa6d3a45d05020fc858&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <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_14266" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Documentation Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;1.  What would you like to communicate to the user about this feature?&lt;br/&gt;
2.  Would you like the user to see examples of the syntax and/or executable code and its output?&lt;br/&gt;
3.  Which versions of the driver/connector does this apply to?&lt;/p&gt;</customfieldvalue>

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