Project

General

Profile

Bug #54500

Trim olh entries with empty name from bi

Added by Dan van der Ster 11 months ago. Updated 4 months ago.

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

100%

Source:
Tags:
Backport:
octopus,pacific,quincy
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Is there any legitimate use-case for an olh entry with key.name == "" ? If not, let's trim them, e.g. during reshard, because...

#46456 had the effect of leaving several olh entries in shard 0 with an empty name.
Historically, these polluted buckets with versioning / lc expiration, and it's difficult or impossible for an operator to clean those from existing cli tooling.

For detail, here's the sort of entry we are trying to remove from a bucket index:

(The idx prefix is 0x80, the "ugly namespace")

{
  "type": "olh",
  "idx": "�1001_tmp/uploads/1544726371-28197-0001-2685-9890cb8c67e31032c7660031601b8dcc",
  "entry": {
    "key": {
      "name": "",
      "instance": "" 
    },
    "delete_marker": "false",
    "epoch": 7,
    "pending_log": [],
    "tag": "uemrg479c5wg78kcrq7ezeb4mhc616vg",
    "exists": "false",
    "pending_removal": "true" 
  }
}

Related issues

Copied to rgw - Backport #55249: octopus: Trim olh entries with empty name from bi Resolved
Copied to rgw - Backport #55250: pacific: Trim olh entries with empty name from bi Resolved
Copied to rgw - Backport #55251: quincy: Trim olh entries with empty name from bi Resolved

History

#1 Updated by Dan van der Ster 11 months ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 45304

#2 Updated by Dan van der Ster 11 months ago

Found some more evidence that indeed key.name.empty() shouldn't happen. In rgw_data_sync.cc we skip these empty entries:

commit 9695a0b4d169c6ae72769f39b21cee8b6e2099cf
Author: Yehuda Sadeh <ysadehwe@redhat.com>
Date:   Thu Feb 18 23:50:06 2016 -0800

    rgw: avoid empty object names

    Don't try to sync an object with empty name (shouldn't happen, but
    bugs may happen). Also, don't try to write_meta() of an empty object
    name, in case we get there through a different path somehow.

    Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>

#3 Updated by Dan van der Ster 11 months ago

  • Assignee set to Dan van der Ster

#4 Updated by Dan van der Ster 10 months ago

  • Backport set to octopus,pacific,quincy

#5 Updated by Casey Bodley 10 months ago

  • Status changed from Fix Under Review to Pending Backport

#6 Updated by Backport Bot 10 months ago

  • Copied to Backport #55249: octopus: Trim olh entries with empty name from bi added

#7 Updated by Backport Bot 10 months ago

  • Copied to Backport #55250: pacific: Trim olh entries with empty name from bi added

#8 Updated by Backport Bot 10 months ago

  • Copied to Backport #55251: quincy: Trim olh entries with empty name from bi added

#9 Updated by Backport Bot 6 months ago

  • Tags set to backport_processed

#10 Updated by Konstantin Shalygin 4 months ago

  • Status changed from Pending Backport to Resolved
  • % Done changed from 0 to 100
  • Tags deleted (backport_processed)

Also available in: Atom PDF