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

com.mongodb.MongoSocketWriteException when using Async driver + Netty + MongoDBAtlas

    • Type: Icon: Task Task
    • Resolution: Works as Designed
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.4.2
    • Component/s: Connection Management
    • Labels:
      None
    • Environment:
      Unix, application built on Vertx3 + Netty 4.1.8.Final + MongoDBAtlas v3.4.4

      An issue pretty much like JAVA-1931.

      After a few operations on the database, idle time in between, I receive the following exception:

      2017-06-09 10:37:34 com.mongodb.diagnostics.logging.JULLogger log [WARNING] Got socket exception on connection [connectionId{localValue:5, serverValue:366843}] to clusterxxx.mongodb.net:27017. All connections to clusterxxx.mongodb.net:27017 will be closed.  
      2017-06-09 10:37:34 com.mongodb.diagnostics.logging.JULLogger log [INFO] Closed connection [connectionId{localValue:5, serverValue:366843}] to clusterxxx.mongodb.net:27017 because there was a socket exception raised on another connection from this pool.  
      com.mongodb.MongoSocketWriteException: Exception sending message
      	at com.mongodb.connection.InternalStreamConnection.translateWriteException(InternalStreamConnection.java:465)
      	at com.mongodb.connection.InternalStreamConnection.access$1000(InternalStreamConnection.java:66)
      	at com.mongodb.connection.InternalStreamConnection$2.failed(InternalStreamConnection.java:323)
      	at com.mongodb.connection.netty.NettyStream$3.operationComplete(NettyStream.java:188)
      	at com.mongodb.connection.netty.NettyStream$3.operationComplete(NettyStream.java:184)
      	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:507)
      	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:481)
      	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:420)
      	at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:122)
      	at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetFailure(AbstractChannel.java:906)
      	at io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:791)
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1291)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:739)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:731)
      	at io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:38)
      	at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1090)
      	at io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1137)
      	at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1079)
      	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
      	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
      	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:445)
      	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
      	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.nio.channels.ClosedChannelException
      	at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source)
      2017-06-09 10:37:34 com.mongodb.diagnostics.logging.JULLogger log [INFO] Discovered replica set primary clusterxxx.mongodb.net:27017  
      

      As in JAVA-1931, I'm calling System.setProperty("org.mongodb.async.type", "netty")
      I'm using Vertx3 (Netty 4.1.8.Final) to connect to a MongoDBAtlas v3.4.4 and tried with different mongo-driver-async/core/bson versions: 3.4.1, 3.4.2 and 3.5.0 without any success.

        1. application_netty.log
          903 kB
        2. log.txt
          82 kB

            Assignee:
            Unassigned Unassigned
            Reporter:
            munsuri Iván Munsuri Ibañez
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: