Hey Ben, You are correct in your assumptions that all conflict resolution in 2.0 will be wallclock-based "last write wins", since there is no longer an API to plugin custom conflict resolvers. (previous 2.0 beta versions did have this feature) I can give you some insight into the thinking of the product management at Couchbase on this issue. Basically there appears to be a very small minority of users that will actually need to implement custom conflict resolvers based on their use case, and including this into the API raises the complexity quite a bit. So the thinking was to rip this out in 2.0, but if enough users complain, re-add it in 2.1.
I'm not in product management at Couchbase, but I'll make sure they see your feedback. If you have a channel with Couchbase sales or support, I'd definitely use that channel as well to try to influence the product direction. Also, if you are able to post details on your particular use case that highlights the need for custom conflict resolvers, that will help make a case for re-adding it. Thanks again for posting! On Tuesday, March 20, 2018 at 11:37:02 AM UTC-7, Ben Kennedy wrote: > > I am extremely concerned about the changes to conflict resolution in 2.0, > as elucidated in the linked blog post. > > In short, my understanding is that there is no longer any way for the > client to deal with conflicts arising from a pull replication (where a new > local revision conflicts with one delivered by Sync Gateway). This seems > like it will promise ongoing non-deterministic and silent data loss when > operating offline (or, indeed, when racing against other mobile clients > speaking to Sync Gateway). Really? > > This issue is serious enough I wanted to raise it for clarification here > (despite having also posted a reply on the blog post). > > -ben > > On Monday, March 19, 2018 at 8:12:24 AM UTC-7, Priya Rajagopal wrote: >> >> Happy to announce the release of Couchbase Mobile 2.0 Beta 2 which >> includes Couchbase Lite 2.0 Beta 2 and Sync Gateway 2.0 Beta 2. NOTE that >> Couchbase Lite 2.0 Beta 2 clients require Sync Gateway 2.0 Beta 2. Please >> refer to the [Compatibility matrix ] >> <https://developer.couchbase.com/documentation/mobile/2.0/references/couchbase-lite/release-notes/index.html?language=swift#compatibility-matrix> >> for >> details. >> >> You can download the latest Beta Build from our Downloads page under >> “Pre-Release” versions : https://www.couchbase.com/downloads >> >> The second beta release includes following major changes - >> - Updates to behavior of SaveDocument API and automatic conflict >> resolution policy. (Related [blog >> <https://blog.couchbase.com/document-conflicts-couchbase-mobile/>] ). >> - Encryption is moved out of 2.0 release >> - Replication bug fixes and optimizations >> - General performance improvements >> >> We have two versions of the build now - Community Edition (CE) and an >> Enterprise Edition (EE). Both editions are free to use for development >> purposes. Enterprise edition has some stipulations when you go production. >> - This is the [CE License] >> <https://github.com/couchbase/couchbase-lite-net/blob/master/LICENSE> >> - This is the [EE License] >> >> The Couchbase Lite 2.0 Beta release is available for iOS(Swift, ObjC), >> .NET (UWP, Xamarin) and Android platforms . Xamarin will a CE only release >> in 2.0. >> >> >> >> ***Links to platform specific release notes -*** >> - [Sync Gateway 2.0] >> <https://developer.couchbase.com/documentation/mobile/2.0/references/sync-gateway/release-notes/index.html> >> - [Swift/ObjC] >> <https://developer.couchbase.com/documentation/mobile/2.0/references/couchbase-lite/release-notes/index.html?language=swift> >> - [.Net] >> - [Android] >> <https://developer.couchbase.com/documentation/mobile/2.0/references/couchbase-lite/release-notes/index.html?language=java> >> >> ***Related Blogs :*** >> - [Introducing Queries in Couchbase Lite 2.0] >> <https://blog.couchbase.com/sql-for-json-query-interface-couchbase-mobile/> >> - [Introducing Full Text Search in Couchbase Lite 2.0] >> <https://blog.couchbase.com/full-text-search-couchbase-mobile-2-0/> >> - [Querying Array Collections in Lite] >> <https://blog.couchbase.com/querying-array-collections-couchbase-mobile/> >> - [Replication in Couchbase Mobile 2.0] >> <https://blog.couchbase.com/data-replication-couchbase-mobile/> >> - [Automatic Conflict Resolution in Couchbase Mobile 2.0] >> <https://blog.couchbase.com/document-conflicts-couchbase-mobile/> >> - [Join Queries in Couchbase Lite 2.0 >> <https://blog.couchbase.com/join-queries-couchbase-mobile/>] >> - [Certificate Pinning in Android with Couchbase Mobile 2.0] >> <https://blog.couchbase.com/certificate-pinning-android-with-couchbase-mobile/> >> >> ***Sample Apps :*** >> - ToDo App : >> https://github.com/couchbaselabs/mobile-training-todo/tree/feature/2.0 >> - Travel Sample App : >> https://github.com/couchbaselabs/mobile-travel-sample >> >> >> ***About Couchbase Mobile 2.0:*** >> >> Couchbase Mobile 2.0 is a groundbreaking new release for Couchbase >> Mobile. Key enhancements include a cross-platform common core, new and >> improved Query API with Full-Text search capabilities, automatic conflict >> resolution and a new web sockets based replication protocol >> >> >> ***About Beta Builds:*** >> >> Beta release is a way for you to test the latest functionality of a >> release before it is generally available. These will eventually become >> production releases with full support when they are stable and features are >> complete. >> >> -- You received this message because you are subscribed to the Google Groups "Couchbase Mobile" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/mobile-couchbase/f4a0423e-9051-4ae8-ab7a-9ef1e1483d1f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
