when i test multi and the looptimes is 100000 , the looptimes is 10000 is ok
connection.multi();
for (int i = 0; i < 100000; i++) {
connection.set("t" + i, "t" + i);
}
connection.exec();
io.netty.channel.AbstractChannelHandlerContext notifyOutboundHandlerException
warning: Failed to fail the promise because it's done already: DefaultChannelPromise@f1f2cc(failure: java.util.ConcurrentModificationException)
java.util.ConcurrentModificationException
at java.util.ArrayDeque.delete(ArrayDeque.java:512)
at java.util.ArrayDeque.removeFirstOccurrence(ArrayDeque.java:333)
at java.util.ArrayDeque.remove(ArrayDeque.java:694)
at com.lambdaworks.redis.protocol.CommandHandler.queueCommand(CommandHandler.java:428)
at com.lambdaworks.redis.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:372)
at com.lambdaworks.redis.protocol.CommandHandler.write(CommandHandler.java:355)
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:718)
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:710)
at io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:33)
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1037)
at io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1089)
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1022)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:358)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:394)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
at java.lang.Thread.run(Thread.java:619)
when i test multi and the looptimes is 100000 , the looptimes is 10000 is ok connection.multi(); for (int i = 0; i < 100000; i++) { connection.set("t" + i, "t" + i); } connection.exec();
io.netty.channel.AbstractChannelHandlerContext notifyOutboundHandlerException warning: Failed to fail the promise because it's done already: DefaultChannelPromise@f1f2cc(failure: java.util.ConcurrentModificationException) java.util.ConcurrentModificationException at java.util.ArrayDeque.delete(ArrayDeque.java:512) at java.util.ArrayDeque.removeFirstOccurrence(ArrayDeque.java:333) at java.util.ArrayDeque.remove(ArrayDeque.java:694) at com.lambdaworks.redis.protocol.CommandHandler.queueCommand(CommandHandler.java:428) at com.lambdaworks.redis.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:372) at com.lambdaworks.redis.protocol.CommandHandler.write(CommandHandler.java:355) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:718) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:710) at io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:33) at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1037) at io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1089) at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1022) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:358) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:394) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112) at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145) at java.lang.Thread.run(Thread.java:619)