Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-5993

ClassCastException in ProtobufMetadataManagerInterceptor for clear

    Details

      Description

      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/:?]
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  anistor Nistor Adrian
                  Reporter:
                  dan.berindei Dan Berindei
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: