Docs Home → MongoDB Cluster-to-Cluster Sync
commit

On this page
Description
Commits the synchronization operation to the destination cluster.
Requirements
Before using the commit
endpoint:
Stop your application. This ensures that no additional writes occur on the source cluster.
Use the progress endpoint to confirm the following values:
state: "RUNNING"
canCommit: true
lagTimeSeconds
is near0
(Recommended, but not required)Note
lagTimeSeconds
lagTimeSeconds
indicates the time between the last applied event and time of the current latest event. When you send acommit
request,mongosync
enters theCOMMITTING
state for the amount of seconds reported bylagTimeSeconds
, and then transitions to theCOMMITTED
state.When
lagTimeSeconds
is0
, the source and destination clusters are in a consistent state.
Request
POST /api/v1/commit
Request Body Parameters
This endpoint does not use HTTP request body parameters. However, you
must specify the --data
option with an empty object { }
.
Response
Field | Type | Description |
---|---|---|
success | boolean | When the request is successful, this value is true . |
error | string | If an error occurred, indicates the name of the error. This field
is omitted from the response when success is true . |
errorDescription | string | Detailed description of the error that occurred. This field is
omitted from the response when success is true . |
Example
The following example commits the synchronization operation to the destination cluster.
Confirm that the Synchronization is Ready
Before sending a request to the commit
endpoint, use the
progress endpoint to confirm that the
synchronization is ready to be committed.
Request
curl localhost:27182/api/v1/progress -XGET
Response
{ "progress": { "state":"RUNNING", "canCommit":true, "canWrite":false, "info":"change event application", "lagTimeSeconds":0, "collectionCopy": { "estimatedTotalBytes":694, "estimatedCopiedBytes":694 }, "directionMapping": { "Source":"cluster0: localhost:27017", "Destination":"cluster1: localhost:27018" } } }
The progress
endpoint returned "canCommit":true
, which means
that the commit
request can run successfully.
Send the Commit Request
The following command sends a request to the commit
endpoint:
Request
curl localhost:27182/api/v1/commit -XPOST --data '{ }'
Response
{"success":true}
Behavior
If the commit
request is successful, mongosync
enters the
COMMITTING
state, then automatically transitions to the
COMMITTED
state.