Yep, that's it. Thanks a lot!
On 11.08.2016 22:44, Sage Weil wrote:
On Thu, 11 Aug 2016, Igor Fedotov wrote:
Looks like BlueStore::collection_list method makes my day today :)
While playing with new objectstore fio plugin (see
https://github.com/ceph/ceph/pull/10267) I observed BlueStore fsck reports
errors on restart. And completion if properly configured.
After significant test case simplification it appeared that BlueStore::fsck
detects duplicate nid at the storage. More analysis showed that in fact it's
Bluestore::collection_list who returned duplicate entities.
I have some gaps in my collection/object naming scheme understanding hence I
can't say definitely if fio assigns collection names properly. IMHO it's
rather an issue in BlueStore::collection_list.
Here is pretty simple (hopefully) log (2 collections and 2 objects total) each
showing the case.
IMHO the issue somewhere below the following line:
2016-08-11 18:30:44.595101 7fbe78f39780 1 bluestore(./fio-bluestore) fsck
collection 281474976710656.0_head
where both object keys are reported.
Sage, could you please take a look and comment.
I think this is the problem:
2016-08-11 18:30:44.595104 7fbe78f39780 20 bluestore(./fio-bluestore) collection_list range '--'0x7ffefffffffffffe00000000'.' to '--'0x7ffefffffffffffeffffffff':' and '--'0x800100000000000000000000'.' to '--'0x8001000000000000ffffffff':' start GHMIN
for the .0 collection it is scanning the hash range that includes the
.1 collection. That's because create_collection is being passed a bit
'bits' value:
2016-08-11 18:30:43.697022 7fbe78f39780 15 bluestore(./fio-bluestore) _create_collection 281474976710656.0_head bits 0
2016-08-11 18:30:43.697037 7fbe78f39780 10 bluestore(./fio-bluestore) _create_collection 281474976710656.0_head bits 0 = 0
2016-08-11 18:30:43.697038 7fbe78f39780 15 bluestore(./fio-bluestore) _create_collection 281474976710656.1_head bits 0
2016-08-11 18:30:43.697042 7fbe78f39780 10 bluestore(./fio-bluestore) _create_collection 281474976710656.1_head bits 0 = 0
Since there are 2 collections, we need (at least) 1 significant bit.
sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html