]
Adrian Nistor updated ISPN-5993:
--------------------------------
Status: Open (was: New)
ClassCastException in ProtobufMetadataManagerInterceptor for clear
------------------------------------------------------------------
Key: ISPN-5993
URL:
https://issues.jboss.org/browse/ISPN-5993
Project: Infinispan
Issue Type: Bug
Components: Server
Affects Versions: 8.1.0.CR1
Reporter: Dan Berindei
Assignee: Adrian Nistor
Priority: Minor
Fix For: 8.2.0.Alpha1
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:
{noformat}
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/:?]
{noformat}