rgw: report failed replication status caused by user errors#62147
rgw: report failed replication status caused by user errors#62147
Conversation
This will call set_send_data_hint() to give curl hint for data upload. Signed-off-by: Seena Fallah <[email protected]>
Signed-off-by: Seena Fallah <[email protected]>
Send Content-Length header when send_content_length is set to true. Signed-off-by: Seena Fallah <[email protected]>
Signed-off-by: Seena Fallah <[email protected]>
Allow implementations control the logging. Signed-off-by: Seena Fallah <[email protected]>
This API allows system users to patch object attributes via an
S3-compatible API. The payload structure is as follows:
```json
{"attrs":[{"key":"user.rgw.amz-replication-status","val":"FAILED"}]}
```
The operation can be logged based on the log_op argument in the HTTP
request.
Signed-off-by: Seena Fallah <[email protected]>
Signed-off-by: Seena Fallah <[email protected]>
In order to update the source object's sync status in case the object cannot be synced due to user errors (like perm issues) this function can be called to update the status. Signed-off-by: Seena Fallah <[email protected]>
call fail_object_replication_status() on objects where we have perm errors. Signed-off-by: Seena Fallah <[email protected]>
As instance field is preserved while replicating, this can make confusion for versioned buckets having non-versioned objects and non-versioned buckets having versioned objects. Signed-off-by: Seena Fallah <[email protected]>
replicating lock enabled objects require the destination bucket to have object lock enabled. Signed-off-by: Seena Fallah <[email protected]>
Signed-off-by: Seena Fallah <[email protected]>
Signed-off-by: Seena Fallah <[email protected]>
so it can skip setting the attr if the object has been modified. Signed-off-by: Seena Fallah <[email protected]>
support unmodified since arg for setting the attrs in RGWRados, so if the object has been modified by that time, we stop setting the attrs. Signed-off-by: Seena Fallah <[email protected]>
Signed-off-by: Seena Fallah <[email protected]>
Signed-off-by: Seena Fallah <[email protected]>
Signed-off-by: Seena Fallah <[email protected]>
|
jenkins test make check arm64 |
…ocks Reject PutBucketReplication calls if versioning is not identical between the source and destination buckets. This check also applies to object lock configurations to ensure consistency. Signed-off-by: Seena Fallah <[email protected]>
| OP_POST, | ||
| OP_COPY, | ||
| OP_OPTIONS, | ||
| OP_PATCH, |
There was a problem hiding this comment.
I've been a fan of PATCH ever since seeing it in LDP/SOLID.
Given that terrible middle-boxes are why we're not using SCTP and DCCP, do we have to worry about HTTP proxies between the clusters? I recall that being very unsupported, but I want to check.
There was a problem hiding this comment.
do we have to worry about HTTP proxies between the clusters?
To my knowledge, I don't think so.
|
|
||
| }; | ||
|
|
||
| template <class T, class E = int> |
There was a problem hiding this comment.
Is this type parameter just in case we have some reason to add output later?
There was a problem hiding this comment.
Yes, Just wanted to keep it unified with the rest already defined in the file.
|
@smanjara This looks good to me. Could you give it a once over in case there's anything replication-related I forgot? |
No, tests are based on actions defined in that PR (and some fixes in terms of perm evaluation). We would need that first. |
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
|
i opened https://tracker.ceph.com/issues/70486 to track replication policy where versioning/object-lock status differs. i think we'll want to backport that fix, even if it doesn't include changes to policy or x-amz-replication-status |
Opened #62323 |
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
This pull request has been automatically closed because there has been no activity for 90 days. Please feel free to reopen this pull request (or open a new one) if the proposed change is still appropriate. Thank you for your contribution! |
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
still waiting for the prerequisite PR to be addressed. |
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
This pull request has been automatically closed because there has been no activity for 90 days. Please feel free to reopen this pull request (or open a new one) if the proposed change is still appropriate. Thank you for your contribution! |
Report errors caused by user configuration during replication to the source zone to update the object's replication status attr.
Fixes: https://tracker.ceph.com/issues/70326
Require:
rgw: reject PutBucketReplication policies with mismatched statuses, skip sync on update #62323