What calls '/sync_gateway/_revs_diff'?

I’ve noticed from tailing the SG logs that my iOS client makes many calls to the sync gateway (POST /sync_gateway/_revs_diff). At times (though not continually) it does it around 6 times per second when the app is in the foreground.

The app has replication (both push and pull) running. Is this considered “normal” behaviour? It feels awfully chatty.

Yes it is a normal part of the push replication process. It’s asking the server for which revisions out of a given set that it doesn’t have. If it has all of them then the algorithm moves directly to the next batch. For some large data set testing I will see it called dozens of times per second from one device.

@nick-couchbase @borrrden I think that’s only going to be true during a first replication or if there are a lot of writes going on, no? If there aren’t a lot of changes happening in the data that much traffic seems high.

Here is a ladder diagram that shows where the _revs_diff endpoint is called during the replication process

1 Like

Many thanks. Think I’ve got it.