]
Dan Berindei updated ISPN-7884:
-------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 9.1.0.CR1
Resolution: Done
StackOverflowError caused by GetAllCommand
------------------------------------------
Key: ISPN-7884
URL:
https://issues.jboss.org/browse/ISPN-7884
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 9.1.0.Alpha1
Reporter: Radim Vansa
Assignee: Radim Vansa
Fix For: 9.1.0.CR1
GetAllCommand in BaseDistributionInterceptor handles all unsuccessful responses by
throwing OutdatedTopologyException.
BaseStateTransferInterceptor assumes that this is due to UnsureResponse in a scenario
where it should be possible to retry the command immediately.
If this occurs due to CacheNotFoundResponse (node being suspected) but before the
availability mode is updated/consistent hash is updated with lost segments assigned to
other nodes, the command is retried in a loop up to a point where the thread hits stack
overflow.
This does not affect regular cache.get() since this one throws AllOwnersLostException
instead and this is treated differently in BaseStateTransferInterceptor.