[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