Uploaded image for project: 'Java Driver'
  1. Java Driver
  2. JAVA-2327

Race condition closing DefaultConnectionPool

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.4.0
    • Affects Version/s: 3.0.0
    • Component/s: Connection Management
    • None

      From Jenkins job

      java.lang.NullPointerException: null
      	at com.mongodb.connection.DefaultConnectionPool.getId(DefaultConnectionPool.java:371) ~[main/:na]
      	at com.mongodb.connection.DefaultConnectionPool.access$1300(DefaultConnectionPool.java:56) ~[main/:na]
      	at com.mongodb.connection.DefaultConnectionPool$PooledConnection.close(DefaultConnectionPool.java:397) ~[main/:na]
      	at com.mongodb.connection.DefaultServerConnection.release(DefaultServerConnection.java:63) ~[main/:na]
      	at com.mongodb.operation.AsyncQueryBatchCursor$3.onResult(AsyncQueryBatchCursor.java:210) ~[main/:na]
      	at com.mongodb.operation.AsyncQueryBatchCursor$3.onResult(AsyncQueryBatchCursor.java:207) ~[main/:na]
      	at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:49) [main/:na]
      	at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor$1.onResult(DefaultServer.java:185) [main/:na]
      	at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:49) [main/:na]
      	at com.mongodb.connection.KillCursorProtocol$1.onResult(KillCursorProtocol.java:129) [main/:na]
      	at com.mongodb.connection.KillCursorProtocol$1.onResult(KillCursorProtocol.java:115) [main/:na]
      	at com.mongodb.connection.DefaultConnectionPool$PooledConnection$1.onResult(DefaultConnectionPool.java:454) [main/:na]
      	at com.mongodb.connection.DefaultConnectionPool$PooledConnection$1.onResult(DefaultConnectionPool.java:448) [main/:na]
      	at com.mongodb.connection.UsageTrackingInternalConnection$2.onResult(UsageTrackingInternalConnection.java:117) [main/:na]
      	at com.mongodb.connection.UsageTrackingInternalConnection$2.onResult(UsageTrackingInternalConnection.java:113) [main/:na]
      	at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:49) [main/:na]
      	at com.mongodb.connection.InternalStreamConnection$2.completed(InternalStreamConnection.java:310) [main/:na]
      	at com.mongodb.connection.InternalStreamConnection$2.completed(InternalStreamConnection.java:295) [main/:na]
      	at com.mongodb.connection.netty.NettyStream$3.operationComplete(NettyStream.java:189) [main/:na]
      	at com.mongodb.connection.netty.NettyStream$3.operationComplete(NettyStream.java:183) [main/:na]
      	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:514) [netty-common-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:488) [netty-common-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:427) [netty-common-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:111) [netty-common-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:672) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:262) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:342) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:443) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:856) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:362) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:823) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1296) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:786) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:778) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.access$1500(AbstractChannelHandlerContext.java:38) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1149) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1090) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [netty-common-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:418) [netty-common-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:440) [netty-transport-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873) [netty-common-4.1.5.Final.jar:4.1.5.Final]
      	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) [netty-common-4.1.5.Final.jar:4.1.5.Final]
      	at java.lang.Thread.run(Thread.java:662) [na:1.6.0_45]
      23:03:49.922 [cluster-ClusterId{value='57eeef37ea55020bd8d11ee5', 
      

            Assignee:
            jeff.yemin@mongodb.com Jeffrey Yemin
            Reporter:
            jeff.yemin@mongodb.com Jeffrey Yemin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: