-
Bug
-
Resolution: Done
-
Minor
-
8.1.0.CR1
-
None
When handling a ClearCommand, ProtobufMetadataManagerInterceptor tries to lock the .errors key explicitly, but because the clear operation now ignores transactions, the invocation context is not transactional, and the lock fails.
Normally the protobuf cache should never be cleared, but it does happen when the test suite clears the caches between methods:
12:33:30,174 ERROR (testng-SecureServerFailureRetryTest:) [InvocationContextInterceptor] ISPN000136: Error executing command ClearCommand, writing keys [] java.lang.ClassCastException: org.infinispan.context.impl.ClearInvocationContext cannot be cast to org.infinispan.context.impl.TxInvocationContext at org.infinispan.commands.control.LockControlCommand.acceptVisitor(LockControlCommand.java:110) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.query.remote.impl.ProtobufMetadataManagerInterceptor.visitClearCommand(ProtobufMetadataManagerInterceptor.java:406) ~[infinispan-remote-query-server-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.write.ClearCommand.acceptVisitor(ClearCommand.java:41) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitClearCommand(AbstractLockingInterceptor.java:56) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.write.ClearCommand.acceptVisitor(ClearCommand.java:41) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.AbstractVisitor.visitClearCommand(AbstractVisitor.java:58) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.write.ClearCommand.acceptVisitor(ClearCommand.java:41) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.TxInterceptor.visitClearCommand(TxInterceptor.java:240) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.write.ClearCommand.acceptVisitor(ClearCommand.java:41) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.AbstractVisitor.visitClearCommand(AbstractVisitor.java:58) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.write.ClearCommand.acceptVisitor(ClearCommand.java:41) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:356) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:288) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.statetransfer.StateTransferInterceptor.visitClearCommand(StateTransferInterceptor.java:133) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.write.ClearCommand.acceptVisitor(ClearCommand.java:41) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.AbstractVisitor.visitClearCommand(AbstractVisitor.java:58) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.write.ClearCommand.acceptVisitor(ClearCommand.java:41) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.AbstractVisitor.visitClearCommand(AbstractVisitor.java:58) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.write.ClearCommand.acceptVisitor(ClearCommand.java:41) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99) ~[infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:107) [infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:76) [infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.AbstractVisitor.visitClearCommand(AbstractVisitor.java:58) [infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.write.ClearCommand.acceptVisitor(ClearCommand.java:41) [infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99) [infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:66) [infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.AbstractVisitor.visitClearCommand(AbstractVisitor.java:58) [infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.commands.write.ClearCommand.acceptVisitor(ClearCommand.java:41) [infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336) [infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.cache.impl.CacheImpl.clear(CacheImpl.java:588) [infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.cache.impl.CacheImpl.clear(CacheImpl.java:579) [infinispan-core-8.1.0-SNAPSHOT.jar:8.1.0-SNAPSHOT] at org.infinispan.test.TestingUtil.killCaches(TestingUtil.java:796) [infinispan-core-8.1.0-SNAPSHOT-tests.jar:8.1.0-SNAPSHOT] at org.infinispan.test.TestingUtil.killCacheManagers(TestingUtil.java:634) [infinispan-core-8.1.0-SNAPSHOT-tests.jar:8.1.0-SNAPSHOT] at org.infinispan.test.MultipleCacheManagersTest.clearContent(MultipleCacheManagersTest.java:101) [infinispan-core-8.1.0-SNAPSHOT-tests.jar:8.1.0-SNAPSHOT] at org.infinispan.client.hotrod.retry.AbstractRetryTest.clearContent(AbstractRetryTest.java:99) [test-classes/:?]
- is caused by
-
ISPN-5370 Make clear() non-transactional and lock free
- Closed