Project

General

Profile

Actions

Fix #4205

closed

librados: Improve Watch-notify semantics

Added by Greg Farnum about 11 years ago. Updated over 9 years ago.

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

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

In the new implementation Sam set up, and apparently in the old code as well, a notify can succeed without getting a response from one of the watchers — and the watcher doesn't get told that it failed to respond in time, and it doesn't get disconnected, and the notifier doesn't get told that somebody timed out.

This means that watch-notify actually provides guarantees consisting of...pretty much nothing.

I suspect that notify needs to lose the ability to provide timeouts shorter than the watch timeout, and when a watch fails the client needs to get a disconnect or something. Or else allow notifies to provide an attack space, and to force-disconnect (or force-fail the Watch) on a client which doesn't ack a Notify as quickly as requested.


Related issues 1 (0 open1 closed)

Related to Ceph - Bug #2339: osd: EBUSY on object delete when watchers presentResolved04/24/2012

Actions
Actions

Also available in: Atom PDF