Project

General

Profile

Actions

Bug #58120

open

watcher remains after "rados watch" is interrupted

Added by 王子敬 wang over 1 year ago. Updated 12 months ago.

Status:
Fix Under Review
Priority:
Normal
Assignee:
-
Category:
OSD
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
pacific,quincy,reef
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
rbd
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

when client is down, rbd image still has watchers. I take the down client into osd blacklist ,but still has watchers. its doesn't work。I tried to restart the cluster, the watcher is disappear。
At present, this problem can only be deleted manually?

I found that the client was not implemented the HandleWatchTimeout. cause still has watcher. Is there a solution to this problem at present?

void Watch::register_cb() {
cb = new HandleWatchTimeout(self.lock());
if (!osd->watch_timer.add_event_after(timeout, cb)) {
cb = nullptr;
}
}


Files

image-2022-11-19-19-18-24-093.png (110 KB) image-2022-11-19-19-18-24-093.png the watch->connect log output 王子敬 wang, 12/02/2022 01:54 AM
image-2022-11-19-12-50-18-397.png (6.84 KB) image-2022-11-19-12-50-18-397.png rbd status still has watcher 93865147480832 王子敬 wang, 12/02/2022 01:54 AM
image-2022-11-19-15-29-32-590.png (494 KB) image-2022-11-19-15-29-32-590.png the watch 93865147480832 log 王子敬 wang, 12/02/2022 02:09 AM
image-2022-11-19-19-22-27-148.png (271 KB) image-2022-11-19-19-22-27-148.png the timeout function registration 王子敬 wang, 12/02/2022 02:18 AM
kill_9_rep.py (2.96 KB) kill_9_rep.py 王子敬 wang, 12/12/2022 03:39 AM
Actions

Also available in: Atom PDF