Project

General

Profile

Actions

Bug #63178

closed

multisite: don't write data/bilog entries for lifecycle transitions/deletes

Added by Casey Bodley 7 months ago. Updated 29 days ago.

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

0%

Source:
Tags:
multisite lifecycle backport_processed
Backport:
reef
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

lifecycle processing should happen independently on all zones, so the lifecycle deletes and transitions probably don't need to be replicated. heavy lifecycle activity can generate a lot of replication logs and slow down multisite replication significantly

rgw::sal::Object::transition() and rgw::sal::Object::DeleteOp should be extended to take a bool log_op to control whether replication logs need to be written. the calls from lifecycle can all pass false, but other calls should reproduce the existing checks for need_to_log_data() that currently happen at lower levels in rgw_rados.cc


Related issues 1 (0 open1 closed)

Copied to rgw - Backport #64088: reef: multisite: don't write data/bilog entries for lifecycle transitions/deletesResolvedJane ZhuActions
Actions #1

Updated by Casey Bodley 7 months ago

  • Assignee deleted (Thomas Serlin)
Actions #2

Updated by Matt Benjamin 7 months ago

sounds good to me; I think we'd need some way to describe the intent of the delete in the rgw::sal::Object::DeleteOp?

Matt

Actions #3

Updated by Casey Bodley 7 months ago

  • Description updated (diff)
Actions #4

Updated by Casey Bodley 7 months ago

with versioned buckets, there may be cases where lifecycle would generate different version ids in different zones - either from transitions or creation of delete markers. i'm not sure exactly how this works currently, but it could be a potential regression

Actions #5

Updated by Casey Bodley 7 months ago

this would also cause issues for 'sync modules' like elasticsearch and cloud sync, who don't themselves run lifecycle processing so wouldn't be informed of deletion/transition events. but it's hard to prioritize support for these things over general performance and reliability of multisite replication

Actions #6

Updated by Casey Bodley 7 months ago

  • Assignee set to Shilpa MJ
Actions #7

Updated by Shilpa MJ 7 months ago

  • Translation missing: en.field_tag_list set to multisite multisite-backlog
Actions #9

Updated by Shilpa MJ 5 months ago

  • Assignee changed from Shilpa MJ to Jane Zhu
Actions #10

Updated by Jane Zhu 5 months ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 54759
Actions #11

Updated by Casey Bodley 4 months ago

  • Backport set to reef
Actions #12

Updated by Casey Bodley 4 months ago

  • Status changed from Fix Under Review to Pending Backport
  • Tags changed from multisite to multisite lifecycle
Actions #13

Updated by Backport Bot 4 months ago

  • Copied to Backport #64088: reef: multisite: don't write data/bilog entries for lifecycle transitions/deletes added
Actions #14

Updated by Backport Bot 4 months ago

  • Tags changed from multisite lifecycle to multisite lifecycle backport_processed
Actions #15

Updated by Jane Zhu 3 months ago

Missing some places, in the PR https://github.com/ceph/ceph/pull/54759, when converting the boolean argument to "uint32_t flags" in the callers of the function complete(...).

A fixup PR: https://github.com/ceph/ceph/pull/55293

Actions #16

Updated by Jane Zhu 29 days ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF