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

ClassCastException in ProtobufMetadataManagerInterceptor for clear

    XMLWordPrintable

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

      Attachments

        Issue Links

          Activity

            People

              anistor Nistor Adrian
              dberinde@redhat.com Dan Berindei
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: