You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Originally posted by narayansingh April 15, 2024
Hi,
I am puzzled with an issue which only happens in prod environment, where set commands start to fail and following stack trace[1] is logged in to logs. Looking at the stack trace entry CommandHandler.java:396 I noticed that this code is only executed when tracing is enabled. But we never enabled the tracing as we used redisClient = RedisClient.create(redisURI) to create the client[2] which uses DefaultClientResources.
I have looked through the code and couldn't find any other way where this could be setup. Could someone please help me with this and figure out how come tracing is enabled?
We're using lettuce-core:5.2.1.RELEASE with Wildfly:10 in K8S.
References
[1] Server log
WARN [io.lettuce.core.protocol.DefaultEndpoint] (lettuce-nioEventLoop-4-1) Unexpected exception during request: java.lang.IndexOutOfBoundsException: writerIndex(0) + minWritableBytes(35003394) exceeds maxCapacity(35003392): UnpooledHeapByteBuf(ridx: 0, widx: 0, cap: 35003392/35003392): java.lang.IndexOutOfBoundsException: writerIndex(0) + minWritableBytes(35003394) exceeds maxCapacity(35003392): UnpooledHeapByteBuf(ridx: 0, widx: 0, cap: 35003392/35003392) at io.netty.buffer.AbstractByteBuf.ensureWritable0(AbstractByteBuf.java:293) at io.netty.buffer.ByteBufUtil.reserveAndWriteUtf8Seq(ByteBufUtil.java:552) at io.netty.buffer.ByteBufUtil.writeUtf8(ByteBufUtil.java:509) at io.lettuce.core.codec.StringCodec.encode(StringCodec.java:93) at io.lettuce.core.codec.StringCodec.encodeAndAllocateBuffer(StringCodec.java:173) at io.lettuce.core.codec.StringCodec.encodeValue(StringCodec.java:154) at io.lettuce.core.codec.StringCodec.encodeValue(StringCodec.java:39) at io.lettuce.core.protocol.CommandArgs$ValueArgument.toString(CommandArgs.java:717) at java.lang.String.valueOf(String.java:2994) at java.lang.StringBuilder.append(StringBuilder.java:131) at io.lettuce.core.LettuceStrings.collectionToDelimitedString(LettuceStrings.java:172) at io.lettuce.core.protocol.CommandArgs.toCommandString(CommandArgs.java:306) at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:396) at io.lettuce.core.protocol.CommandHandler.write(CommandHandler.java:353) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:716) at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:763) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:789) at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:757) at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:812) at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1037) at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:293) at io.lettuce.core.protocol.DefaultEndpoint.channelWriteAndFlush(DefaultEndpoint.java:342) at io.lettuce.core.protocol.DefaultEndpoint.writeToChannelAndFlush(DefaultEndpoint.java:282) at io.lettuce.core.protocol.DefaultEndpoint.write(DefaultEndpoint.java:142) at io.lettuce.core.protocol.DefaultEndpoint$RetryListener.requeueCommands(DefaultEndpoint.java:938) at io.lettuce.core.protocol.DefaultEndpoint$RetryListener.lambda$potentiallyRequeueCommands$0(DefaultEndpoint.java:925) at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) at io.netty.util.concurrent.PromiseTask.run(PromiseTask.java:106) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:510) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:518) at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:748)
Discussed in #2828
Originally posted by narayansingh April 15, 2024
Hi,
I am puzzled with an issue which only happens in prod environment, where set commands start to fail and following stack trace[1] is logged in to logs. Looking at the stack trace entry
CommandHandler.java:396
I noticed that this code is only executed when tracing is enabled. But we never enabled the tracing as we usedredisClient = RedisClient.create(redisURI)
to create the client[2] which usesDefaultClientResources
.I have looked through the code and couldn't find any other way where this could be setup. Could someone please help me with this and figure out how come tracing is enabled?
We're using
lettuce-core:5.2.1.RELEASE
withWildfly:10
in K8S.References
[1] Server log
WARN [io.lettuce.core.protocol.DefaultEndpoint] (lettuce-nioEventLoop-4-1) Unexpected exception during request: java.lang.IndexOutOfBoundsException: writerIndex(0) + minWritableBytes(35003394) exceeds maxCapacity(35003392): UnpooledHeapByteBuf(ridx: 0, widx: 0, cap: 35003392/35003392): java.lang.IndexOutOfBoundsException: writerIndex(0) + minWritableBytes(35003394) exceeds maxCapacity(35003392): UnpooledHeapByteBuf(ridx: 0, widx: 0, cap: 35003392/35003392) at io.netty.buffer.AbstractByteBuf.ensureWritable0(AbstractByteBuf.java:293) at io.netty.buffer.ByteBufUtil.reserveAndWriteUtf8Seq(ByteBufUtil.java:552) at io.netty.buffer.ByteBufUtil.writeUtf8(ByteBufUtil.java:509) at io.lettuce.core.codec.StringCodec.encode(StringCodec.java:93) at io.lettuce.core.codec.StringCodec.encodeAndAllocateBuffer(StringCodec.java:173) at io.lettuce.core.codec.StringCodec.encodeValue(StringCodec.java:154) at io.lettuce.core.codec.StringCodec.encodeValue(StringCodec.java:39) at io.lettuce.core.protocol.CommandArgs$ValueArgument.toString(CommandArgs.java:717) at java.lang.String.valueOf(String.java:2994) at java.lang.StringBuilder.append(StringBuilder.java:131) at io.lettuce.core.LettuceStrings.collectionToDelimitedString(LettuceStrings.java:172) at io.lettuce.core.protocol.CommandArgs.toCommandString(CommandArgs.java:306) at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:396) at io.lettuce.core.protocol.CommandHandler.write(CommandHandler.java:353) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:716) at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:763) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:789) at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:757) at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:812) at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1037) at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:293) at io.lettuce.core.protocol.DefaultEndpoint.channelWriteAndFlush(DefaultEndpoint.java:342) at io.lettuce.core.protocol.DefaultEndpoint.writeToChannelAndFlush(DefaultEndpoint.java:282) at io.lettuce.core.protocol.DefaultEndpoint.write(DefaultEndpoint.java:142) at io.lettuce.core.protocol.DefaultEndpoint$RetryListener.requeueCommands(DefaultEndpoint.java:938) at io.lettuce.core.protocol.DefaultEndpoint$RetryListener.lambda$potentiallyRequeueCommands$0(DefaultEndpoint.java:925) at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) at io.netty.util.concurrent.PromiseTask.run(PromiseTask.java:106) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:510) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:518) at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:748)
[2] Sample Client code
The text was updated successfully, but these errors were encountered: