Yeah, I use DistributedMapCacheServer for a Wait / Notify flow. Regards,
Rafael On Tue, Dec 26, 2023 at 4:45 PM Matt Burgess <mattyb...@apache.org> wrote: > It looks like we need to call release() from some place(s) where we > don't currently. HBase had the same issues [1]. We use this in the > StandardMapCacheServer and ListenBeats, are you using either, neither, > or both? > > Regards, > Matt > > [1] https://github.com/netty/netty/issues/12549 > > On Tue, Dec 26, 2023 at 8:53 AM Rafael Fracasso > <rafaelfraca...@gmail.com> wrote: > > > > Hi, > > > > sometimes I have these ResourceLeakDetector exceptions on my > nifi-app.log, you guys know the reason this exception was raised and how I > avoid them to happen? > > > > Thanks > > > > Rafael > > > > > > > > 2023-12-26 09:02:15,353 ERROR [nioEventLoopGroup-3-6] > io.netty.util.ResourceLeakDetector 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.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:403) > > > > > io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:188) > > > > > io.netty.buffer.AbstractByteBufAllocator.buffer(AbstractByteBufAllocator.java:124) > > > > io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:871) > > > > > org.apache.nifi.distributed.cache.server.codec.CacheRequestDecoder.readHeader(CacheRequestDecoder.java:238) > > > > > org.apache.nifi.distributed.cache.server.codec.CacheRequestDecoder.decode(CacheRequestDecoder.java:80) > > > > > io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:519) > > > > > io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:458) > > > > > io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:280) > > > > > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > > > > > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > > > > > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) > > > > > io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) > > > > > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > > > > > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > > > > > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) > > > > > io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) > > > > > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > > > > > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > > > > > io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) > > > > > io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) > > > > > io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) > > > > > io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) > > > > > io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) > > > > io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) > > > > > io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) > > > > io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) > > > > > io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) > > > > java.base/java.lang.Thread.run(Thread.java:833) >