Project

General

Profile

Actions

Bug #17983

closed

osd: setattr on old object name in ec transaction

Added by Sage Weil over 7 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Immediate
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

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.

Actions #1

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.

Actions #2

Updated by Samuel Just over 7 years ago

Ah, that's actually somewhat harmless, let's see why it's doing that...

Actions #3

Updated by Samuel Just over 7 years ago

  • Status changed from New to 7
Actions #4

Updated by Samuel Just over 7 years ago

  • Status changed from 7 to Fix Under Review
Actions #6

Updated by Sage Weil over 7 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF