You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The cap-gap settle budget (catchUpCapGapAttempts) counts consecutive
catch-up cap gaps across reconnects and resets to 0 on a successful
catch-up, so gaps interspersed with successes -- a rolling-cap cluster --
never accumulate to a spurious terminal. The existing latch test only
accrues gaps under one fixed cap with no success interleaved, so a
dropped reset would have gone unnoticed.
Add testSuccessfulCatchUpResetsCapGapBudget: accrue max-1 cap gaps, let a
larger-cap node accept the dictionary, then assert the budget is back to
0 and that max-1 further gaps still latch no terminal. Make the stub
client's advertised cap mutable so the test can model the rolling cap.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: core/src/test/java/io/questdb/client/test/cutlass/qwp/client/sf/cursor/CursorWebSocketSendLoopCatchUpAlignmentTest.java
+60-1Lines changed: 60 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -321,6 +321,63 @@ public void testCatchUpCapGapRetriesUntilBudgetThenLatches() throws Exception {
0 commit comments