Project

General

Profile

Actions

Bug #13468

closed

osd/ReplicatedPG.cc: 9128: FAILED assert(info.last_complete == info.last_update)

Added by Guang Yang over 8 years ago. Updated about 7 years ago.

Status:
Can't reproduce
Priority:
High
Assignee:
Category:
-
Target version:
-
% Done:

0%

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

Description

This mainly happened when we marked some unfound objects lost, restarts helps.

I will update with more details after analyze the logs.

Actions #1

Updated by Samuel Just over 8 years ago

  • Priority changed from Normal to High
Actions #2

Updated by Guang Yang over 8 years ago

While I don't have verbose logs when the crash happened, I have the core dump, which shows:

(gdb) p pg_log.missing
$2 = {missing = std::map with 0 elements, rmissing = std::map with 0 elements}

So we are pretty sure that the hobject_t passed to recover_got was not in the missing map (or else info.last_complete would be set to info.last_update). My guess is that it is removed from the pg_log.missing as part of the local filestore apply. That also explains why restart helps for this case.

Actions #3

Updated by Guang Yang over 8 years ago

Actions #4

Updated by Nathan Cutler over 8 years ago

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

Updated by Guang Yang over 8 years ago

  • Status changed from Fix Under Review to 7
Actions #6

Updated by Sage Weil over 8 years ago

  • Status changed from 7 to 17
Actions #7

Updated by Sage Weil about 7 years ago

  • Status changed from 17 to Can't reproduce

this code was rewritten; assuming it's fixed.

Actions

Also available in: Atom PDF