[infinispan-issues] [JBoss JIRA] (ISPN-8171) TrianglePerCacheInboundInvocationHandler sends IllegalLifecycleStateException in response
Dan Berindei (JIRA)
issues at jboss.org
Thu Aug 3 10:12:00 EDT 2017
[ https://issues.jboss.org/browse/ISPN-8171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Berindei updated ISPN-8171:
-------------------------------
Description:
For synchronous operations, the invocation handler catches {{IllegalLifecycleStateException}} and sends a {{CacheNotFoundResponse}} instead of an {{ExceptionResponse}}.
{{TrianglePerCacheInboundInvocationHandler}} doesn't follow the same rule, and the response created by {{BaseBlockingRunnable.afterCommandException()}} is ignored. But the caller doesn't know what to do with the {{ExceptionAckCommand(throwable=org.infinispan.IllegalLifecycleStateException)}}, and the exception is propagated all the way to the caller.
This is causing some of the random failures in {{NonTxPutIfAbsentDuringLeaveStressTest.testNodeLeavingDuringPutIfAbsent}} (but different from the failures in ISPN-6451).
{noformat}
18:15:31,659 ERROR (testng-Test:[]) [TestSuiteProgress] Test failed: org.infinispan.distribution.rehash.NonTxPutIfAbsentDuringLeaveStressTest.testNodeLeavingDuringPutIfAbsent[DIST_SYNC]
java.util.concurrent.ExecutionException: org.infinispan.IllegalLifecycleStateException: ISPN000324: Default cache is in 'STOPPING' state and this is an invocation not belonging to an on-going transaction, so it does not accept new invocations. Either restart it or recreate the cache container.
at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_121]
at java.util.concurrent.FutureTask.get(FutureTask.java:206) ~[?:1.8.0_121]
at org.infinispan.distribution.rehash.NonTxPutIfAbsentDuringLeaveStressTest.testNodeLeavingDuringPutIfAbsent(NonTxPutIfAbsentDuringLeaveStressTest.java:101) ~[test-classes/:?]
{noformat}
was:
For synchronous operations, the invocation handler catches {{IllegalLifecycleStateException}} and sends a {{CacheNotFoundResponse}} instead of an {{ExceptionResponse}}.
{{TrianglePerCacheInboundInvocationHandler}} doesn't follow the same rule, and the response created by {{BaseBlockingRunnable.afterCommandException()}} is ignored. But the caller doesn't know what to do with the {{ExceptionAckCommand(throwable=org.infinispan.IllegalLifecycleStateException)}}, and the exception is propagated all the way to the caller.
This is causing some of the random failures in {{NonTxPutIfAbsentDuringLeaveStressTest.testNodeLeavingDuringPutIfAbsent}} (but different from the failures in ISPN-6451).
> TrianglePerCacheInboundInvocationHandler sends IllegalLifecycleStateException in response
> -----------------------------------------------------------------------------------------
>
> Key: ISPN-8171
> URL: https://issues.jboss.org/browse/ISPN-8171
> Project: Infinispan
> Issue Type: Bug
> Reporter: Dan Berindei
> Assignee: Pedro Ruivo
> Labels: testsuite_stability
>
> For synchronous operations, the invocation handler catches {{IllegalLifecycleStateException}} and sends a {{CacheNotFoundResponse}} instead of an {{ExceptionResponse}}.
> {{TrianglePerCacheInboundInvocationHandler}} doesn't follow the same rule, and the response created by {{BaseBlockingRunnable.afterCommandException()}} is ignored. But the caller doesn't know what to do with the {{ExceptionAckCommand(throwable=org.infinispan.IllegalLifecycleStateException)}}, and the exception is propagated all the way to the caller.
> This is causing some of the random failures in {{NonTxPutIfAbsentDuringLeaveStressTest.testNodeLeavingDuringPutIfAbsent}} (but different from the failures in ISPN-6451).
> {noformat}
> 18:15:31,659 ERROR (testng-Test:[]) [TestSuiteProgress] Test failed: org.infinispan.distribution.rehash.NonTxPutIfAbsentDuringLeaveStressTest.testNodeLeavingDuringPutIfAbsent[DIST_SYNC]
> java.util.concurrent.ExecutionException: org.infinispan.IllegalLifecycleStateException: ISPN000324: Default cache is in 'STOPPING' state and this is an invocation not belonging to an on-going transaction, so it does not accept new invocations. Either restart it or recreate the cache container.
> at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_121]
> at java.util.concurrent.FutureTask.get(FutureTask.java:206) ~[?:1.8.0_121]
> at org.infinispan.distribution.rehash.NonTxPutIfAbsentDuringLeaveStressTest.testNodeLeavingDuringPutIfAbsent(NonTxPutIfAbsentDuringLeaveStressTest.java:101) ~[test-classes/:?]
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the infinispan-issues
mailing list