Bug #53888
closedjournal: client_register does not check disconnected state when looking for min_commit_position
0%
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.
Updated by Mykola Golub over 2 years ago
- Status changed from In Progress to Fix Under Review
- Pull request ID set to 44601
Updated by Ilya Dryomov over 2 years ago
- Status changed from Fix Under Review to Pending Backport
Updated by Backport Bot over 2 years ago
- Copied to Backport #53937: octopus: journal: client_register does not check disconnected state when looking for min_commit_position added
Updated by Backport Bot over 2 years ago
- Copied to Backport #53938: pacific: journal: client_register does not check disconnected state when looking for min_commit_position added
Updated by Arthur Outhenin-Chalandre over 2 years ago
- Backport changed from pacific,octopus to quincy,pacific,octopus
Updated by Ilya Dryomov over 2 years ago
- Backport changed from quincy,pacific,octopus to pacific,octopus
Updated by Yuri Weinstein over 2 years ago
Updated by Ilya Dryomov almost 2 years ago
- Status changed from Pending Backport to Resolved