Skip to content

2.31.0.0-b269

@spolitov spolitov tagged this 17 Jul 17:30
Summary:
`PgDelayedSplitAtFollower.TestDelayedSplitAtFollower` called `FlushTablets()` immediately after inserting rows, before all replicas had applied the writes, so a lagging follower could flush an empty regular memtable and end up with no level-0 SST file. When that follower later became leader, the manual split's `GetSplitKey` failed with a non-retriable `Incomplete: No SST file at level 0`, so `WaitForSplitCompletion` timed out. The fix adds `WaitAllReplicasSynchronizedWithLeader` before `FlushTablets()` so every replica has applied all writes and produces a splittable SST on whichever surviving peer becomes leader.

---
_Produced fully automatically by csi-fix-tests.py: Claude Opus (4.8) analyzed the failure logs, wrote the change, and verified it locally._

Test Plan:
./yb_build.sh release --clang21 --cxx-test pg_tablet_split-test --gtest-filter PgDelayedSplitAtFollower.TestDelayedSplitAtFollower -n 100 --stop-at-failure -- -p 4
Ran the above locally with no failures.

Reviewers: huapeng.yuan

Reviewed By: huapeng.yuan

Subscribers: ybase, yql

Tags: #jenkins-ready

Differential Revision: https://phorge.dev.yugabyte.com/D55787
Assets 2
Loading