Vladislav Pyatkov created IGNITE-29224:
------------------------------------------
Summary: Misleading affinity history error when ready affinity
version lags behind exchange future completion
Key: IGNITE-29224
URL: https://issues.apache.org/jira/browse/IGNITE-29224
Project: Ignite
Issue Type: Bug
Reporter: Vladislav Pyatkov
Attachments: ready-affinity-version-reproducer.patch
{{awaitPartitionMapExchange()}} can fail with:
{noformat}
Getting affinity for too old topology version that is already out of history
{noformat}
This message is misleading in this case: no affinity history has been evicted.
The exchange future is already completed, but {{readyAffinityVersion()}} is
updated later in its completion listener. During this gap,
{{awaitPartitionMapExchange()}} can request affinity for a version preceding
the creation of the cache. Increasing {{IGNITE_AFFINITY_HISTORY_SIZE}} does not
address this race.
The waiting logic should account for publication of the ready affinity version,
and the diagnostic should distinguish this case from actual history eviction.
*Reproducer:* apply [^ready-affinity-version-reproducer.patch] and run
{{AwaitPartitionMapExchangeReadyVersionTest#testWaitPartitionMapExchangeWithLagOfReadyAffinity}}.
The patch adds a temporary pause before the ready affinity version is
published. It is diagnostic code supplied only for reproduction and is not
intended to be committed.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)