You really need to specify what platform and version of Couchbase Lite you’re using, as the implementations are different.
It appears from the Sync Gateway Log that each document is requested individually from the Sync Gateway
Hm, that should only be happening for documents with attachments, i.e. not in your case.
Do you have any middleware between client and Sync Gateway that might be messing with the HTTP headers? In particular, if the Server:
response header is removed, CBL won’t know it’s talking to Sync Gateway and will fall back to the CouchDB subset of the replication protocol, which doesn’t include _bulk_get
.