<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:53:54 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-1148] Race condition at com.mongodb.MultiServerCluster</title>
                <link>https://jira.mongodb.org/browse/JAVA-1148</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;&quot;cluster-1-thread-2&quot; - Thread t@66&lt;br/&gt;
   java.lang.Thread.State: BLOCKED&lt;br/&gt;
	at com.mongodb.DefaultServer$DefaultServerStateListener.stateChanged(DefaultServer.java:112)&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;waiting to lock &amp;lt;772e7c67&amp;gt; (a com.mongodb.DefaultServer$DefaultServerStateListener) owned by &quot;cluster-1-thread-1&quot; t@65&lt;br/&gt;
	at com.mongodb.DefaultServer.invalidate(DefaultServer.java:87)&lt;br/&gt;
	at com.mongodb.MultiServerCluster.invalidateOldPrimaries(MultiServerCluster.java:215)&lt;br/&gt;
	at com.mongodb.MultiServerCluster.handleReplicaSetMemberChanged(MultiServerCluster.java:176)&lt;br/&gt;
	at com.mongodb.MultiServerCluster.onChange(MultiServerCluster.java:130)&lt;/li&gt;
	&lt;li&gt;locked &amp;lt;ce98b52&amp;gt; (a com.mongodb.MultiServerCluster)&lt;br/&gt;
	at com.mongodb.MultiServerCluster.access$100(MultiServerCluster.java:39)&lt;br/&gt;
	at com.mongodb.MultiServerCluster$DefaultServerStateListener.stateChanged(MultiServerCluster.java:104)&lt;br/&gt;
	at com.mongodb.DefaultServer$DefaultServerStateListener.stateChanged(DefaultServer.java:114)&lt;/li&gt;
	&lt;li&gt;locked &amp;lt;38b9bb1d&amp;gt; (a com.mongodb.DefaultServer$DefaultServerStateListener)&lt;br/&gt;
	at com.mongodb.ServerStateNotifier.run(ServerStateNotifier.java:106)&lt;/li&gt;
	&lt;li&gt;locked &amp;lt;5238b42d&amp;gt; (a com.mongodb.ServerStateNotifier)&lt;br/&gt;
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)&lt;br/&gt;
	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)&lt;br/&gt;
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)&lt;br/&gt;
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)&lt;br/&gt;
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)&lt;br/&gt;
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:662)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;   Locked ownable synchronizers:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;locked &amp;lt;8bd2087&amp;gt; (a java.util.concurrent.locks.ReentrantLock$NonfairSync)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&quot;cluster-1-thread-1&quot; - Thread t@65&lt;br/&gt;
   java.lang.Thread.State: BLOCKED&lt;br/&gt;
	at com.mongodb.MultiServerCluster.onChange(MultiServerCluster.java:114)&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;waiting to lock &amp;lt;ce98b52&amp;gt; (a com.mongodb.MultiServerCluster) owned by &quot;cluster-1-thread-2&quot; t@66&lt;br/&gt;
	at com.mongodb.MultiServerCluster.access$100(MultiServerCluster.java:39)&lt;br/&gt;
	at com.mongodb.MultiServerCluster$DefaultServerStateListener.stateChanged(MultiServerCluster.java:104)&lt;br/&gt;
	at com.mongodb.DefaultServer$DefaultServerStateListener.stateChanged(DefaultServer.java:114)&lt;/li&gt;
	&lt;li&gt;locked &amp;lt;772e7c67&amp;gt; (a com.mongodb.DefaultServer$DefaultServerStateListener)&lt;br/&gt;
	at com.mongodb.ServerStateNotifier.run(ServerStateNotifier.java:106)&lt;/li&gt;
	&lt;li&gt;locked &amp;lt;38a2838c&amp;gt; (a com.mongodb.ServerStateNotifier)&lt;br/&gt;
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)&lt;br/&gt;
	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)&lt;br/&gt;
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)&lt;br/&gt;
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)&lt;br/&gt;
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)&lt;br/&gt;
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:662)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;   Locked ownable synchronizers:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;locked &amp;lt;356a7960&amp;gt; (a java.util.concurrent.locks.ReentrantLock$NonfairSync)&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="121776">JAVA-1148</key>
            <summary>Race condition at com.mongodb.MultiServerCluster</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.mongodb.org/images/icons/priorities/blocker.svg">Blocker - P1</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="-1">Unassigned</assignee>
                                    <reporter username="timotta">Tiago Albineli Motta</reporter>
                        <labels>
                            <label>rc</label>
                    </labels>
                <created>Mon, 17 Mar 2014 17:03:54 +0000</created>
                <updated>Fri, 1 Apr 2016 21:20:09 +0000</updated>
                            <resolved>Tue, 18 Mar 2014 16:46:27 +0000</resolved>
                                    <version>2.12.0</version>
                                    <fixVersion>2.12.0</fixVersion>
                    <fixVersion>3.0.0</fixVersion>
                                    <component>Cluster Management</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="519701" author="jeff.yemin" created="Wed, 19 Mar 2014 23:06:35 +0000"  >&lt;p&gt;Tiago,&lt;/p&gt;

&lt;p&gt;OK, and thanks again for the bug report.&lt;/p&gt;


&lt;p&gt;Jeff&lt;/p&gt;</comment>
                            <comment id="519696" author="timotta" created="Wed, 19 Mar 2014 22:55:42 +0000"  >&lt;p&gt;Jeff&lt;/p&gt;

&lt;p&gt;I cannot reproduce the problem anymore because we are not using it anymore. It was happen on production environment, so we had to emergencily change our mongodb driver and now we are using reactivemongo (since our project is in scala). &lt;/p&gt;

&lt;p&gt;Tiago&lt;/p&gt;</comment>
                            <comment id="518623" author="jeff.yemin" created="Tue, 18 Mar 2014 19:13:54 +0000"  >&lt;p&gt;Hi Tiago,&lt;/p&gt;

&lt;p&gt;A fix for this has been pushed.  Would you be able to test it out?&lt;/p&gt;</comment>
                            <comment id="518452" author="xgen-internal-githook" created="Tue, 18 Mar 2014 16:46:06 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;jyemin&apos;, u&apos;name&apos;: u&apos;Jeff Yemin&apos;, u&apos;email&apos;: u&apos;jeff.yemin@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-1148&quot; title=&quot;Race condition at com.mongodb.MultiServerCluster&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-1148&quot;&gt;&lt;del&gt;JAVA-1148&lt;/del&gt;&lt;/a&gt;: Fixed deadlock between DefaultServer and MultiServerCluster by removing unnecessary synchronization in DefaultServer&lt;br/&gt;
Branch: 3.0.x&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/4d0e325439e8857c63134c3dcf9ce1c3df96184b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/4d0e325439e8857c63134c3dcf9ce1c3df96184b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="518451" author="xgen-internal-githook" created="Tue, 18 Mar 2014 16:45:23 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;jyemin&apos;, u&apos;name&apos;: u&apos;Jeff Yemin&apos;, u&apos;email&apos;: u&apos;jeff.yemin@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-1148&quot; title=&quot;Race condition at com.mongodb.MultiServerCluster&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-1148&quot;&gt;&lt;del&gt;JAVA-1148&lt;/del&gt;&lt;/a&gt;: Fixed deadlock between DefaultServer and MultiServerCluster by removing unnecessary synchronization in DefaultServer&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/9abd39b737c1fe1f21cd78fc59616fba4b5befe2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/9abd39b737c1fe1f21cd78fc59616fba4b5befe2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="517843" author="jeff.yemin" created="Mon, 17 Mar 2014 21:43:48 +0000"  >&lt;p&gt;Thanks for the report.  Are you able to reproduce this consistently?&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|hrwslr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>105453</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>