Repository navigation
CP fio hotfix oct17 - #19308
Open
gnailzenh wants to merge 9 commits into
Open
CP fio hotfix oct17#19308gnailzenh wants to merge 9 commits into
gnailzenh wants to merge 9 commits into
Conversation
Squash the complete PR #19267, including its release/2.8 merge resolutions. Wait for local stable epochs before scanning, delay and retry rebuild work racing inflight I/O, and rate-limit rebuild-delay logging. Preserve reclaim handling and the functional-test timeout updates. Signed-off-by: Fan Yong <fan.yong@hpe.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
When splitting an extent at EC stripe boundaries, merge_recx_insert() can inherit the epoch of an unrelated preceding extent even when the two extents do not merge. This can stamp rebuilt data above its real epoch and make older recovery reads miss the correct version. Keep the incoming epoch when creating a separate list entry. Retain the maximum contributing epoch only when extents actually merge. Extract the recx insertion fix from PR #19201 independently of its other migration and EC aggregation changes. Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com> Signed-off-by: Liang Zhen <gnailzenh@gmail.com>
Require direct data-shard reads when fetching cells for parity updates, parity recalculation, and hole processing. Set DIOF_EC_NO_DEGRADE at both aggregation data-fetch sites so unavailable data causes the operation to fail rather than reconstruct input from existing parity. This conservatively avoids feeding parity-derived data back into aggregation. Normal application degraded reads remain unchanged. Keep this safeguard from PR #19201 separate from the recx epoch fix. Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com> Signed-off-by: Liang Zhen <gnailzenh@gmail.com>
The peer parity update and hole-processing workers overwrite local errors with peer_rc at exit. If failure occurs before peer RPCs are processed, peer_rc remains zero and the worker incorrectly reports success, allowing local modifications despite the failed operation. When no peer update succeeded, return the recorded peer error or, if none exists, the local error. Preserve the existing success policy when at least one peer update has completed. Keep this error propagation fix from PR #19201 in a separate commit. Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com> Signed-off-by: Liang Zhen <gnailzenh@gmail.com>
A non-leader parity shard can leave replicas for the aggregation leader while advancing its local scan watermark to the end of the range. The next round may skip those unchanged keys and forget the replicas that should still hold back reported aggregation progress. Cap watermark advancement below the earliest unaggregated epoch so subsequent rounds revisit retained replicas. Preserve monotonicity and normal progress when no unfinished work constrains the range. Keep this sixth-bullet fix from PR #19201 separate from migration invalidation and reporting-pipeline changes. Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com> Signed-off-by: Liang Zhen <gnailzenh@gmail.com>
- Only merge contiguous recxs of the same stripe when they are written at the same epoch, so replica extents enumerated from a parity shard keep their enumerated epochs instead of being lifted to the max. - Do not lose the return code of the last migrate_update_parity() call of an iod when more iods follow. - Do not merge enumerated recxs into a migrate_one created from a different kind of source shard (parity vs data), as the write epoch semantics differ. Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com> Signed-off-by: Liang Zhen <gnailzenh@gmail.com>
Do not coalesce adjacent recxs unless their epochs match. This prevents packing from promoting older extents to a newer epoch before parity migration can preserve their individual replay epochs. Adjust insertion positioning to keep unmerged adjacent recxs ordered. Retain existing overlap merging and stripe-boundary restrictions. Signed-off-by: Liang Zhen <gnailzenh@gmail.com>
Revalidate DTX entry identity, epoch, version and state after pinning and WAL reservation, both of which may yield to other ULTs. Reject stale aborts and protect committed or partially committed transactions from record removal. Use the current DTX handle while preserving forced-abort cleanup semantics. Signed-off-by: Liang Zhen <gnailzenh@gmail.com>
Request synchronous DTX commit for ordinary updates and punches whose target layout includes rebuilding or reintegrating shards, reducing the window in which successful I/O remains prepared on participants. Signed-off-by: Liang Zhen <gnailzenh@gmail.com> Signed-off-by: Fan Yong <fan.yong@hpe.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Errors are component not formatted correctly,Ticket number prefix incorrect,PR title is malformatted. See https://daosio.atlassian.net/wiki/spaces/DC/pages/11133911069/Commit+Comments,Unable to load ticket data |
This branch has not been deployed
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.
Steps for the author:
After all prior steps are complete: