You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Denis Chudov (Jira)" <ji...@apache.org> on 2026/01/29 14:01:00 UTC
[jira] [Created] (IGNITE-27703) Reconsider the necessity of waiting for cluster time during assignments waiting
Denis Chudov created IGNITE-27703:
-------------------------------------
Summary: Reconsider the necessity of waiting for cluster time during assignments waiting
Key: IGNITE-27703
URL: https://issues.apache.org/jira/browse/IGNITE-27703
Project: Ignite
Issue Type: Improvement
Reporter: Denis Chudov
Cluster time is passed to [1] and the method waits for cluster time here to make sure we have the most recent stable assignments locally according to timestamp that is provided.
Consider this:
t1: stable assignments are [A,B,C], pending are [B,C,D]
t2: transaction time
t3: rebalancing finished, stables are now [B,C,D]
t4: you are on node E, local info about stables is still [A,B,C], you don't wait for cluster time and you get assignments: [A,B,C], do request to A.
Node A already stopped replica, you may wait for replica start future and finally fail with AwaitReplicaTimeoutException which is RetriableTransactionException.
In general, it seems there is no difference with late request to A. So there is no necessity to wait for cluster time if we have proper failovers for RetriableTransactionException.
Also, AwaitReplicaException may be thrown fast if replica is absent in stable assignments.
[1] AssignmentsPlacementDriver#awaitNonEmptyAssignments
--
This message was sent by Atlassian Jira
(v8.20.10#820010)