Local to local replication accidentally bases its remote DB ID on the local database instead of the remote one. This is because of a quirk of how LoopbackProvider works. There are actually two sockets (one for the client side and one for the server side) each containing their own URL as the url property. However, the remote DB ID logic consults the url of the socket to use as its lookup key and since it returns its own URL instead of the URL of the destination, every local to local replication on a given local database will end up with the same key and thus bad things can happen with remote ancestors.
Activity
Show:
CB robot April 28, 2020 at 11:33 PM
Build couchbase-lite-net-2.8.0-9 contains couchbase-lite-core commit 21f6a47 with commit message: Correct the URL of LoopbackSocket (#893)
CB robot December 25, 2019 at 10:18 PM
Build couchbase-lite-ios-2.8.0-28 contains couchbase-lite-core commit 21f6a47 with commit message: Correct the URL of LoopbackSocket (#893)
CB robot December 21, 2019 at 5:00 AM
Build couchbase-lite-cblite-2.8.0-5 contains couchbase-lite-core commit 21f6a47 with commit message: Correct the URL of LoopbackSocket (#893)
CB robot December 21, 2019 at 3:30 AM
Build couchbase-lite-log-2.8.0-12 contains couchbase-lite-core commit 21f6a47 with commit message: Correct the URL of LoopbackSocket (#893)
Blake Meike December 18, 2019 at 11:40 PM
I am convinced that this is not a blocker for Mercury. Deferred to Hydrogen
Fixed
Pinned fields
Click on the next to a field label to start pinning.
Local to local replication accidentally bases its remote DB ID on the local database instead of the remote one. This is because of a quirk of how LoopbackProvider works. There are actually two sockets (one for the client side and one for the server side) each containing their own URL as the url property. However, the remote DB ID logic consults the url of the socket to use as its lookup key and since it returns its own URL instead of the URL of the destination, every local to local replication on a given local database will end up with the same key and thus bad things can happen with remote ancestors.