]
Dan Berindei updated ISPN-4890:
-------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
Entry iterator should throw AvailabilityException in degraded mode
------------------------------------------------------------------
Key: ISPN-4890
URL:
https://issues.jboss.org/browse/ISPN-4890
Project: Infinispan
Issue Type: Bug
Components: Core, Test Suite - Core
Affects Versions: 7.0.0.CR2
Reporter: Dan Berindei
Assignee: William Burns
Priority: Blocker
Labels: testsuite_stability
Fix For: 7.0.0.Final
When the distributed entry iterator gets a suspect exception, it assumes that the CH will
be soon updated to remove the leaver, and retries to contact the primary owner of the
segment.
But if the cache is in degraded mode, the consistent hash is no longer updated, and the
entry iterator enters an infinite loop.
{noformat}
11:58:35,622 TRACE (testng-DelayedAvailabilityUpdateTest:) [DistributedEntryRetriever]
Request to NodeC-51013=[50, 51, 20, 52, 21, 53, 22, 54, 23, 24, 25, 26, 27, 28, 29] for
cd886604-960b-431a-81a0-efbb51eed57f was suspect, must resend to a new node!
11:58:35,622 TRACE (testng-DelayedAvailabilityUpdateTest:) [DistributedEntryRetriever]
Request to NodeC-51013=[50, 51, 20, 52, 21, 53, 22, 54, 23, 24, 25, 26, 27, 28, 29] for
cd886604-960b-431a-81a0-efbb51eed57f was suspect, must resend to a new node!
11:58:35,622 TRACE (testng-DelayedAvailabilityUpdateTest:) [DistributedEntryRetriever]
Request to NodeC-51013=[50, 51, 20, 52, 21, 53, 22, 54, 23, 24, 25, 26, 27, 28, 29] for
cd886604-960b-431a-81a0-efbb51eed57f was suspect, must resend to a new node!
...
{noformat}
This is visible when running the partition handling tests (e.g.
DelayedAvailabilityUpdateTest) with trace logging enabled, as {{TestingUtil.killCaches()}}
logs the cache contents at trace level. As an aside, {{TestingUtil.killCaches()}} should
probably use {{Flag.CACHE_MODE_LOCAL}} to print only the entries on each node.