Project

General

Profile

Actions

Bug #21202

open

RGW: RGWDeleteMultiObj failed with '_' in object name

Added by Xinying Song over 6 years ago. Updated over 6 years ago.

Status:
New
Priority:
Normal
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

Hi, guys!
We found there is some problem in RGWDeleteMultiObj::execute(). This function is called when one want to delete multiple objects in a single HTTP request. However, when the object name contains '_' character, for example '_ABC_', the HTTP request will return 200, but the object called '_ABC_' still exists in ceph.
Further investigation shows that RGWDeleteMultiObj init an rgw_obj class with rgw_obj_key type, which will discriminate objects with '_' in names. However, RGWDeleteObj just use an string to initiate a rgw_obj class, thus everything goes well.
The strange behavior was introduce at https://github.com/ceph/ceph/commit/470afb9cc7a792f09ab417ae833e4ec8b6fae7ef. With changing the way rgw_obj is initiated, RGWMultiDeleteObj can deal with object with '_' in name. But the commit mentioned ahead exists from 9.1.0 to 11.2.1, I'm not sure whether it is a bug, any one can help? Or could any one tell us is this strange behavior expected?

Thanks!

Actions #1

Updated by Abhishek Lekshmanan over 6 years ago

  • Assignee set to Orit Wasserman
Actions

Also available in: Atom PDF