Re: the question of way to modify bucket metadata

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 12/16/2016 09:20 AM, Scott Jing wrote:
Hi,

I'm Wenjun Jing from China Mobile(suzhou). Recently ceph multisite is
applied to our production onest, short for Object-Orient Storage
System,
which is a object storage production based on ceph. Needless to say,
the feature of active-active is awesome! But there are also some
features
which may not be supported very well and the community is improving
them constantly. So we want to discuss with you to comfirm the roadmap
of them.

This is the fact that if creating bucket on the secondary
zone/zonegroup. The request would send to meta master and the bucket
will be created
on meta master firstly, then it will be created locally.

Some metadata/feature of bucket in the process upper is not synced to
secondary zone or zonegroup. For instance, the bucket acl and bucket
versionning cannot be modified on the slave zone/zonegroup, which has
been fixed in the jewel. Now, we want to ack you to get the
development
direction(way) of the bucket metadata to modify.

The below are some ways which I've thought out currently.

1. All the bucket metadata will be modified in the meta master firstly
and then modify the metadata
locally according to the status retured from meta master. Considering
this way, some metadata (eg. creation time)
may not consistent with the meta master, which doesn't improve user experience.

2. All the bucket metadata will be modified in the meta master firstly
and sync the changed bucket metadata to slave zone or zonegroup.

3. The other alternative way to handle this situation? Could you
discribe to me detailedly?

Once the upper way could be comfirmed Definitely, we can make some
contribution to the community.

Look forward to your kind reply.
Thanks!
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Hi,

#2 is the current strategy for updates, but there's been some discussion about this related to the fix for bucket versioning at https://github.com/ceph/ceph/pull/12444. The issue here is that if you enable bucket versioning on a non-master zone, the change is not reflected on that zone until the background sync process reads it from the metadata master.

That pull request changes RGWSetBucketVersioning to use strategy #1, but as you point out, this can lead to inconsistent metadata. It also introduces the potential to overwrite the results of other operations applied on the metadata master.

I think the ideal solution would involve getting the updated metadata from the master (either in the reply to our forwarded request, or with a separate request to /admin/metadata) and writing that locally. We'd just have to make sure that this write respects the same object versioning requirements as other updates from metadata sync - I think RGWBucketInstanceMetadataHandler::put() takes care of for us, but it needs to be tested.

I created an issue to track this at http://tracker.ceph.com/issues/18292.

Thanks,
Casey
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux