Project

General

Profile

Bug #16919

MDS: Standby replay daemons don't drop purged strays

Added by John Spray almost 4 years ago. Updated almost 4 years ago.

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

0%

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

Description

This is not fatal, because the inodes will ultimately end up at the top of the LRU list and get trimmed, but it's a weird behaviour and it leads to standby-replay daemons (and by extension active daemons when a failure happens) having inflated caches.

Reproduce by just running one active and one standby-replay, and then create and delete a load of files, unmount a client and flush the journal: you'll see the active daemon's inode count fall back down, but the inode count on the standby-replay will remain high, and if you dump its cache you can see all the strays.

History

#1 Updated by John Spray almost 4 years ago

  • Category set to Code Hygiene
  • Component(FS) MDS added

#2 Updated by Greg Farnum almost 4 years ago

The standby does have all the information about which files are open (since they get journaled), right? Or do we only journal opens and not closes?

#3 Updated by John Spray almost 4 years ago

  • Status changed from New to In Progress
  • Assignee set to John Spray

#4 Updated by John Spray almost 4 years ago

  • Status changed from In Progress to Fix Under Review

#5 Updated by John Spray almost 4 years ago

  • Status changed from Fix Under Review to Resolved

Not backporting because it's a behavioural cleanup rather than a bugfix

Also available in: Atom PDF