Project

General

Profile

Actions

Bug #23674

closed

can't remove rados objects after copy rgw-object fail

Added by long li about 6 years ago. Updated over 4 years ago.

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

0%

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

Description

In copy rgw-object, rgw will increate rados objects refcount by using cls_refcount_get, and the ref_tag include '\0', see rgw_rados.cc::RGWRados::copy_obj() { ...ref_tag = tag + '\0'; cls_refcount_get(op, ref_tag, true);...}.
And rgw will rollback reference by using cls_refcount_put if the next operation fail, but the ref_tag does not include '\0', see rgw_rados.cc::RGWRados::copy_obj() { ...done_ret:...cls_refcount_put(op, tag, true);...}, so the cls_refcount_put has no effect, the rados object refcount will not decrease, and the rados object will not be removed even if the souce rgw-object be removed.


Related issues 3 (0 open3 closed)

Copied to rgw - Backport #41713: luminous: can't remove rados objects after copy rgw-object failResolvedNathan CutlerActions
Copied to rgw - Backport #41714: nautilus: can't remove rados objects after copy rgw-object failResolvedNathan CutlerActions
Copied to rgw - Backport #41715: mimic: can't remove rados objects after copy rgw-object failResolvedNathan CutlerActions
Actions #1

Updated by long li about 6 years ago

I pulled requests in github(https://github.com/ceph/ceph/pull/20790,https://github.com/ceph/ceph/pull/20789), but I am not familiar with github, so I don't know how to deal this issue, I hope someone else can deal this issue, thank you.

Actions #2

Updated by Nathan Cutler about 6 years ago

  • Backport set to luminous
Actions #3

Updated by Nathan Cutler about 6 years ago

  • Status changed from New to Fix Under Review
Actions #4

Updated by Nathan Cutler about 6 years ago

  • Assignee set to long li
Actions #5

Updated by J. Eric Ivancich over 4 years ago

  • Pull request ID set to 20790
Actions #6

Updated by J. Eric Ivancich over 4 years ago

  • Target version changed from v12.2.5 to v15.0.0
  • Backport changed from luminous to nautilus,mimic,luminous
Actions #7

Updated by J. Eric Ivancich over 4 years ago

  • Pull request ID changed from 20790 to 30013

The PR was replaced to one where each commit is signed-off and formatting issues are resolved.

Actions #8

Updated by J. Eric Ivancich over 4 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #9

Updated by Nathan Cutler over 4 years ago

  • Copied to Backport #41713: luminous: can't remove rados objects after copy rgw-object fail added
Actions #10

Updated by Nathan Cutler over 4 years ago

  • Copied to Backport #41714: nautilus: can't remove rados objects after copy rgw-object fail added
Actions #11

Updated by Nathan Cutler over 4 years ago

  • Copied to Backport #41715: mimic: can't remove rados objects after copy rgw-object fail added
Actions #12

Updated by Nathan Cutler over 4 years ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Actions

Also available in: Atom PDF