Project

General

Profile

Actions

Bug #4562

closed

OSD fails to start with error assert(values.size() == 2)

Added by JuanJose Galvez about 11 years ago. Updated about 11 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
David Zafman
Category:
-
Target version:
-
% Done:

0%

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

Description

The problem occurred after an upgrade to master (67c696dfac0a2343ec7530ca68e5ea9b2d3d31d0).

Error from log is:

2013-03-26 14:13:11.385596 7f7f1994e780 -1 osd/PG.cc: In function 'static int PG::read_info(ObjectStore*, coll_t, ceph::bufferlist&, pg_info_t&, std::map<unsigned int, pg_interval_t>&, hobject_t&, hobject_t&, interval_set<snapid_t>&, __u8&)' thread 7f7f1994e780 time 2013-03-26 14:13:11.384607
osd/PG.cc: 2785: FAILED assert(values.size() == 2)

The log is attached.


Files

ceph-osd.0.log (852 KB) ceph-osd.0.log JuanJose Galvez, 03/26/2013 05:22 PM
Actions #1

Updated by Sage Weil about 11 years ago

  • Priority changed from Normal to Urgent
Actions #2

Updated by Ian Colle about 11 years ago

  • Assignee set to David Zafman
Actions #3

Updated by David Zafman about 11 years ago

  • Status changed from New to In Progress

This was caused by the termination of an OSD while it was still running load_pgs() dealing with an upgrade from 0.56.4 to master.

It was found that PG:upgrade() includes a call to write_if_dirty() but with only dirty_info set. This would call write_info() upgrading the info_struct_v WITHOUT creating a new biginfo key.

The non-SnapMapper upgrade code path would normally call write_if_dirty() later when load_pgs() calls build_past_intervals_parallel().

Actions #4

Updated by David Zafman about 11 years ago

  • Status changed from In Progress to Resolved
Actions #5

Updated by Joachim Nolten about 11 years ago

I am seeing this exact issue after upgrading from 0.56.4 to 0.60. How do I get the OSD back online?

Actions #6

Updated by Joachim Nolten about 11 years ago

I am seeing this exact issue after upgrading from 0.56.4 to 0.60. How do I get the OSD back online?

Actions

Also available in: Atom PDF