]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
cls/journal: skip disconnected clients when finding min_commit_position 44689/head
authorMykola Golub <mgolub@suse.com>
Fri, 14 Jan 2022 18:21:29 +0000 (18:21 +0000)
committerArthur Outhenin-Chalandre <arthur.outhenin-chalandre@cern.ch>
Thu, 20 Jan 2022 14:26:43 +0000 (15:26 +0100)
commit3312713be0fcf2672e9151c12f22712ca07ecabf
tree370fc85a018f1e7821f3b91e2b64bb329ea0c53b
parent653efc847ae4cf34d9f5f57d438a6ef3e4619fe0
cls/journal: skip disconnected clients when finding min_commit_position

When a new journal client is registered, all already registered
clients are checked, and a client with min position is selected
as a position for the new client. Thus 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 did not take into account that a registered client might
be in disconnected state, and in that case the journal entries
might be trimmed for this client.

Fixes: https://tracker.ceph.com/issues/53888
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 078d72e5e6cfa41f809045ff03971ac8acf0d31e)
src/cls/journal/cls_journal.cc