In multisite environment, objects containing "/" in the name are not synced

Bug #1974138 reported by Giuseppe Petralia
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ceph RADOS Gateway Charm
Fix Committed
Undecided
Unassigned

Bug Description

Steps to reproduce:
===================

1. Create new object on primary zone in "test-sync-bucket" callend "obj-no-slash"

2. Object is synced correctly

From secondary:
$ python3 list_bucket.py $s3_creds test-sync-bucket
obj-no-slash

3. Create object with slash called "object-/with-slash" on Primary

4. Object is not replicated.

From secondary:
$ python3 list_bucket.py $s3_creds test-sync-bucket
obj-no-slash

but the object is present on the Primary:
$ python3 list_bucket.py $s3_creds test-sync-bucket
obj-no-slash
object-/with-slash

Note: same happens if the object is created on the secondary, it will not be replicated on the primary

Expected result:
================

"object-/with-slash" is replicated correctly

Revision history for this message
Giuseppe Petralia (peppepetra) wrote :

Apparently adding to the apache2

AllowEncodedSlashes On

fix the issue.

Revision history for this message
Trent Lloyd (lathiat) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-ceph-radosgw (master)
Changed in charm-ceph-radosgw:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-ceph-radosgw (master)

Reviewed: https://review.opendev.org/c/openstack/charm-ceph-radosgw/+/842469
Committed: https://opendev.org/openstack/charm-ceph-radosgw/commit/8a844bca972ba40ba269b26111180732c0ab7312
Submitter: "Zuul (22348)"
Branch: master

commit 8a844bca972ba40ba269b26111180732c0ab7312
Author: peppepetra86 <email address hidden>
Date: Thu May 19 10:13:13 2022 +0200

    Allow URLs which contain encoded path separators

    This is to resolve the issue with objects containing slash in the name
    not correctly synced in multisite environments.

    Closes-Bug: #1974138
    Change-Id: I71ac000bb4754c9cb987d703f145dc2a5ff032ad

Changed in charm-ceph-radosgw:
status: In Progress → Fix Committed
Revision history for this message
Alan Baghumian (alanbach) wrote :

I encountered this issue and adding "AllowEncodedSlashes On" on primary node's Apache worked and restarting it worked, but now I have a few 100GB of data being out of sync between primary and secondary buckets.

Tried following the steps here to force a sync but the actual sync does not happen:

https://www.ibm.com/docs/en/storage-ceph/7?topic=tmscog-synchronizing-data-in-multi-site-ceph-object-gateway-configuration

We need a real workaround to re-sync the data.

Revision history for this message
Alan Baghumian (alanbach) wrote :

Disabling and Enabling the Sync for a given bucket from the primary site does the re-sync trick:

$ sudo radosgw-admin bucket sync disable --bucket backup-archive
$ sudo radosgw-admin bucket sync enable --bucket backup-archive

$ sudo radosgw-admin bucket sync status --bucket backup-archive
          realm 0b1d60c6-5be8-470a-9d58-4e6a1215848b (hrizn.cloud)
      zonegroup 1be243bd-7041-4343-8202-3e47b2f28c76 (int.hrizn.cloud)
           zone 1d914e95-58bc-411c-a4fa-306dd2191344 (s3-az1)
         bucket :backup-archive[1d914e95-58bc-411c-a4fa-306dd2191344.22094132.2])

    source zone d46023eb-6350-4536-9440-7ea24ae270fa (s3-az2)
  source bucket :backup-archive[1d914e95-58bc-411c-a4fa-306dd2191344.22094132.2])
                full sync: 0/11 shards
                incremental sync: 11/11 shards
                bucket is behind on 1 shards
                behind shards: [8]

Revision history for this message
Alan Baghumian (alanbach) wrote :

Any ideas when a charm including this fix will be released?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.