Project

General

Profile

Actions

Feature #4930

open

OSD: replica to primary back pressure

Added by Samuel Just almost 11 years ago. Updated about 5 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:
Component(RADOS):
OSD
Pull request ID:

Description

Currently, replicas cannot throttle sub-ops. This means that a slower OSD can have OSDOps starved by sub-ops.

Actions #1

Updated by Samuel Just almost 11 years ago

  • Target version deleted (v0.63)
Actions #2

Updated by Samuel Just almost 11 years ago

This can probably be done in a few steps:
1 Add OSDService::estimate_delay() which returns an estimate of latency for a small write.
2 expose above via admin_socket and osd_stat for visibility
3 piggy-back the current delay on MOSDSubOp and MOSDPing as a way of allowing each OSD to build maps of peer delay estimates.
4 Rate limit sub-ops sent to any single at a rate which is a function of the current delay
- the goal is keep the peer saturated, but back off once latency starts to increase

1 & 2 are useful for visibility purposes independent of the overall task.

Actions #3

Updated by Patrick Donnelly about 5 years ago

  • Project changed from Ceph to RADOS
  • Category deleted (OSD)
  • Component(RADOS) OSD added
Actions

Also available in: Atom PDF