Project

General

Profile

Actions

Bug #54500

closed

Trim olh entries with empty name from bi

Added by Dan van der Ster about 2 years ago. Updated over 1 year 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 3 (0 open3 closed)

Copied to rgw - Backport #55249: octopus: Trim olh entries with empty name from biResolvedActions
Copied to rgw - Backport #55250: pacific: Trim olh entries with empty name from biResolvedDan van der SterActions
Copied to rgw - Backport #55251: quincy: Trim olh entries with empty name from biResolvedDan van der SterActions
Actions #1

Updated by Dan van der Ster about 2 years ago

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

Updated by Dan van der Ster about 2 years 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>
Actions #3

Updated by Dan van der Ster about 2 years ago

  • Assignee set to Dan van der Ster
Actions #4

Updated by Dan van der Ster about 2 years ago

  • Backport set to octopus,pacific,quincy
Actions #5

Updated by Casey Bodley about 2 years ago

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

Updated by Backport Bot about 2 years ago

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

Updated by Backport Bot about 2 years ago

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

Updated by Backport Bot about 2 years ago

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

Updated by Backport Bot over 1 year ago

  • Tags set to backport_processed
Actions #10

Updated by Konstantin Shalygin over 1 year ago

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

Also available in: Atom PDF