Memory leak during connections

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Duplicate
    • Priority: Unknown
    • 5.6.3, 5.7.0
    • Affects Version/s: 5.6.2
    • Component/s: None
    • Java Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      Summary

      After updating to 5.6.2 we started to see the following error in the logs:

       

      LEAK: ByteBuf.release() was not called before it's garbage-collected. See https://netty.io/wiki/reference-counted-objects.html for more information. Recent access records: Created at: io.netty.buffer.AdaptiveByteBufAllocator.newDirectBuffer(AdaptiveByteBufAllocator.java:67) io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:168) io.netty.buffer.AbstractByteBufAllocator.buffer(AbstractByteBufAllocator.java:104) com.mongodb.internal.connection.netty.NettyStream.getBuffer(NettyStream.java:160) com.mongodb.internal.connection.InternalStreamConnection.getBuffer(InternalStreamConnection.java:872) com.mongodb.internal.connection.ByteBufferBsonOutput.getByteBufferAtIndex(ByteBufferBsonOutput.java:190) com.mongodb.internal.connection.ByteBufferBsonOutput.getCurrentByteBuffer(ByteBufferBsonOutput.java:184) com.mongodb.internal.connection.ByteBufferBsonOutput.writeByte(ByteBufferBsonOutput.java:170) org.bson.BsonBinaryWriter.doWriteDateTime(BsonBinaryWriter.java:212) org.bson.AbstractBsonWriter.writeDateTime(AbstractBsonWriter.java:395) com.mongodb.internal.connection.BsonWriterDecorator.writeDateTime(BsonWriterDecorator.java:101) com.mongodb.internal.connection.IdHoldingBsonWriter.writeDateTime(IdHoldingBsonWriter.java:188) org.bson.codecs.DateCodec.encode(DateCodec.java:32) org.bson.codecs.DateCodec.encode(DateCodec.java:29) org.bson.codecs.EncoderContext.encodeWithChildContext(EncoderContext.java:91) org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:206) org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:164) org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:44) org.bson.internal.LazyCodec.encode(LazyCodec.java:43) org.bson.codecs.EncoderContext.encodeWithChildContext(EncoderContext.java:91) org.bson.codecs.CollectionCodec.writeValue(CollectionCodec.java:93) org.bson.codecs.AbstractCollectionCodec.encode(AbstractCollectionCodec.java:111) org.bson.codecs.AbstractCollectionCodec.encode(AbstractCollectionCodec.java:42) org.bson.codecs.EncoderContext.encodeWithChildContext(EncoderContext.java:91) org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:206) org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:164) org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:44) org.bson.internal.LazyCodec.encode(LazyCodec.java:43) org.bson.codecs.EncoderContext.encodeWithChildContext(EncoderContext.java:91) org.bson.codecs.CollectionCodec.writeValue(CollectionCodec.java:93) org.bson.codecs.AbstractCollectionCodec.encode(AbstractCollectionCodec.java:111) org.bson.codecs.AbstractCollectionCodec.encode(AbstractCollectionCodec.java:42) org.bson.codecs.EncoderContext.encodeWithChildContext(EncoderContext.java:91) org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:206) org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:164) org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:44) org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:63) org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:29) com.mongodb.internal.connection.SplittablePayload$WriteRequestEncoder.lambda$encode$0(SplittablePayload.java:221) java.base/java.util.HashMap.compute(HashMap.java:1316) com.mongodb.internal.connection.SplittablePayload$WriteRequestEncoder.encode(SplittablePayload.java:211) com.mongodb.internal.connection.SplittablePayload$WriteRequestEncoder.encode(SplittablePayload.java:199) org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:63) org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:29) com.mongodb.internal.connection.BsonWriterHelper.encodeUsingRegistry(BsonWriterHelper.java:186) com.mongodb.internal.connection.BsonWriterHelper.writeDocument(BsonWriterHelper.java:172) com.mongodb.internal.connection.BsonWriterHelper.writePayload(BsonWriterHelper.java:84) com.mongodb.internal.connection.CommandMessage.writeOpMsg(CommandMessage.java:252) com.mongodb.internal.connection.CommandMessage.encodeMessageBody(CommandMessage.java:234) com.mongodb.internal.connection.RequestMessage.encode(RequestMessage.java:95) com.mongodb.internal.connection.CommandMessage.encode(CommandMessage.java:73) com.mongodb.internal.connection.InternalStreamConnection.sendAndReceiveAsyncInternal(InternalStreamConnection.java:555) com.mongodb.internal.connection.InternalStreamConnection.lambda$sendAndReceiveAsync$1(InternalStreamConnection.java:392) com.mongodb.internal.async.AsyncSupplier.finish(AsyncSupplier.java:68) com.mongodb.internal.async.AsyncSupplier.getAsync(AsyncSupplier.java:49) com.mongodb.internal.connection.InternalStreamConnection.lambda$sendAndReceiveAsync$2(InternalStreamConnection.java:395) com.mongodb.internal.async.AsyncSupplier.finish(AsyncSupplier.java:68) com.mongodb.internal.async.AsyncRunnable.lambda$thenSupply$7(AsyncRunnable.java:218) com.mongodb.internal.async.SingleResultCallback.complete(SingleResultCallback.java:63) com.mongodb.internal.async.AsyncRunnable.lambda$beginAsync$0(AsyncRunnable.java:123) com.mongodb.internal.async.AsyncRunnable.lambda$thenSupply$8(AsyncRunnable.java:216) com.mongodb.internal.async.AsyncSupplier.finish(AsyncSupplier.java:68) com.mongodb.internal.async.AsyncSupplier.lambda$onErrorIf$8(AsyncSupplier.java:171) com.mongodb.internal.async.AsyncSupplier.finish(AsyncSupplier.java:68) com.mongodb.internal.connection.InternalStreamConnection.sendAndReceiveAsync(InternalStreamConnection.java:398) com.mongodb.internal.connection.UsageTrackingInternalConnection.sendAndReceiveAsync(UsageTrackingInternalConnection.java:141) com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.sendAndReceiveAsync(DefaultConnectionPool.java:782) com.mongodb.internal.connection.CommandProtocolImpl.executeAsync(CommandProtocolImpl.java:66) com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.executeAsync(DefaultServer.java:230) com.mongodb.internal.connection.DefaultServerConnection.executeProtocolAsync(DefaultServerConnection.java:119) com.mongodb.internal.connection.DefaultServerConnection.commandAsync(DefaultServerConnection.java:100) com.mongodb.internal.connection.DefaultServer$AsyncOperationCountTrackingConnection.commandAsync(DefaultServer.java:368) com.mongodb.internal.operation.MixedBulkWriteOperation.executeCommandAsync(MixedBulkWriteOperation.java:444) com.mongodb.internal.operation.MixedBulkWriteOperation.lambda$executeBulkWriteBatchAsync$8(MixedBulkWriteOperation.java:331) com.mongodb.internal.async.function.AsyncCallbackLoop.run(AsyncCallbackLoop.java:56) com.mongodb.internal.operation.MixedBulkWriteOperation.executeBulkWriteBatchAsync(MixedBulkWriteOperation.java:365) com.mongodb.internal.operation.MixedBulkWriteOperation.lambda$executeAsync$4(MixedBulkWriteOperation.java:259) com.mongodb.internal.operation.AsyncOperationHelper.lambda$withAsyncSourceAndConnection$0(AsyncOperationHelper.java:121) com.mongodb.internal.operation.AsyncOperationHelper.lambda$withAsyncSuppliedResource$2(AsyncOperationHelper.java:138) com.mongodb.internal.async.function.AsyncCallbackSupplier.lambda$whenComplete$2(AsyncCallbackSupplier.java:97) com.mongodb.internal.operation.AsyncOperationHelper.lambda$withAsyncSuppliedResource$3(AsyncOperationHelper.java:139) com.mongodb.internal.connection.DefaultServer.lambda$getConnectionAsync$0(DefaultServer.java:127) com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:47) com.mongodb.internal.connection.DefaultConnectionPool.lambda$getAsync$0(DefaultConnectionPool.java:219) com.mongodb.internal.connection.DefaultConnectionPool.lambda$getAsync$1(DefaultConnectionPool.java:242) com.mongodb.internal.connection.DefaultConnectionPool$Task.doComplete(DefaultConnectionPool.java:1433) com.mongodb.internal.connection.DefaultConnectionPool$Task.execute(DefaultConnectionPool.java:1419) com.mongodb.internal.connection.DefaultConnectionPool$AsyncWorkManager.lambda$workerRun$4(DefaultConnectionPool.java:1356) com.mongodb.internal.time.Timeout.lambda$run$9(Timeout.java:200) com.mongodb.internal.time.TimePoint.checkedCall(TimePoint.java:101) com.mongodb.internal.time.Timeout.call(Timeout.java:176) com.mongodb.internal.time.Timeout.run(Timeout.java:196) com.mongodb.internal.connection.DefaultConnectionPool$AsyncWorkManager.workerRun(DefaultConnectionPool.java:1354) com.mongodb.internal.connection.DefaultConnectionPool$AsyncWorkManager.runAndLogUncaught(DefaultConnectionPool.java:1383) com.mongodb.internal.connection.DefaultConnectionPool$AsyncWorkManager.lambda$initUnlessClosed$1(DefaultConnectionPool.java:1324) java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) java.base/java.lang.Thread.run(Thread.java:840)

       

      Usually occurs when application starts, and then randomly during runtime. We're running a mongodb replica set on version 8.0.17

            Assignee:
            Ross Lawley
            Reporter:
            ghimis radu
            None
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: