Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: SDK
-
Labels:None
Description
Couchbase Mobile replicates too slowly, because on every launch it acquires a different "replication ID", meaning that the replicator will take the slow path of fetching the remote server's entire _changes feed and checking all the revision IDs against the local data. As an example, the GrocerySync demo app takes about 15 seconds to do this sync against an iriscouch database, and this is quite visible in the UI as the progress bar slowly inches across. It's a waste of CPU and bandwidth.
The underlying problem is in CouchDB, because it bases the replication ID partly on the local server's listener port number, which in our case is assigned randomly by the OS on every launch. The bug for that is <https://issues.apache.org/jira/browse/COUCHDB-1259>. Once that bug is fixed we need to make sure we bring in that revision into our branch. We may also need to do some work to get stable IDs -- depending on how the bug is addressed, we might have to compute our own unique stable replication IDs.
NOTE: This is only a performance problem, not a correctness problem. The replication works properly, it just takes a lot more bandwidth and CPU time than necessary.
The underlying problem is in CouchDB, because it bases the replication ID partly on the local server's listener port number, which in our case is assigned randomly by the OS on every launch. The bug for that is <https://issues.apache.org/jira/browse/COUCHDB-1259>. Once that bug is fixed we need to make sure we bring in that revision into our branch. We may also need to do some work to get stable IDs -- depending on how the bug is addressed, we might have to compute our own unique stable replication IDs.
NOTE: This is only a performance problem, not a correctness problem. The replication works properly, it just takes a lot more bandwidth and CPU time than necessary.
Activity
- All
- Comments
- Work Log
- History
- Activity
- Gerrit Reviews
Jens Alfke
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |