<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:56:45 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-2260] Thread blocked forever when operating on ReplicaSet</title>
                <link>https://jira.mongodb.org/browse/JAVA-2260</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;I use mongodb java driver 3.3.0. When the Java code operating on ReplicaSet, whatever query or update, many threads blocked and never return. Use jstack to observe the threads, it&apos;s like:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&quot;catalina-exec-268&quot; #354 daemon prio=5 os_prio=0 tid=0x00007fe0d8052000 nid=0x6553 waiting on condition &lt;span class=&quot;error&quot;&gt;&amp;#91;0x00007fe0934c2000&amp;#93;&lt;/span&gt;&lt;br/&gt;
   java.lang.Thread.State: WAITING (parking)&lt;br/&gt;
	at sun.misc.Unsafe.park(Native Method)&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;parking to wait for  &amp;lt;0x00000007a36970b0&amp;gt; (a java.util.concurrent.CountDownLatch$Sync)&lt;br/&gt;
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)&lt;br/&gt;
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)&lt;br/&gt;
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)&lt;br/&gt;
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)&lt;br/&gt;
	at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)&lt;br/&gt;
	at com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:250)&lt;br/&gt;
	at com.mongodb.connection.UsageTrackingInternalConnection.receiveMessage(UsageTrackingInternalConnection.java:105)&lt;br/&gt;
	at com.mongodb.connection.DefaultConnectionPool$PooledConnection.receiveMessage(DefaultConnectionPool.java:438)&lt;br/&gt;
	at com.mongodb.connection.CommandProtocol.execute(CommandProtocol.java:112)&lt;br/&gt;
	at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:168)&lt;br/&gt;
	at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:289)&lt;br/&gt;
	at com.mongodb.connection.DefaultServerConnection.command(DefaultServerConnection.java:176)&lt;br/&gt;
	at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:216)&lt;br/&gt;
	at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:207)&lt;br/&gt;
	at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:113)&lt;br/&gt;
	at com.mongodb.operation.FindOperation$1.call(FindOperation.java:488)&lt;br/&gt;
	at com.mongodb.operation.FindOperation$1.call(FindOperation.java:483)&lt;br/&gt;
	at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:241)&lt;br/&gt;
	at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:214)&lt;br/&gt;
	at com.mongodb.operation.FindOperation.execute(FindOperation.java:483)&lt;br/&gt;
	at com.mongodb.operation.FindOperation.execute(FindOperation.java:80)&lt;br/&gt;
	at com.mongodb.Mongo.execute(Mongo.java:818)&lt;br/&gt;
	at com.mongodb.Mongo$2.execute(Mongo.java:805)&lt;br/&gt;
	at com.mongodb.DBCollection.findOne(DBCollection.java:777)&lt;br/&gt;
	at com.mongodb.DBCollection.findOne(DBCollection.java:747)&lt;br/&gt;
	at com.mongodb.DBCollection.findOne(DBCollection.java:694)&lt;br/&gt;
	at com.bugull.mongo.BuguDao.findOne(BuguDao.java:588)&lt;br/&gt;
	at com.bugull.farm.web.module.pad.PadApiController.place(PadApiController.java:344)&lt;br/&gt;
	at sun.reflect.GeneratedMethodAccessor84.invoke(Unknown Source)&lt;br/&gt;
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;br/&gt;
	at java.lang.reflect.Method.invoke(Method.java:497)&lt;br/&gt;
	at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)&lt;br/&gt;
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)&lt;br/&gt;
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)&lt;br/&gt;
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:781)&lt;br/&gt;
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721)&lt;br/&gt;
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)&lt;br/&gt;
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)&lt;br/&gt;
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)&lt;br/&gt;
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)&lt;br/&gt;
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)&lt;br/&gt;
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)&lt;br/&gt;
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)&lt;br/&gt;
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)&lt;br/&gt;
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)&lt;br/&gt;
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;br/&gt;
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)&lt;br/&gt;
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)&lt;br/&gt;
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;br/&gt;
	at com.bugull.farm.web.filter.ApiFilter.doFilter(ApiFilter.java:42)&lt;br/&gt;
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)&lt;br/&gt;
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;br/&gt;
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)&lt;br/&gt;
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)&lt;br/&gt;
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)&lt;br/&gt;
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;br/&gt;
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)&lt;br/&gt;
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)&lt;br/&gt;
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)&lt;br/&gt;
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)&lt;br/&gt;
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)&lt;br/&gt;
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)&lt;br/&gt;
	at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:194)&lt;br/&gt;
	at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:318)&lt;br/&gt;
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)&lt;br/&gt;
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)&lt;br/&gt;
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)&lt;br/&gt;
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)&lt;br/&gt;
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)&lt;br/&gt;
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)&lt;/li&gt;
	&lt;li&gt;locked &amp;lt;0x00000007bb13a0d0&amp;gt; (a org.apache.tomcat.util.net.NioChannel)&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)&lt;br/&gt;
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:745)&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Lots of theads are WAITING. Read the attachment for more details.&lt;br/&gt;
I change driver to 3.2.2, problems are still the same. Then I change driver to 2.14.3, everything works fine.&lt;br/&gt;
If connected to a single mongodb server, instead of replica set, all the driver works fine.&lt;br/&gt;
So I think it&apos;s a bug of the 3.x version.&lt;br/&gt;
I use JDK 8u71 and Tomcat 8.0.30. Mongodb server is 3.2.0.&lt;/p&gt;</description>
                <environment></environment>
        <key id="303718">JAVA-2260</key>
            <summary>Thread blocked forever when operating on ReplicaSet</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="9">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="xbwen">Frank Wen</reporter>
                        <labels>
                    </labels>
                <created>Mon, 25 Jul 2016 12:12:21 +0000</created>
                <updated>Mon, 7 Feb 2022 21:05:47 +0000</updated>
                            <resolved>Tue, 13 Sep 2016 01:46:23 +0000</resolved>
                                    <version>3.2.2</version>
                                                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="1382816" author="jeff.yemin" created="Tue, 13 Sep 2016 01:46:23 +0000"  >&lt;p&gt;As we haven&apos;t heard back from in some time in answer to a request for further information, I&apos;m going to close this issue.  If you have more information to share, I&apos;ll be happy to re-open it.&lt;/p&gt;</comment>
                            <comment id="1334441" author="jeff.yemin" created="Mon, 25 Jul 2016 17:02:37 +0000"  >&lt;p&gt;Hi Frank,&lt;/p&gt;

&lt;p&gt;Thanks for reporting this issue.  This is the first report of its kind, so can you answer a few questions to help us get to the bottom of it?&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Are you able to reproduce this reliably, or is it something that happens intermittently?  If the latter, are there any obvious triggers?&lt;/li&gt;
	&lt;li&gt;When did you first start seeing this issue, and did anything significant change prior to that point in the application or the environment?&lt;/li&gt;
	&lt;li&gt;You mentioned in the title that the application is connecting to a replica set.  Are you able to reproduce this against a standalone as well?&lt;/li&gt;
	&lt;li&gt;Can you share server logs? If there is sensitive information we can arrange for you to upload the logs to a secure server.&lt;/li&gt;
	&lt;li&gt;If necessary, would you be able to try reproducing this with a patched driver that contains additional debug logs?&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Thanks,&lt;br/&gt;
Jeff&lt;/p&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="349561">JAVA-2434</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="132269" name="jstack_tomcat.txt" size="742360" author="xbwen" created="Mon, 25 Jul 2016 12:12:21 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                    <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5002K000011EXX7QAO]]]></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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsnxs7:</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>