Project

General

Profile

Actions

Bug #4221

closed

MDS: LogEvent::decode needs to respect mds_log_skip_corrupt_events for DECODE macros

Added by Greg Farnum about 11 years ago. Updated almost 8 years ago.

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

0%

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

Description

By far the most common form of corrupt event is one that's somehow the wrong size — and that hits an assert in LogEvent::decode before the MDLog even gets a chance to decide if it cares or not.

Actions #1

Updated by Greg Farnum about 11 years ago

  • Category set to 47
Actions #2

Updated by Greg Farnum over 10 years ago

  • Subject changed from MDS: mds_log_skip_corrupt_events is mostly useless to MDS: mds_log_skip_corrupt_events needs to influence LogEvent::decode
Actions #3

Updated by Greg Farnum over 10 years ago

Actually, I think the details here are incorrect. mds_log_skip_corrupt_events behavior is broken, but it's not the result of the assert (which is skipped) and the actual assert seems to be happening on a follow-on loop somehow. We need to get a log of it.

Actions #4

Updated by Greg Farnum over 10 years ago

  • Subject changed from MDS: mds_log_skip_corrupt_events needs to influence LogEvent::decode to MDS: LogEvent::decode needs to respect mds_log_skip_corrupt_events for DECODE macros

A corrupt object might lead to asserts getting thrown as part of DECODE_START or DECODE_FINISH. These macros are not wrapped by a try-catch block in LogEvent::decode(), and so can cause a process abort even if "mds log skip corrupt events = true" is set.

I think it may suffice to simply do a quick wrap; that suffices to get past my quick test. Pushed a patch to wip-4221.
Should it be backported?

Actions #5

Updated by Greg Farnum over 10 years ago

  • Status changed from New to Fix Under Review
  • Assignee set to Greg Farnum
Actions #6

Updated by Greg Farnum over 10 years ago

  • Backport set to dumpling
Actions #7

Updated by Greg Farnum over 10 years ago

  • Status changed from Fix Under Review to Resolved

Master commit:73289b34b0be5b6612e38944794d59b5e789f841
Dumpling commit:b3d3b3747c1eef695138dac828e5fcb435309c7b

Actions #8

Updated by Greg Farnum almost 8 years ago

  • Component(FS) MDS added
Actions

Also available in: Atom PDF