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
fix(testcontainers): wait for vshard storages to handshake before declaring cluster ready
VshardClusterConfigurator#configure() previously stopped at router-up +
vshard.router.bootstrap() + crud._VERSION. None of those verify that
individual storages finished the vshard handshake, so a CRUD request
right after configure() could fail with VHANDSHAKE_NOT_COMPLETE
(vshard code 40).
Add waitUntilVshardStoragesAreReady: polls vshard.router.info() until
every replica is status='available' and info.bucket.unreachable == 0,
120s budget.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,7 @@
14
14
- Add constructor/builder parameters to supply the initial Lua script as a string or as a file path, and optional additional script paths copied into the container data directory (`Tarantool2Container`, `CartridgeClusterContainer`, `VshardClusterContainer`); simplify bundled `server.lua` accordingly.
15
15
- Upgrade TQE to v3.5.0.
16
16
- Extract `ObjectMapper` to a static field in the test `tdg.Utils` helper to avoid recreating it on every `sendUsers`/`getUsers` call.
17
+
- Wait for vshard storages to complete the handshake (`vshard.router.info()` reports every replica as `available` and no unreachable buckets) before declaring a `VshardClusterContainer` ready, preventing intermittent `VHANDSHAKE_NOT_COMPLETE` CRUD failures right after bootstrap.
0 commit comments