Project

General

Profile

Actions

Bug #53888

closed

journal: client_register does not check disconnected state when looking for min_commit_position

Added by Mykola Golub over 2 years ago. Updated almost 2 years ago.

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

0%

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

Description

A new journal client is registered at min commit position, i.e. all already registered clients are checked and a client with min position is chosen, and its position is used for the new client. This way we may expect that starting from the registered position all journal entries will be available (not trimmed) for the new client.

But when looking for a min commit position, the client_register function does not take into account that a registered client may be in disconnected state, and in this case the journal entries may be trimmed for this client.

We should look for min commit position only emoung clients in "connected" state.

We did not observe this problem previously, because we had only one client (rbd-mirror) registered to follow master. Now, when we are trying to add multi-peer support and have several non-mastered clients the problem has been noticed.


Related issues 2 (0 open2 closed)

Copied to rbd - Backport #53937: octopus: journal: client_register does not check disconnected state when looking for min_commit_positionResolvedArthur Outhenin-ChalandreActions
Copied to rbd - Backport #53938: pacific: journal: client_register does not check disconnected state when looking for min_commit_positionResolvedArthur Outhenin-ChalandreActions
Actions

Also available in: Atom PDF