Project

General

Profile

Actions

Bug #6725

closed

objecter: kick_requests() resends ops that should be paused

Added by Josh Durgin over 10 years ago. Updated over 10 years ago.

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

0%

Source:
Development
Tags:
Backport:
dumpling, emperor
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Operations may be paused because the osd map has a flag manually set, or the cluster is too full. In either case, operations should not be sent if they are meant to be paused by the client.

The objecter handles this correctly in _op_submit() and handle_osd_map(), but always resends requests to a particular osd when the connection is reset. This may result in writes getting -ENOSPC while the full flag is set, instead of blocking as they were meant to. This will not be handled well by rbd if caching is not enabled.


Related issues 1 (0 open1 closed)

Related to Ceph - Bug #6938: client full handling races with OSDs having newer mapsResolvedJosh Durgin12/04/2013

Actions
Actions #1

Updated by Josh Durgin over 10 years ago

Possible fix is in the wip-objecter-full branch, but I can't test it at the moment due to bad network conditions.

Actions #2

Updated by Yehuda Sadeh over 10 years ago

I looked and tested it, the fix itself didn't do the work, but I was able to find some other issues. I pushed a second fix to wip-objecter-full. There were two different issues. One was that it was always resending the request on reconnection (because scan_requests() was adding it to the list), and the second issue was that once the full flag was cleared it wasn't resending the request.
I also did some more cleanup and pushed it to wip-objecter-full-2, we'd probably want to test it thoroughly.

Actions #3

Updated by Josh Durgin over 10 years ago

Thanks, that's a lot nicer. It looks good to me if it survives more testing.

Actions #4

Updated by Josh Durgin over 10 years ago

  • Status changed from In Progress to Resolved
  • Backport changed from dumpling to dumpling, emperor
Actions

Also available in: Atom PDF