Project

General

Profile

Actions

Feature #61199

open

Support redirect_zone at bucket level

Added by Yixin Jin 12 months ago. Updated 11 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

Currently, zone has an option to specify redirect_zone. Once it is set, when a get op on an object that doesn't exist, it tries to redirect the request to that zone.

With the latest sync policy feature, it is possible that one bucket has content in one zone but not in another. They may choose the residence of their content in different zones. Zone-level redirect_zone is nice but it is applied to requests for all buckets in that zone. I believe it would be very useless to extend this feature (redirect_zone) to bucket level so that when a bucket's content is moved from one zone to another, any accidental request that goes to the old zone can be redirected to the new zone.

In addition, in a multisite environment, when a bucket's content don't exist in all zones, CopyObject with x-copy-source may fail when it arrives at the zone that doesn't have the content of source bucket. With bucket-level redirect_zone, however, we can avoid this shortfall by using the existing capability of doing remote copy. My own prototype of this feature in Quincy branch shows that it is highly doable. The only issue is the difficulty of getting the source object policy in RGWCopyObj::verify_permission().

Actions

Also available in: Atom PDF