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]
