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

ClassCastException in ProtobufMetadataManagerInterceptor for clear

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • 8.2.0.Beta1, 8.1.1.Final
    • 8.1.0.CR1
    • Server
    • 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/:?]
      

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

                Created:
                Updated:
                Resolved: