mongosync usage and instructions on how
to upgrade your version of mongosync.Description
Returns either an updated status of the synchronization process or an error.
Request
GET /api/v1/progress
Response
The progress endpoint returns either an updated status or an error.
Successful Response
The response object contains 2 top-level fields, success and
progress.
The success field contains the status of the progress command.
Value is true if always true.
If mongosync successfully gets the status of the sync process,
all response fields are wrapped in the top-level progress object
with the following fields:
Field | Type | Description |
|---|---|---|
| string | The current state of |
| boolean | If |
| boolean | If Index validation continues until the commit is complete. |
| string | Provides extra information on the synchronization progress.
Possible
|
| integer | Time difference in seconds between the latest event timestamp that
Due to constant no-ops on the source cluster, the time difference
is often a few seconds above zero, even if there are no real
writes on the source cluster. The time difference becomes zero
when |
| integer | The approximate number of change events this instance of
This value may not be an accurate representation of the total number of events because it is not persisted and it omits certain events from the count. |
| object | Estimates the total amount of data being copied from collections and the amount that has already been copied to the destination cluster |
| integer | Estimated total number of bytes to be copied globally by all
|
| integer | Estimated number of bytes which have been copied to the destination
cluster by this To calculate the total estimated progress as a percentage, add the value
of the The value of |
| object | Describes the mapping direction for the synchronization, namely the source and destination clusters. |
| string | Source cluster. Returned in the form
|
| string | Destination cluster. Returned in the form
|
| string | Identifier string for the New in version 1.3. |
| string | Identifier string for the coordinator instance.
New in version 1.3. |
Error Response
If mongosync encounters an error, the progress endpoint returns
the following fields:
Field | Type | Description |
|---|---|---|
| boolean | Status of the |
| string | Type of error. |
| string | Detailed description of the error. |
Behavior
When
mongosyncis in theIDLEstate, all output fields exceptstateandcanCommitarenull.When
mongosyncis in thePAUSEDstate, thelagTimeSecondsfield isnull.The endpoint does not auto-refresh. To get updated status, call the
progressendpoint again.Calls to
/progressbeforemongosyncreaches the collection copy phase return 0 forestimatedCopiedBytesand 1 forestimatedTotalBytes.estimatedTotalBytesmay change throughout the collection copy phase if documents are inserted or deleted on the source cluster.estimatedCopiedBytesis never greater thanestimatedTotalBytes. Progress reaches 100% at the end of the collection copy phase (estimatedCopiedBytes=estimatedTotalBytes).When performing a live upgrade from an earlier version to 1.8.0 or higher, the collection copy data starts over from
[0 bytes copied / 1 bytes total]. After a live upgrade,/progressonly reports the progress of data copied after the upgrade completed.Note
Starting in
mongosync1.7.3,mongosynccan take at least two minutes to respond when you resume or restart a sync operation. During this time, any calls to theprogressendpoint might fail. If aprogresscall fails, it is safe to retry.
Endpoint Protection
mongosync does not protect the progress endpoint. However, by default
the API binds to localhost only and does not accept calls from other sources.
Additionally, the progress call does not expose connection credentials
or user data.
Example
The following example returns the status of the synchronization process.
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" } }, "success": true }