i__0o0__ 2023-07-28 13:33 采纳率: 66.7%
浏览 52
已结题

Redis报错IndexOutOfBoundsException

Redis报错,请问该如何解决,日志如下:
我的系统代码只做了一个缓存的注解。。

@Cacheable(cacheNames = "code", key = "#root.methodName")
public Map<String, String> getSysCode() throws BizException {
  //查询语句

}


Redis exception; nested exception is io.lettuce.core.RedisException: java.lang.IndexOutOfBoundsException: writerIndex(2147483646) + minWritableBytes(8) exceeds maxCapacity(2147483647): PooledUnsafeDirectByteBuf(ridx: 2147306182, widx: 2147483646, cap: 2147483647)
java.lang.IndexOutOfBoundsException: writerIndex(2147483646) + minWritableBytes(16384) exceeds maxCapacity(2147483647): PooledUnsafeDirectByteBuf(ridx: 2147306182, widx: 2147483646, cap: 2147483647)
    at io.netty.buffer.AbstractByteBuf.ensureWritable0(AbstractByteBuf.java:289)
    at io.netty.buffer.AbstractByteBuf.ensureWritable(AbstractByteBuf.java:278)
    at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1103)
    at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1096)
    at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1087)
    at io.lettuce.core.protocol.CommandHandler.channelRead(CommandHandler.java:554)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
    at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799)
    at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:433)
    at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:330)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.lang.Thread.run(Thread.java:748)
 WARN  io.lettuce.core.protocol.CommandHandler - null Unexpected exception during request: java.lang.IndexOutOfBoundsException: writerIndex(2147483646) + minWritableBytes(65536) exceeds maxCapacity(2147483647): PooledUnsafeDirectByteBuf(ridx: 2147306182, widx: 2147483646, cap: 2147483647)
java.lang.IndexOutOfBoundsException: writerIndex(2147483646) + minWritableBytes(65536) exceeds maxCapacity(2147483647): PooledUnsafeDirectByteBuf(ridx: 2147306182, widx: 2147483646, cap: 2147483647)
    at io.netty.buffer.AbstractByteBuf.ensureWritable0(AbstractByteBuf.java:289)
    at io.netty.buffer.AbstractByteBuf.ensureWritable(AbstractByteBuf.java:278)
    at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1103)
    at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1096)
    at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1087)
    at io.lettuce.core.protocol.CommandHandler.channelRead(CommandHandler.java:554)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
    at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799)
    at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:433)
    at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:330)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.lang.Thread.run(Thread.java:748)
  • 写回答

4条回答 默认 最新

  • Watch the clown 2023-07-28 14:11
    关注

    不是数据长度的问题,代码说的是索引越界了,你应该放置代码给我们分析

    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月10日
  • 专家已采纳回答 8月2日
  • 修改了问题 7月28日
  • 创建了问题 7月28日