Details
Description
Precondition: running pull replication from server to client
When trying to abort the replication through posting an HTTP POST request with an additional "cancel=true", the following behavior could be observed:
1. Further HTTP-GET calls to the local database URL (sent peridodically to get the local disk_size for estimating replication progress) are blocked for about 15 seconds.
2. After that, the response to the abortion request is delivered from the local server with http code 200 and payload {"ok":true,"_local_id":"cde57ca63f28ed5db69d081a9ec73e15"} for example and HTTP-GET calls (see 1.) are not blocked anymore.
3. Anyway, the thread that initiated the replication still blocks. No response, indicating that replication has been terminated, is delivered back to the client. The local disk_size stays unchanged.
This behavior seems to be independent from the kind of replication (full, filtered or named-document).
When trying to abort the replication through posting an HTTP POST request with an additional "cancel=true", the following behavior could be observed:
1. Further HTTP-GET calls to the local database URL (sent peridodically to get the local disk_size for estimating replication progress) are blocked for about 15 seconds.
2. After that, the response to the abortion request is delivered from the local server with http code 200 and payload {"ok":true,"_local_id":"cde57ca63f28ed5db69d081a9ec73e15"} for example and HTTP-GET calls (see 1.) are not blocked anymore.
3. Anyway, the thread that initiated the replication still blocks. No response, indicating that replication has been terminated, is delivered back to the client. The local disk_size stays unchanged.
This behavior seems to be independent from the kind of replication (full, filtered or named-document).
For issues like this (core logic), it is helpful when reporting, to see if it reproduces when run against Couchbase Single as well, or if it is specific to iOS, Android, or both.
We'll track this one down, hopefully as part of a larger batch we find with the test suite.