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.
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.