-
Notifications
You must be signed in to change notification settings - Fork 306
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backport two changes that can improve rebuild stability #14452
Conversation
DAOS-14010 vos: Allow rebuild overwrite (#13326) DAOS-15670 vos: SV overwrite missed tx_add_range() (#14241) * Partial overwrite is difficult for upper layer to avoid. If we reserve a range of minor epochs for rebuild, we can just always allow rebuild to overwrite what any extents currently in the tree for the given major epoch. * In SV overwerite case, the btr_update_record() will defer free the original record and allocate new record for record replacing, however, btr_node_tx_add() is mistakenly skipped in btr_update(), that leads to: 1. In md-on-ssd mode, tree node changes are missed in WAL. 2. In pmem mode, tree node snapshot is missed in undo log. Signed-off-by: Jeff Olivier <[email protected]> Signed-off-by: Niu Yawei <[email protected]>
Bug-tracker data: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. No errors found by checkpatch.
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14452/1/execution/node/413/log |
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14452/1/execution/node/395/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14452/1/execution/node/398/log |
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14452/1/execution/node/375/log |
Test stage Build on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-14452/1/execution/node/540/log |
Required-githooks: true Change-Id: Id41f790cb44723ef65955a6513bc3dddb7057ad2 Signed-off-by: Jeff Olivier <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. No errors found by checkpatch.
Change-Id: I1fcd9e8d65569afc6ff7b312ac7677ddb35b914b
Required-githooks: true Change-Id: Ib1aad1e9f2ba2f06bfb05c3dd5ca17875bf8b2d9 Signed-off-by: Jeff Olivier <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. No errors found by checkpatch.
DAOS-14010 vos: Allow rebuild overwrite (#13326)
DAOS-15670 vos: SV overwrite missed tx_add_range() (#14241)
Partial overwrite is difficult for upper layer to avoid. If we reserve a range of minor epochs for rebuild, we can just always allow rebuild to overwrite any extents currently in the tree for the given major epoch.
In SV overwrite case, the btr_update_record() will defer free the original record and allocate new record for record replacing, however, btr_node_tx_add() is mistakenly skipped in btr_update(), that leads to:
Before requesting gatekeeper:
Features:
(orTest-tag*
) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.Gatekeeper: