Project

General

Profile

Actions

Bug #19239

closed

mds: stray count remains static after workflows complete

Added by Patrick Donnelly about 7 years ago. Updated about 5 years ago.

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

0%

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

Description

For the Linode tests, I've observed that after the clients finish removing their sandboxes (thus making the subtree completely unlinked) each MDS has a number of strays which are not eventually purged. The number varies between MDS:

8x8192 20000C MDS 64x4096 Client.2/stats$ sqlite3 mds-002/stats.db
-- Loading resources from /home/pdonnell/.sqliterc
SQLite version 3.17.0 2017-02-13 16:02:40
Enter ".help" for usage hints.
sqlite> SELECT timestamp, json_extract(status, '$.whoami') AS rank, json_extract(perf_dump, '$.mds_cache.num_strays')
   ...>     FROM MDSStatus
   ...>     WHERE rank >= 0 AND rank != 18446744073709551615
   ...>     ORDER BY timestamp DESC
   ...>     LIMIT 10
   ...>     ;
1488504791|4|130
1488504789|4|130
1488504787|4|130
1488504785|4|130
1488504783|4|130
1488504781|4|130
1488504779|4|130
1488504777|4|130
1488504775|4|130
1488504773|4|130
8x8192 20000C MDS 64x4096 Client.2/stats$ sqlite3 mds-003/stats.db
-- Loading resources from /home/pdonnell/.sqliterc
SQLite version 3.17.0 2017-02-13 16:02:40
Enter ".help" for usage hints.
sqlite> SELECT timestamp, json_extract(status, '$.whoami') AS rank, json_extract(perf_dump, '$.mds_cache.num_strays')
   ...>     FROM MDSStatus
   ...>     WHERE rank >= 0 AND rank != 18446744073709551615
   ...>     ORDER BY timestamp DESC
   ...>     LIMIT 10
   ...>     ;
1488504792|2|119
1488504790|2|119
1488504788|2|119
1488504786|2|119
1488504784|2|119
1488504782|2|119
1488504780|2|119
1488504778|2|119
1488504776|2|119
1488504774|2|119

I've attached a graph of the strays for this experiment. The dataset is here:

mira092.front.sepia.ceph.com:/mnt/pdonnell/vault/8x8192 20000C MDS 64x4096 Client.2


Files

mds-strays.png (520 KB) mds-strays.png Patrick Donnelly, 03/09/2017 12:26 AM
Actions #1

Updated by Zheng Yan about 7 years ago

  • Status changed from New to In Progress
Actions #2

Updated by Zheng Yan about 7 years ago

  • Assignee set to Zheng Yan
Actions #3

Updated by Zheng Yan about 7 years ago

  • Status changed from In Progress to Fix Under Review

should be fixed by commits in https://github.com/ceph/ceph/pull/14550

mds: track dentries that should be trimmed quickly in separate list
mds: export subtrees in stray inode to auth mds of its parent inode
mds: drop dirty dentries in subtree of deleted directory
mds: use 'is in stray' instead 'nlink == 0' to check delete inodes
mds: clear scatter dirty when deleting directory

Actions #4

Updated by John Spray almost 7 years ago

  • Status changed from Fix Under Review to Resolved
Actions #5

Updated by Patrick Donnelly about 5 years ago

  • Category deleted (90)
  • Labels (FS) multimds added
Actions

Also available in: Atom PDF