Skip to content
This repository was archived by the owner on May 1, 2025. It is now read-only.

Conversation

mayaraman19
Copy link
Collaborator

@mayaraman19 mayaraman19 commented Feb 3, 2025

Copy link

netlify bot commented Feb 3, 2025

Deploy Preview for docs-cluster-to-cluster-sync ready!

Name Link
🔨 Latest commit 50af2f1
🔍 Latest deploy log https://app.netlify.com/sites/docs-cluster-to-cluster-sync/deploys/67a28d63e209260008d17864
😎 Deploy Preview https://deploy-preview-581--docs-cluster-to-cluster-sync.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@mayaraman19 mayaraman19 changed the title initial commit.. DOCSP-46893: Destination-only Write-blocking Feb 3, 2025
Copy link
Collaborator

@ltran-mdb2 ltran-mdb2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great start @mayaraman19 ! I left a couple suggestions for your consideration

Copy link
Collaborator

@ltran-mdb2 ltran-mdb2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM mod I think we need to update snooty.toml to reflect the current version of c2c! Otherwise, this looks great!

Copy link
Collaborator

@ajayvijayakumar123 ajayvijayakumar123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking this tedious ticket 😅 Left some suggestions. Also tagging @mvankeulen94 for input

restarting data synchronization operations from the beginning. You can
only live upgrade to ``mongosync`` 1.7.3 or later from ``mongosync``
1.7.2 or later.
1.7.2 or later. You cannot live upgrade to ``mongosync`` 1.11.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it might be clearer to have a small table to lay out what upgrades are supported. This could be similar to what we have for our server versions compatibility matrix; https://www.mongodb.com/docs/cluster-to-cluster-sync/current/reference/supported-server-version/#synchronize-data-between-clusters-with-different-mongodb-server-major-versions

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ended up removing the sentence on 1.7.2 since, unless I'm misunderstanding, it's not adding any additional limitations?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The upgrade paths are a little complicated - this table lays out what we support. We might want to still document that we support 1.7.3 --> 1.10.0 for example. @mvankeulen94 do you think including a table like this is necessary? Or are we fine with just saying that we don't support live upgrade to 1.11

Screenshot 2025-02-04 at 3 58 26 PM

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @ajayvijayakumar123 , I think we can keep it as saying we don't support live upgrade to 1.11 for simplicity. The table here may imply that we have individual support schedules for these incremental versions when really it's just the latest version that we support.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sounds good, I'm good with what we have in this section then.

Starting in mongosync 1.7.0, you can upgrade mongosync without restarting data synchronization operations from the beginning.
Important: mongosync does not support upgrades to version 1.11.

I think it's a little conflicting to say that we support live upgrade but don't currently support live upgrade to 1.11. I'm fine with this though (since we might start supporting live upgrade to 1.12)

Copy link
Collaborator

@ajayvijayakumar123 ajayvijayakumar123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our team just talked more about the API change and we decided to only publicly document the following options: true, false, and "destinationOnly". We won't document "true" or "false". Apologies for the back and forth. Lmk if you have questions!

Copy link
Collaborator

@ajayvijayakumar123 ajayvijayakumar123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple more suggestions! Thanks for the updates

restarting data synchronization operations from the beginning. You can
only live upgrade to ``mongosync`` 1.7.3 or later from ``mongosync``
1.7.2 or later.
1.7.2 or later. You cannot live upgrade to ``mongosync`` 1.11.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The upgrade paths are a little complicated - this table lays out what we support. We might want to still document that we support 1.7.3 --> 1.10.0 for example. @mvankeulen94 do you think including a table like this is necessary? Or are we fine with just saying that we don't support live upgrade to 1.11

Screenshot 2025-02-04 at 3 58 26 PM

Copy link

@mvankeulen94 mvankeulen94 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

made some suggestions, thank you!

- You can't enable the ``enableUserWriteBlocking`` option in the ``/start``
request. Ensure that no writes are made to the source or destination cluster
during the migration.
request, so dual write-blocking is not supported. Destination-only

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we keep the note that users should ensure that no writes are made to the source cluster after commit has been issued?

required permissions on the source and destination clusters. The
permissions vary depending on your environment and if you want to run a
write-blocking or reverse sync.
dual write-blocking or reverse sync.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'if you want to run a dual write-blocking' -> 'if you want to modify write-blocking settings or use reverse sync'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yup this sounds good

- On the destination cluster during sync.
- On the source cluster when ``commit`` is received.
You can enable dual write-blocking, which blocks
writes on both the source and destination clusters.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we delete ", which blocks writes on both the source and destination clusters. " from this sentence in favor of the explanations below?


- On the destination cluster during sync.
- On the source cluster when ``commit`` is received.
You can enable dual write-blocking, which blocks

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'You can enable' -> 'You also have the option to enable'

restarting data synchronization operations from the beginning. You can
only live upgrade to ``mongosync`` 1.7.3 or later from ``mongosync``
1.7.2 or later.
1.7.2 or later.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we link to the 1.11 limitation here?

- If you start ``mongosync`` with ``enableUserWriteBlocking`` set
to ``"destinationOnly"``, ``mongosync`` only blocks writes on the
destination and unblocks them right before ``canWrite`` is
set to ``true``.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we add a note that this is the default?

Copy link
Collaborator

@ajayvijayakumar123 ajayvijayakumar123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link

@mvankeulen94 mvankeulen94 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks!

@ajhuh-mdb ajhuh-mdb merged commit 85fe906 into mongodb:master Feb 5, 2025
4 checks passed
@mayaraman19 mayaraman19 deleted the DOCSP-46893-destination branch February 5, 2025 15:36
jwilson-mdb pushed a commit to jwilson-mdb/docs-cluster-to-cluster-sync that referenced this pull request Feb 5, 2025
* initial commit..

* little fix

* changes

* release notes

* feedback

* little changes

* feedback

* table first draft

* typo

* de-modify

* small fix

* feedback
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants