Project

General

Profile

Actions

Bug #53459

closed

Bug #40002: mds: not trim log under heavy load

mds: start a new MDLog segment if new coming event possibly exceeds the expected segment size

Added by Xiubo Li over 2 years ago. Updated over 2 years ago.

Status:
Won't Fix
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

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

Description

The following is one example of the mds side logs:

59051 2021-12-02T13:29:13.087+0800 154d2ff24700  5 mds.0.log _submit_thread 60430327~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs] 
59052 2021-12-02T13:29:13.087+0800 154d2ff24700  5 mds.0.log _submit_thread 60431219~13385 : EUpdate cap update [metablob 0x1, 1 dirs]
59053 2021-12-02T13:29:13.088+0800 154d2ff24700  5 mds.0.log _submit_thread 60444624~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59054 2021-12-02T13:29:13.088+0800 154d2ff24700  5 mds.0.log _submit_thread 60445516~13385 : EUpdate cap update [metablob 0x1, 1 dirs]
59055 2021-12-02T13:29:13.088+0800 154d2ff24700  5 mds.0.log _submit_thread 60458921~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59056 2021-12-02T13:29:13.088+0800 154d2ff24700  5 mds.0.log _submit_thread 60459813~13385 : EUpdate cap update [metablob 0x1, 1 dirs]
59057 2021-12-02T13:29:13.088+0800 154d2ff24700  5 mds.0.log _submit_thread 60473218~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59058 2021-12-02T13:29:13.088+0800 154d2ff24700  5 mds.0.log _submit_thread 60474110~13385 : EUpdate cap update [metablob 0x1, 1 dirs]
59059 2021-12-02T13:29:13.088+0800 154d2ff24700  5 mds.0.log _submit_thread 60487515~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59060 2021-12-02T13:29:13.089+0800 154d2ff24700  5 mds.0.log _submit_thread 60488407~13385 : EUpdate cap update [metablob 0x1, 1 dirs]
59061 2021-12-02T13:29:13.089+0800 154d2ff24700  5 mds.0.log _submit_thread 60501812~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59062 2021-12-02T13:29:13.089+0800 154d2ff24700  5 mds.0.log _submit_thread 60502704~13385 : EUpdate cap update [metablob 0x1, 1 dirs]
59063 2021-12-02T13:29:13.089+0800 154d2ff24700  5 mds.0.log _submit_thread 60516109~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59064 2021-12-02T13:29:13.089+0800 154d2ff24700  5 mds.0.log _submit_thread 60517001~13385 : EUpdate cap update [metablob 0x1, 1 dirs]
59065 2021-12-02T13:29:13.089+0800 154d2ff24700  5 mds.0.log _submit_thread 60530406~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59066 2021-12-02T13:29:13.089+0800 154d2ff24700  5 mds.0.log _submit_thread 60531298~13385 : EUpdate cap update [metablob 0x1, 1 dirs]
59067 2021-12-02T13:29:13.090+0800 154d2ff24700  5 mds.0.log _submit_thread 60544703~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59068 2021-12-02T13:29:13.090+0800 154d2ff24700  5 mds.0.log _submit_thread 60545595~13385 : EUpdate cap update [metablob 0x1, 1 dirs]
59069 2021-12-02T13:29:13.090+0800 154d2ff24700  5 mds.0.log _submit_thread 60559000~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59070 2021-12-02T13:29:13.090+0800 154d2ff24700  5 mds.0.log _submit_thread 60559892~13386 : EUpdate cap update [metablob 0x1, 1 dirs]
59071 2021-12-02T13:29:13.090+0800 154d2ff24700  5 mds.0.log _submit_thread 60573298~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59072 2021-12-02T13:29:13.090+0800 154d2ff24700  5 mds.0.log _submit_thread 60574190~13386 : EUpdate cap update [metablob 0x1, 1 dirs]
59073 2021-12-02T13:29:13.090+0800 154d2ff24700  5 mds.0.log _submit_thread 60587596~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59074 2021-12-02T13:29:13.091+0800 154d2ff24700  5 mds.0.log _submit_thread 60588488~13386 : EUpdate cap update [metablob 0x1, 1 dirs]
59075 2021-12-02T13:29:13.091+0800 154d2ff24700  5 mds.0.log _submit_thread 60601894~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59076 2021-12-02T13:29:13.091+0800 154d2ff24700  5 mds.0.log _submit_thread 60602786~13386 : EUpdate cap update [metablob 0x1, 1 dirs]
59077 2021-12-02T13:29:13.091+0800 154d2ff24700  5 mds.0.log _submit_thread 60616192~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59078 2021-12-02T13:29:13.091+0800 154d2ff24700  5 mds.0.log _submit_thread 60617084~13386 : EUpdate cap update [metablob 0x1, 1 dirs]
59079 2021-12-02T13:29:13.091+0800 154d2ff24700  5 mds.0.log _submit_thread 60630490~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59080 2021-12-02T13:29:13.091+0800 154d2ff24700  5 mds.0.log _submit_thread 60631382~13386 : EUpdate cap update [metablob 0x1, 1 dirs]
59081 2021-12-02T13:29:13.091+0800 154d2ff24700  5 mds.0.log _submit_thread 60644788~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59082 2021-12-02T13:29:13.092+0800 154d2ff24700  5 mds.0.log _submit_thread 60645680~13386 : EUpdate cap update [metablob 0x1, 1 dirs]
59083 2021-12-02T13:29:13.092+0800 154d2ff24700  5 mds.0.log _submit_thread 60659086~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59084 2021-12-02T13:29:13.092+0800 154d2ff24700  5 mds.0.log _submit_thread 60659978~13386 : EUpdate cap update [metablob 0x1, 1 dirs]
59085 2021-12-02T13:29:13.092+0800 154d2ff24700  5 mds.0.log _submit_thread 60673384~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59086 2021-12-02T13:29:13.092+0800 154d2ff24700  5 mds.0.log _submit_thread 60674276~13386 : EUpdate cap update [metablob 0x1, 1 dirs]
59087 2021-12-02T13:29:13.092+0800 154d2ff24700  5 mds.0.log _submit_thread 60687682~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59088 2021-12-02T13:29:13.093+0800 154d2ff24700  5 mds.0.log _submit_thread 60688574~13386 : EUpdate cap update [metablob 0x1, 1 dirs]
59089 2021-12-02T13:29:13.093+0800 154d2ff24700  5 mds.0.log _submit_thread 60701980~872 : ESubtreeMap 2 subtrees , 0 ambiguous [metablob 0x1, 2 dirs]
59090 2021-12-02T13:29:13.093+0800 154d2ff24700  5 mds.0.log _submit_thread 60702872~13386 : EUpdate cap update [metablob 0x1, 1 dirs]

I believe in some cases, such a very large directory case, the log event size could be larger than '13386' as above, possibly 100KB ? If so, the real segment size could reach to 128 * 100KB = 12MB, while the expected segment size is 4M, the default Rados object's size, as default. The possible worst case is that if the MDLog:_submit_thread() is stuck or delayed for some reasons, the real segment size could be very large, like 100GB or so in overload case.

Actions #1

Updated by Xiubo Li over 2 years ago

  • Status changed from In Progress to Fix Under Review
  • Pull request ID set to 44180
Actions #2

Updated by Xiubo Li over 2 years ago

Yeah, by creating a number of directories and set the distributed pin on each of them, the ESubtreeMap event can reach up to 100+ KB.

2021-12-08T09:41:52.822+0800 1510f1a34700  5 mds.0.log _submit_thread 178819473~111201 : ESubtreeMap 88 subtrees , 86 ambiguous [metablob 0x1, 129 dirs]     
Actions #3

Updated by Xiubo Li over 2 years ago

  • Status changed from Fix Under Review to Won't Fix

Will fix it in another tracker https://tracker.ceph.com/issues/53623. Closing this one.

Actions

Also available in: Atom PDF