<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:01:37 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-4259] Fix LB-related bugs in AsyncQueryBatchCursor that cause test failures</title>
                <link>https://jira.mongodb.org/browse/JAVA-4259</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;While working on &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-4183&quot; title=&quot;Calling cursor.next() and cursor.close() concurrently in Load Balanced mode uses the same connection simultaneously&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-4183&quot;&gt;&lt;del&gt;JAVA-4183&lt;/del&gt;&lt;/a&gt;, I discovered that some integration tests for &lt;tt&gt;AsyncQueryBatchCursor&lt;/tt&gt; fail when run with load balancer, and one spec test seems to fail sporadically and quite rarely. There is a good chance that these failures all have the same cause. These failures prevented me from running &lt;tt&gt;AsyncQueryBatchCursorFunctionalSpecification&lt;/tt&gt; together with &lt;tt&gt;QueryBatchCursorFunctionalSpecification&lt;/tt&gt; with load balancer (the latter runs with load balancer since &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-4183&quot; title=&quot;Calling cursor.next() and cursor.close() concurrently in Load Balanced mode uses the same connection simultaneously&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-4183&quot;&gt;&lt;del&gt;JAVA-4183&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://spruce.mongodb.com/task/mongo_java_driver_tests_load_balancer_secure__version~5.0_os~ubuntu_topology~sharded_cluster_auth~auth_ssl~ssl_jdk~jdk11_load_balancer_test_patch_91cc64c3b9242f2795ae23290ab8257d6d98dd90_60fb6f9bc9ec445a6e9ff419_21_07_24_01_40_44/tests?execution=0&amp;amp;statuses=fail&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;steady failures with LB&lt;/a&gt; (note that these tests &lt;a href=&quot;https://spruce.mongodb.com/task/mongo_java_driver_tests_jdk8_unsecure__version~5.0_os~linux_topology~replicaset_auth~noauth_ssl~nossl_jdk~jdk8_test_patch_91cc64c3b9242f2795ae23290ab8257d6d98dd90_60fb6f9bc9ec445a6e9ff419_21_07_24_01_40_44/tests?execution=0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;succeed in non-LB mode&lt;/a&gt;
	&lt;ul&gt;
		&lt;li&gt;&lt;tt&gt;AsyncQueryBatchCursorFunctionalSpecification.&apos;should unblock if closed while waiting for more data from tailable cursor&apos;&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;AsyncQueryBatchCursorFunctionalSpecification.&apos;should not retain connection and source after cursor is exhausted on first batch&apos;&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;AsyncQueryBatchCursorFunctionalSpecification.&apos;should not retain connection and source after cursor is exhausted on getMore&apos;&lt;/tt&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;sporadic &lt;tt&gt;com.mongodb.reactivestreams.client.unified.LoadBalancerTest&lt;/tt&gt; failure: &lt;a href=&quot;https://spruce.mongodb.com/task/mongo_java_driver_tests_load_balancer_secure__version~5.0_os~ubuntu_topology~sharded_cluster_auth~auth_ssl~ssl_jdk~jdk11_load_balancer_test_patch_91cc64c3b9242f2795ae23290ab8257d6d98dd90_60fb698f32f41746efcc9be0_21_07_24_01_14_55/tests?execution=0&amp;amp;statuses=fail&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;cursors.json: &quot;pinned connections are returned when the cursor is drained&quot;&lt;/tt&gt;&lt;/a&gt; (the &lt;a href=&quot;https://evergreen.mongodb.com/lobster/evergreen/task/mongo_java_driver_tests_load_balancer_secure__version~5.0_os~ubuntu_topology~sharded_cluster_auth~auth_ssl~ssl_jdk~jdk11_load_balancer_test_patch_91cc64c3b9242f2795ae23290ab8257d6d98dd90_60fb698f32f41746efcc9be0_21_07_24_01_14_55/0/task#bookmarks=0%2C9496&amp;amp;l=1&amp;amp;shareLine=7603&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;logs&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Both of the above patches are done by using &lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/pull/765&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/pull/765&lt;/a&gt; as the base (note that this PR does touches neither &lt;tt&gt;AsyncQueryBatchCursor&lt;/tt&gt; nor &lt;tt&gt;AsyncQueryBatchCursorFunctionalSpecification&lt;/tt&gt;), removing &lt;tt&gt;@Slow&lt;/tt&gt; annotations from tests (because of &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-4145&quot; title=&quot;Slow tests not running as expected&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-4145&quot;&gt;&lt;del&gt;JAVA-4145&lt;/del&gt;&lt;/a&gt;) in &lt;tt&gt;AsyncQueryBatchCursorFunctionalSpecification&lt;/tt&gt; and adding these tests to &lt;tt&gt;run-load-balancer-tests.sh&lt;/tt&gt;. I was not able to do this with &lt;tt&gt;master&lt;/tt&gt; because the aforementioned PR has changes needed to support running &lt;tt&gt;AsyncQueryBatchCursorFunctionalSpecification&lt;/tt&gt; with load balancer. By the time this ticket is in progress, the aforementioned PR will probably have been merged, and the experiment may be repeated with &lt;tt&gt;master&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Implementation of this ticket should also add &lt;tt&gt;AsyncQueryBatchCursorFunctionalSpecification&lt;/tt&gt; to &lt;tt&gt;run-load-balancer-tests.sh&lt;/tt&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1830091">JAVA-4259</key>
            <summary>Fix LB-related bugs in AsyncQueryBatchCursor that cause test failures</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="-1">Unassigned</assignee>
                                    <reporter username="valentin.kovalenko@mongodb.com">Valentin Kavalenka</reporter>
                        <labels>
                    </labels>
                <created>Sat, 24 Jul 2021 02:22:54 +0000</created>
                <updated>Wed, 30 Mar 2022 23:05:04 +0000</updated>
                                            <version>4.3.0</version>
                                                    <component>Reactive Streams</component>
                    <component>Test Coverage</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10020">
                    <name>Gantt Dependency</name>
                                            <outwardlinks description="has to be done before">
                                        <issuelink>
            <issuekey id="1830096">JAVA-4260</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                                                <inwardlinks description="split from">
                                        <issuelink>
            <issuekey id="1765140">JAVA-4183</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>JAVA-3971</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hzt3wn:</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>