Bug #51358
closedosd crash due to missing osdmap on pool creation, seastore
0%
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
Updated by Kefu Chai almost 3 years ago
- Status changed from New to Fix Under Review
- Pull request ID set to 42103
Updated by Samuel Just over 2 years ago
- Status changed from Fix Under Review to Resolved