CRZbulabula commented on PR #17924:
URL: https://github.com/apache/iotdb/pull/17924#issuecomment-4688946326

   @Caideyipi Good catch — you're exactly right, thanks!
   
   `InconsistentDataException` is a `RuntimeException` (thrown from 
`getString()` via `RequestDelegate.requestAllAndCompare()`), and 
`Awaitility.untilAsserted` only treats `AssertionError` as retryable by 
default, so the retry was effectively a no-op for this failure — only the 
`ORDER BY TIMESERIES` was actually fixing it.
   
   I've pushed a fix following your suggestion (483a4ce0de): added 
`.ignoreExceptionsMatching(e -> e instanceof InconsistentDataException)` so the 
retry genuinely tolerates the transient cross-replica inconsistency during the 
post-restart convergence window, while a genuine error (e.g. a real 
`SQLException`) still fails fast rather than being retried for 60s.
   
   I kept `ORDER BY TIMESERIES` as the primary fix: the observed mismatch was 
purely cross-coordinator row **ordering** (timing-independent — different 
coordinators iterate the last cache in different orders), which retrying an 
unordered query alone would never converge on. The retry now covers the 
orthogonal case where a replica is still catching up after the restart.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to