<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:59:03 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-3206] Fix connection pool race condition</title>
                <link>https://jira.mongodb.org/browse/JAVA-3206</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;There is a race condition in the &lt;tt&gt;DefaultConnectionPool&lt;/tt&gt; class between the maintenance task thread and the constructor for the class.  The race can be fixed by deferring starting the maintenance task thread to a &lt;tt&gt;start&lt;/tt&gt; method that&apos;s called immediately after the constructor completes, which will ensure that all final fields of the class are published (in the JVM memory model sense of the word)&lt;/p&gt;</description>
                <environment></environment>
        <key id="697612">JAVA-3206</key>
            <summary>Fix connection pool race condition</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="jeff.yemin@mongodb.com">Jeffrey Yemin</assignee>
                                    <reporter username="jeff.yemin@mongodb.com">Jeffrey Yemin</reporter>
                        <labels>
                    </labels>
                <created>Thu, 14 Feb 2019 15:59:14 +0000</created>
                <updated>Sat, 28 Oct 2023 11:22:21 +0000</updated>
                            <resolved>Wed, 27 Feb 2019 15:54:38 +0000</resolved>
                                                    <fixVersion>3.11.0</fixVersion>
                                    <component>Connection Management</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="2164786" author="xgen-internal-githook" created="Wed, 27 Feb 2019 15:54: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: Fix race condition in DefaultConnectionPool constructor&lt;/p&gt;

&lt;p&gt;The race condition is due to the constructor starting a thread which&lt;br/&gt;
access final fields of the containing class.  Since the thread may&lt;br/&gt;
execute before the constructor completes, there is no guarantee that&lt;br/&gt;
the final fields have been &quot;published&quot; to main memory, and therefore&lt;br/&gt;
the fields set in the constructor may not be visible to the thread&lt;br/&gt;
immediately.&lt;/p&gt;

&lt;p&gt;The fix is to defer starting the thread to a start method that the&lt;br/&gt;
driver should call immediately after construction.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3206&quot; title=&quot;Fix connection pool race condition&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3206&quot;&gt;&lt;del&gt;JAVA-3206&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/8c9b9b8160f2f50075181f9532e6ae3991383b02&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/8c9b9b8160f2f50075181f9532e6ae3991383b02&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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hudc5b:</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>