crimson/osd/pg_recovery: backoff if the recovery/backfill is deferred#56806
crimson/osd/pg_recovery: backoff if the recovery/backfill is deferred#56806
Conversation
|
jenkins test windows |
|
How is this scenario possible? |
The following op sequence should lead to this scenario:
Yes, this came up during our teuthology tests |
Why "the next round of |
Yes, it is expected. The recovery of objects is done in batches, with the previous batch recovered, the next batch starts automatically. So, when a recovery/backfill preemption happens, we need to stop the current recovery. |
Matan-B
left a comment
There was a problem hiding this comment.
LGTM, probably worth another pair of eyes.
|
https://shaman.ceph.com/builds/ceph/wip-matanb-crimson-testing-april-17 7666489, 7666502 - https://tracker.ceph.com/issues/63647 |
|
@Matan-B The previous version of this PR can lead to infinite recursive call of "Operation::with_throttle_while", I've just added a commit to avoid this, please take a look again, thanks:-) |
29a7ac6 to
4fd881a
Compare
Only the first commit is tested and is ready to merge. I have separated the second commit into #57014.
@xxhdx1985126, Let me know what do you prefer. I'm leaning toward the former. |
I think it might be better to merge the two commits together, because the infinite-recursion regression will be brought into the main branch otherwise. What do you think? |
|
jenkins test api |
|
jenkins test make check |
Fixes: https://tracker.ceph.com/issues/65399 Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
"with_throttle" This is to avoid infinite recursive calling to "with_throttle_while" Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
|
jenkins test make check |
Fixes: https://tracker.ceph.com/issues/65399
Signed-off-by: Xuehan Xu xuxuehan@qianxin.com
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windowsjenkins test rook e2e