Actions
Bug #17983
closedosd: setattr on old object name in ec transaction
% 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
ceph_test_rados_api_tier --gtest_filter=LibRadosTwoPoolsECPP.PromoteSnap
on bluestore we crash. the txn is
"ops": [ { "op_num": 0, "op_name": "clone", "collection": "1.0s1_head", "src_oid": "1#1:0a29011d:test-rados-api-gnit-30198-3::baz:head#", "dst_oid": "1#1:0a29011d:test-rados-api-gnit-30198-3::baz:2#" }, { "op_num": 1, "op_name": "rmattr", "collection": "1.0s1_head", "oid": "1#1:0a29011d:test-rados-api-gnit-30198-3::baz:2#", "name": "snapset" }, { "op_num": 2, "op_name": "setattrs", "collection": "1.0s1_head", "oid": "1#1:0a29011d:test-rados-api-gnit-30198-3::baz:2#", "attr_lens": { "_": 297 } }, { "op_num": 3, "op_name": "setattr", "collection": "1.0s1_head", "oid": "1#1:0a29011d:test-rados-api-gnit-30198-3::baz:2#", "name": "hinfo_key", "length": 30 }, { "op_num": 4, "op_name": "op_coll_move_rename", "old_collection": "1.0s1_head", "old_oid": "1#1:0a29011d:test-rados-api-gnit-30198-3::baz:head#", "new_collection": "1.0s1_head", "new_oid": "1#1:0a29011d:test-rados-api-gnit-30198-3::baz:head#4" }, { "op_num": 5, "op_name": "setattr", "collection": "1.0s1_head", "oid": "1#1:0a29011d:test-rados-api-gnit-30198-3::baz:head#", "name": "hinfo_key", "length": 30 }, { "op_num": 6, "op_name": "touch", "collection": "1.0s1_head", "oid": "1#1:0a29011d:test-rados-api-gnit-30198-3::baz:snapdir#" }, { "op_num": 7, "op_name": "setattrs", "collection": "1.0s1_head", "oid": "1#1:0a29011d:test-rados-api-gnit-30198-3::baz:snapdir#", "attr_lens": { "_": 289, "snapset": 75 } }, { "op_num": 8, "op_name": "setattr", "collection": "1.0s1_head", "oid": "1#1:0a29011d:test-rados-api-gnit-30198-3::baz:snapdir#", "name": "hinfo_key", "length": 30 } ]
note that op 5 does setattr on the old oid that op 4 just renamed.
Updated by Sage Weil over 7 years ago
https://github.com/ceph/ceph/pull/12114 will make this easier to debug; we should update FileStore to stop tolerating ENOENT for the same set of ops once we confirm that there aren't other parts of the OSD submitting bad txns like this. Otherwise we'll need to restructure bluestore's code a bit to handle them gracefully.
Updated by Samuel Just over 7 years ago
Ah, that's actually somewhat harmless, let's see why it's doing that...
Updated by Samuel Just over 7 years ago
- Status changed from 7 to Fix Under Review
Updated by Sage Weil over 7 years ago
- Status changed from Fix Under Review to Resolved
Actions