-
Bug
-
Resolution: Done
-
Major
-
None
-
None
We have tests in place for transactional operations. However, our test suite doesn't test with authenticated caches. This leads to a failure to initialize a transaction during the `EXEC` command, which ends with:
2024-10-31 10:27:17,530 WARN [o.i.s.r.RespHandler] ISPN013003: Received an unexpected exception. java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "org.infinispan.server.resp.ByteBufPool.acquire(int)" because "alloc" is null at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:936) at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:911) at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:405) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.lang.NullPointerException: Cannot invoke "org.infinispan.server.resp.ByteBufPool.acquire(int)" because "alloc" is null at org.infinispan.server.resp.serialization.PrimitiveSerializer$SimpleErrorSerializer.accept(PrimitiveSerializer.java:161) at org.infinispan.server.resp.serialization.PrimitiveSerializer$SimpleErrorSerializer.accept(PrimitiveSerializer.java:151) at org.infinispan.server.resp.serialization.Resp3SerializerRegistry.serialize(Resp3SerializerRegistry.java:110) at org.infinispan.server.resp.serialization.Resp3SerializerRegistry.serialize(Resp3SerializerRegistry.java:86) at org.infinispan.server.resp.serialization.Resp3Response.serialize(Resp3Response.java:339) at org.infinispan.server.resp.serialization.Resp3Response.error(Resp3Response.java:271) at org.infinispan.server.resp.serialization.ThrowableSerializer.accept(ThrowableSerializer.java:23) at org.infinispan.server.resp.serialization.ThrowableSerializer.accept(ThrowableSerializer.java:13) at org.infinispan.server.resp.serialization.Resp3SerializerRegistry.serialize(Resp3SerializerRegistry.java:110) at org.infinispan.server.resp.serialization.Resp3SerializerRegistry.serialize(Resp3SerializerRegistry.java:86) at org.infinispan.server.resp.serialization.Resp3Response.serialize(Resp3Response.java:339) at org.infinispan.server.resp.serialization.Resp3Response.error(Resp3Response.java:282) at org.infinispan.server.resp.RespRequestHandler.lambda$stageToReturn$2(RespRequestHandler.java:216) at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934) ... 9 more
We should guarantee that:
- Our tests are covering these cases;
- Ensure transactions work just as fine with and without authn.
- is caused by
-
ISPN-16730 [RESP] Handle transactional context with many operations
- Resolved