From 28f0ded1a4fae3d5f76bfba38583a899ba5435f6 Mon Sep 17 00:00:00 2001 From: Poorna Krishnamoorthy Date: Tue, 20 Apr 2021 17:31:36 -0700 Subject: [PATCH] Update replication design.md for sync mode (#12100) --- docs/bucket/replication/DESIGN.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/bucket/replication/DESIGN.md b/docs/bucket/replication/DESIGN.md index 52604fbc2..d85c5ae5a 100644 --- a/docs/bucket/replication/DESIGN.md +++ b/docs/bucket/replication/DESIGN.md @@ -31,6 +31,8 @@ It must be noted that if active-active replication is set up with delete marker In the case of versioned deletes a.k.a permanent delete of a version by doing a `mc rm --version-id` on a object, replication implementation marks a object version permanently deleted as `PENDING` purge and deletes the version from source after syncing to the target and ensuring target version is deleted. The delete marker being deleted or object version being deleted will still be visible on listing with `mc ls --versions` until the sync is completed. Objects marked as deleted will not be accessible via `GET` or `HEAD` requests and would return a http response code of `405`. The status of versioned delete replication on the source can be queried by `HEAD` request on the delete marker versionID or object versionID in question. An additional header `X-Minio-Replication-Delete-Status` is returned which would show `PENDING` or `FAILED` status if the replication is still not caught up. +Note that synchronous replication, i.e. when remote target is configured with --sync mode in `mc admin bucket remote add` does not apply to `DELETE` operations. The version being deleted on the source cluster needs to maintain state and ensure that the operation is mirrored to the target cluster prior to completing on the source object version. Since this needs to account for the target cluster availability and the need to serialize concurrent DELETE operations on different versions of the same object during multi DELETE operations, the current implementation queues the `DELETE` operations in both sync and async modes. + Existing object replication, replica modification sync for 2-way replication and multi site replication are currently not supported. ### Internal metadata for replication