Project

General

Profile

Actions

Bug #21843

closed

mds: preserve order of requests during recovery of multimds cluster

Added by Zheng Yan over 6 years ago. Updated about 6 years ago.

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

0%

Source:
Development
Tags:
Backport:
luminous
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

there are several cases that requests get processed in wrong order

1)
touch a/b/f (handled by mds.1, early reply)
mkdir a/.snap/s1 (handle mds.0)

we should delay taking xlock on snaplock

if mds.1 restarts, the replaying the create request may happen after the mksnap request

2)
rm -f a/b/f (handled by mds.1, early reply)
lookup a/b/f (handled by mds.0, lookup is handled by non-auth mds)

we should delay taking rdlock on replica object

if mds.1 restarts, mds.0 may handle the lookup before mds.1 replays the unlink request

3)
rm -f a/b/f (handled by mds.1 early reply)
rmdir a/b (handled by mds.0)

dirfrag a/b/ is subtree. if mds.1 restart, mds.0 may check if a/b is empty before mds.1 replay the unlink request

we should delay take rdlock on scatterlock


Related issues 2 (0 open2 closed)

Has duplicate CephFS - Bug #22374: luminous: mds: SimpleLock::num_rdlock overloadedDuplicateZheng Yan12/12/2017

Actions
Copied to CephFS - Backport #21947: luminous: mds: preserve order of requests during recovery of multimds clusterResolvedActions
Actions #1

Updated by Zheng Yan over 6 years ago

  • Status changed from New to Fix Under Review
Actions #2

Updated by Patrick Donnelly over 6 years ago

  • Subject changed from preserve order of requests during recovery of multimds cluster to mds: preserve order of requests during recovery of multimds cluster
  • Status changed from Fix Under Review to Pending Backport
  • Source set to Development
  • Backport set to luminous
  • Component(FS) MDS added
Actions #3

Updated by Nathan Cutler over 6 years ago

  • Copied to Backport #21947: luminous: mds: preserve order of requests during recovery of multimds cluster added
Actions #4

Updated by Nathan Cutler over 6 years ago

  • Has duplicate Bug #22374: luminous: mds: SimpleLock::num_rdlock overloaded added
Actions #5

Updated by Patrick Donnelly about 6 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF