Project

General

Profile

Actions

Bug #66827

closed

crimson: fix asyncronous operation interruptor epochs

Added by Samuel Just over 1 year ago. Updated 5 months ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Tags (freeform):
Fixed In:
v19.3.0-3711-g48b5021021
Released In:
v20.2.0~2400
Upkeep Timestamp:
2025-11-01T01:17:16+00:00

Description

The IOInterruptCondition constructor sets the check epoch (IOInterruptCondition::e) using pg->get_osdmap_epoch(). This is basically fine whenever interruptor::with_interruption is invoked syncronously with the conditions that trigger whatever it's trying to protect. However, with asynchronously started events, that constructor could be invoked arbitrarily after the operation is started -- perhaps after an interval change. In such cases, the operation needs to be constructed with the epoch at which it was started. That epoch needs to be passed into the IOInterruptCondition constructor.

Actions #1

Updated by Samuel Just over 1 year ago

  • Pull request ID set to 58463
Actions #2

Updated by Samuel Just over 1 year ago

  • Status changed from In Progress to Fix Under Review
Actions #3

Updated by Matan Breizman over 1 year ago

Referencing comment from the partial fix PR (https://github.com/ceph/ceph/pull/58464#issuecomment-2224356720):

I removed the Fixes: line from the last commit message as I saw an instance of the AsyncReserver crash with this PR merged in another test run.
I'd still like to go ahead and merge this as it's a useful cleanup and does seem to have greatly reduced the incidence rate,
but there seems to be another way for the reservation cancel and request to reorder.
Will update bug/post new PR when I have that figured out.

Actions #4

Updated by Matan Breizman 12 months ago

  • Status changed from Fix Under Review to Resolved
Actions #5

Updated by Upkeep Bot 8 months ago

  • Merge Commit set to 48b5021021b747699b3ca507d021962bf22ba669
  • Fixed In set to v19.3.0-3711-g48b5021021b
  • Upkeep Timestamp set to 2025-07-10T19:37:20+00:00
Actions #6

Updated by Upkeep Bot 8 months ago

  • Fixed In changed from v19.3.0-3711-g48b5021021b to v19.3.0-3711-g48b5021021
  • Upkeep Timestamp changed from 2025-07-10T19:37:20+00:00 to 2025-07-14T22:42:25+00:00
Actions #7

Updated by Upkeep Bot 5 months ago

  • Released In set to v20.2.0~2400
  • Upkeep Timestamp changed from 2025-07-14T22:42:25+00:00 to 2025-11-01T01:17:16+00:00
Actions

Also available in: Atom PDF