<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:03:46 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-5109] Try creating tests that verify interruptibility of synchronous MongoClient methods and MongoIterable/MongoCursor methods</title>
                <link>https://jira.mongodb.org/browse/JAVA-5109</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description></description>
                <environment></environment>
        <key id="2418376">JAVA-5109</key>
            <summary>Try creating tests that verify interruptibility of synchronous MongoClient methods and MongoIterable/MongoCursor methods</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</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="9">Done</resolution>
                                        <assignee username="valentin.kovalenko@mongodb.com">Valentin Kavalenka</assignee>
                                    <reporter username="valentin.kovalenko@mongodb.com">Valentin Kavalenka</reporter>
                        <labels>
                    </labels>
                <created>Tue, 15 Aug 2023 22:27:28 +0000</created>
                <updated>Thu, 7 Sep 2023 19:50:02 +0000</updated>
                            <resolved>Fri, 1 Sep 2023 16:41:01 +0000</resolved>
                                                                    <component>Test Coverage</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5675264" author="JIRAUSER1258163" created="Fri, 1 Sep 2023 16:41:01 +0000"  >&lt;p&gt;Note that the test is not in the &lt;tt&gt;master&lt;/tt&gt; branch: &lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/tree/JAVA_5109&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/tree/JAVA_5109&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="5660055" author="jeff.yemin" created="Fri, 25 Aug 2023 17:47:57 +0000"  >&lt;p&gt;&amp;gt; and I won&apos;t continue trying to create tests that we can run as part of our build process, unless the team decides that&apos;s what we have to do no matter the cost&lt;/p&gt;

&lt;p&gt;Unless &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ross%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;ross@mongodb.com&quot;&gt;ross@mongodb.com&lt;/a&gt; can think of a cost-effective way to achieve this, I&apos;m in favor also of a standalone project&lt;/p&gt;</comment>
                            <comment id="5660045" author="JIRAUSER1258163" created="Fri, 25 Aug 2023 17:44:53 +0000"  >&lt;blockquote&gt;&lt;p&gt;I now will try upgrading to Gradle 7.6. If I succeed, I should be able to use Java SE 19.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;While I successfully upgraded to Gradle 7.6, I was unable to set up a new Gradle project with tests that would compile and run only if JDK 19+ is used. This is absolute time waste, and I won&apos;t continue trying to create tests that we can run as part of our build process, unless the team decides that&apos;s what we have to do no matter the cost (&lt;a href=&quot;https://github.com/stIncMale/mongo-java-driver/tree/JAVA-5109_add_driver-sync-virtual-threads&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/stIncMale/mongo-java-driver/tree/JAVA-5109_add_driver-sync-virtual-threads&lt;/a&gt; is what I ended up with).&lt;/p&gt;

&lt;p&gt;Instead, I&apos;ll create a standalone project with tests that can be run locally, but not on Evergreen. They&apos;ll the driver the way other applications use it. At least this way I can make progress.&lt;/p&gt;</comment>
                            <comment id="5657035" author="JIRAUSER1258163" created="Thu, 24 Aug 2023 16:56:50 +0000"  >&lt;p&gt;&lt;tt&gt;Socket&lt;/tt&gt; IO is interruptible if the socket is associated with a &lt;tt&gt;SocketChannel&lt;/tt&gt; (that&apos;s not how we create our sockets, because then we would either have to use &lt;tt&gt;SSLEngine&lt;/tt&gt; explicitly, or via a third-party library) or if the IO is done from a virtual thread. This means that the test has to use virtual threads, i.e., it requires either Java SE 19 (&lt;a href=&quot;https://openjdk.org/jeps/425&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://openjdk.org/jeps/425&lt;/a&gt;) or Java SE 20 (&lt;a href=&quot;https://openjdk.org/jeps/436&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://openjdk.org/jeps/436&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;According to &lt;a href=&quot;https://docs.gradle.org/current/userguide/compatibility.html#java&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.gradle.org/current/userguide/compatibility.html#java&lt;/a&gt;, using Java SE 19 requires required Gradle 7.6, and using Java SE 20 requires Gradle 8.3.&lt;/p&gt;

&lt;p&gt;I tried &lt;a href=&quot;https://docs.gradle.org/current/userguide/upgrading_version_7.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;upgrading Gradle 7.3 to Gradle 8.3&lt;/a&gt;, but it is impossible because we &lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/blob/c4662b11279cff3b24855287bea3d597aa3817cf/build.gradle#L172&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;use&lt;/a&gt; &lt;a href=&quot;https://plugins.gradle.org/plugin/nebula.optional-base&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://plugins.gradle.org/plugin/nebula.optional-base&lt;/a&gt; 7.0.0 (the latest at the moment; it allows us to declare optional dependencies without using &lt;a href=&quot;https://docs.gradle.org/current/userguide/feature_variants.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Gradle feature variants&lt;/a&gt;&lt;sup&gt;1&lt;/sup&gt;), which causes Gradle 8.3 to produce&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;* Where:&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;Build file &apos;/Users/valentin.kovalenko/Documents/projects/mongo-java-driver/build.gradle&apos; line: 172&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;* What went wrong:&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;A problem occurred evaluating root project &apos;mongo-java-driver&apos;.&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;&amp;gt; org/gradle/api/plugins/MavenPlugin&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;This error happens because the Gradle plugin with the &lt;tt&gt;maven&lt;/tt&gt; &lt;tt&gt;id&lt;/tt&gt; was &lt;a href=&quot;https://github.com/gradle/gradle/issues/24297#issuecomment-1465797948&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;removed in 8.0&lt;/a&gt;, and the &lt;a href=&quot;https://docs.gradle.org/current/userguide/publishing_maven.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;plugin with the &lt;tt&gt;maven-publish&lt;/tt&gt; &lt;tt&gt;id&lt;/tt&gt;&lt;/a&gt; must be used instead. This removal was &lt;a href=&quot;https://docs.gradle.org/current/userguide/upgrading_version_6.html#removal_of_the_legacy_maven_plugin&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;announced in Gradle 7.0&lt;/a&gt;, but happened only in Gradle 8.0 without further notifications. Apparently, &lt;a href=&quot;https://plugins.gradle.org/plugin/nebula.optional-base&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://plugins.gradle.org/plugin/nebula.optional-base&lt;/a&gt; still uses the &lt;tt&gt;maven&lt;/tt&gt; plugin.&lt;/p&gt;

&lt;p&gt;I now will try upgrading to Gradle 7.6. If I succeed, I should be able to use Java SE 19.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; I tried declaring an optional &lt;tt&gt;org.slf4j:slf4j-api&lt;/tt&gt; dependency using a feature variant instead of &lt;tt&gt;nebula.optional-base&lt;/tt&gt;. Of course, the project did not even &lt;a href=&quot;https://docs.gradle.org/current/userguide/build_lifecycle.html#sec:project_evaluation&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;evaluate&lt;/a&gt; successfully as a result.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                        <issuelink>
            <issuekey id="2436909">JAVA-5136</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2258636">JAVA-4876</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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="10038"><![CDATA[Fully Compatible]]></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_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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>JAVA-4649</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY24Q3</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i24ijc:</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>