Details
-
Bug
-
Resolution: Fixed
-
Critical
-
2.5.0
-
Security Level: Public
-
CBG Sprint 26
-
5
Description
The scenario is as follows:
- Start a SG instance with one user (autotest) assigned access to a particular channel (ABC)
- Create several documents on Couchbase Lite that get routed to the ABC channel
- Modify all the documents via SG HTTP so that they get routed to another channel instead (e.g. "unknown" channel)
- Run a pull replication on CBL
With delta sync disabled this results in an exchange that finally ends in the following BLIP message for each revision:
Frame Flags: Compressed|NoReply (0x28)
|
Properties Length: 153
|
Properties: history:1-f93627c3c7e953ef8d319b20cd7741cf9dad1c3e:Content-Type:application/json:Profile:rev:id:cbl_0:rev:2-8619ff078f2b2751592e4ffd45f262b7:sequence:12
|
Message Body: {"_removed":true}
|
However, with delta sync enabled the following gets sent instead:
Frame Flags: Compressed|NoReply (0x28)
|
Properties Length: 205
|
Properties: Content-Type:application/json:Profile:rev:id:cbl_0:rev:2-58f62bd7e692d3f482ed9a9f9a775d48:sequence:12:history:1-e1d6c42d605810a2eb07da07ba3b022c326fb292:deltaSrc:1-e1d6c42d605810a2eb07da07ba3b022c326fb292
|
Message Body: {"channels":{"0":"unknown"}}
|
This results in the access removed event never getting triggered.
Attachments
Issue Links
- backports to
-
CBG-450 Backport CBG-449 to 2.5.1 (_removed entry not sent with delta sync)
- Closed