[drbd] Test 9.2.19-flant.11 (revert oos==0 resync guard) - #742
Open
astef wants to merge 15 commits into
Open
Conversation
9.2.19-flant.11 = 9.2.19-flant.10 with the root-cause commit 6fe5d9dd9 reverted (the "oos==0" guard in resync_again that drops a postponed WFBitMapS needed for generation reconciliation in the diskless-primary re-handshake race, causing replicas stuck in WFBitMapT after a node reboot). Validation build for stress/problems/05. Signed-off-by: Aleksandr Stefurishin <aleksandr.stefurishin@flant.com>
2 tasks
…ust) The drbd-9.2.19-flant.11 tag was force-moved to the RACEDBG diagnosis commit (flant.10 + stuck-resync instrumentation). Add an echo to the werf setup stage so werf re-clones the moved tag instead of reusing the cached DRBD artifact.
flant.12 = flant.10 code + stuck-resync instrumentation (racedbg logs + tunable delays). Bumped from flant.11 so the version-gated node install actually rebuilds and reloads the module (a same-version code change would be skipped). oss.yaml + openapi drbdVersion -> flant.12; werf clones the drbd-9.2.19-flant.12 tag.
… mid-transfer stall Lower DefaultCMaxRate 625000k->200k and DefaultCMinRate 12500k->25k so post-reboot resyncs crawl and the reconnect re-handshake lands mid-transfer (SyncTarget/PausedSyncT done:X%), the canonical stuck-resync signature (stress/problems/05). Test/diagnosis only.
…ate done:X% repro
…cel-on-pause) Uses drbd-9.2.19-flant.14 which adds drbd_cancel_paused_resync_requests(): when a resync source is paused by dependency (L_PAUSED_SYNC_T), drop its dangling resync requests so they stop blocking the active source. Fixes the done:X% stuck-resync-after-reboot deadlock (stress/results/run-11).
…change stall) flant.12 = flant.11 (cancel-on-pause multi-source resync deadlock) rebased with the metadata-exchange fix (oos==0 WF_BITMAP drop-wedge). Replaces the dropped temp tag flant.14.
The drbd-install NGC only rebuilt/rebooted when the desired version was GREATER than the loaded one (d8-semver compare == -1), so a node stuck on a higher leftover build (e.g. 9.2.19-flant.14) would never converge to a lower desired version (9.2.19-flant.12): it early-exited with "already loaded". Change both the rebuild decision and the reboot-flag decision to trigger on any mismatch (compare != 0), so the node converges to the desired version in either direction.
The centos-like drbd-install template (bundles: centos, redos) was missed in the previous commit; RED OS nodes still early-exited on a version downgrade. Apply the same compare != 0 change so redos nodes also converge to the desired DRBD version in either direction.
…resync-finished) flant.13 = flant.12 + fix for the remaining "node Outdated & stuck after reboot" mode: __cancel_other_resyncs() now re-drives a still-behind cancelled peer as SOURCE instead of leaving it Established with a dirty bitmap. See run-13.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
9.2.19-flant.11=9.2.19-flant.10with root-cause commit6fe5d9dd9reverted (theoos==0guard inresync_again).oss.yaml(drives drbd image build from tagdrbd-9.2.19-flant.11),openapi/values{,_ce}.yaml(node DRBD installdesired_version).Why
Validation build for the stuck-resync root cause (
stress/problems/05). Commit6fe5d9dd9drops a postponedWFBitMapSneeded for data-generation reconciliation in the diskless-primary re-handshake race, leaving replicas stuck inWFBitMapTafter a node reboot. Reverting only that commit (keeping all flant features/fixes + build) should make resyncs complete.Test plan
drbd-9.2.19-flant.11).Not for merge — validation branch.