Project

General

Profile

Actions

Bug #51358

closed

osd crash due to missing osdmap on pool creation, seastore

Added by Samuel Just almost 3 years ago. Updated over 2 years ago.

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

0%

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

Description

DEBUG 2021-06-25 06:16:06,643 [shard 0] seastore - CollectionNode::create 2.2_head 5 CachedExtent(addr=0x61200001d140, type=COLL_BLOCK, version=10, dirty_from_or_retired_at=journal_seq_t(segment_seq=2, offset=paddr_t<2, 4096>), paddr=paddr
_t<1, 24576>, state=MUTATION_PENDING, last_committed_crc=1053447860, refcount=2, laddr=16384, pin=LBAPin(16384~4096->paddr_t<1, 24576>)
DEBUG 2021-06-25 06:16:06,643 [shard 0] seastore - get_lba_btree_extent: read leaf at offset paddr_t<3, 8192> CachedExtent(addr=0x613000038900, type=LADDR_LEAF, version=35, dirty_from_or_retired_at=journal_seq_t(segment_seq=3, offset=paddr
_t<3, 12288>), paddr=paddr_t<3, 8192>, state=DIRTY, last_committed_crc=1396231231, refcount=66, size=63, meta=btree_node_meta_t(begin=0, end=18446744073709551615, depth=1)), parent CachedExtent(addr=0x61a000044a80, type=ROOT, version=2, di
rty_from_or_retired_at=journal_seq_t(segment_seq=3, offset=paddr_t<3, 524288>), paddr=paddr_t<NULL_SEG, NULL_OFF>, state=DIRTY, last_committed_crc=0, refcount=171)
terminate called after throwing an instance of 'std::runtime_error'
what(): read gave enoent on #-1:34c0e826:::osdmap.19:0#

Bug seems to be out of order commit of map write transactions:

INFO 2021-06-25 06:16:04,554 [shard 0] osd - osd.0: committed_osd_maps(16, 16)
...
INFO 2021-06-25 06:16:05,872 [shard 0] osd - osd.0: committed_osd_maps(18, 18)
...
INFO 2021-06-25 06:16:06,534 [shard 0] osd - osd.0: committed_osd_maps(17, 17)

Probably seastore write ordering, looking.

MDS=0 MGR=1 OSD=1 MON=1 ../src/vstart.sh -n --without-dashboard -X --crimson -d --seastore
./bin/ceph osd pool create foo4 32 32

Actions #1

Updated by Samuel Just almost 3 years ago

  • Description updated (diff)
Actions #2

Updated by Kefu Chai almost 3 years ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 42103
Actions #3

Updated by Samuel Just over 2 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF