Revision flags get cleared while saving resolved document in Java

Description

Java clears the revision flags in its saveResolvedDocument function
CBL / SG Version: Android - 2.7.0-255 , iOS - 2.7.0-99, SGW - 2.7.0-165
*Steps to Reproduce: *
1..Net client as user1 created new list and task with attachment and shared with user2(Android client)
2. Both clients went offline.
3. User1 updated image and marked as complete
4. user2 edited the name of the same task with new name
5. both clients came online

Steps from Jim from his point of view :
Start with a synced document between two devices at the same rev
Go offline with both
Make at least one change on device 1 with no blob change
Make more than one change on device 2 with a blob change
Bring device 1 online, so it syncs first
Bring device 2 online, so its sync will get 409
SG sends device 2 rev 7 which will cause a pull conflict
Java conflict resolution handler accidentally clears the attachment flag on the new revision
LiteCore doesn't send the _attachments dictionary since the rev doesn't have the attachment flag

Actual Result:
6. User1 and user2 had the task marked as complete, but has old image which attached while created new task at step 1

Expected Result: user1 and user2 should have image updated and mark the task 'checked' as user1 wins with default conflict resolution

Note : Did not provide any logs as we tracked down the issue

Activity

Show:

CB robot January 11, 2020 at 1:46 AM

Build couchbase-lite-android-2.8.0-39 contains couchbase-lite-java commit 409d86d with commit message:
: Merge flags fix (#185)

CB robot January 11, 2020 at 1:28 AM

Build couchbase-lite-java-2.8.0-27 contains couchbase-lite-java commit 409d86d with commit message:
: Merge flags fix (#185)

CB robot January 10, 2020 at 11:44 PM

Build couchbase-lite-android-2.8.0-38 contains couchbase-lite-java-ee commit f057054 with commit message:
Add automated test for

CB robot January 10, 2020 at 11:44 PM

Build couchbase-lite-android-2.8.0-38 contains couchbase-lite-java-ee commit 27da84f with commit message:
Merge pull request #17 from couchbaselabs/bug/

CB robot January 10, 2020 at 11:26 PM

Build couchbase-lite-java-2.8.0-26 contains couchbase-lite-java-ee commit f057054 with commit message:
Add automated test for

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Instabug

Open Instabug

PagerDuty

Sentry

Zendesk Support

Created January 10, 2020 at 6:15 AM
Updated August 31, 2024 at 10:56 AM
Resolved January 13, 2020 at 11:53 PM
Instabug