Skip to content

Commit d08b9e4

Browse files
committed
Allow BlipTesterClient conflict resolution to resolve a server tombstone in conflict to a non-deletion client doc
1 parent 1b058a6 commit d08b9e4

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

rest/utilities_testing_blip_client.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -592,6 +592,7 @@ func (btr *BlipTesterReplicator) initHandlers(btc *BlipTesterClient) {
592592
var incomingVersion DocVersion
593593
var versionToWrite DocVersion
594594
var hlv db.HybridLogicalVector
595+
isDelete := true
595596
if btc.UseHLV() {
596597
var incomingHLV *db.HybridLogicalVector
597598
if revHistory != "" {
@@ -619,8 +620,9 @@ func (btr *BlipTesterReplicator) initHandlers(btc *BlipTesterClient) {
619620
btc.TB().Logf("Detected conflict on pull of doc %q (clientCV:%v - incomingCV:%v incomingHLV:%#v)", docID, clientCV, incomingCV, incomingHLV)
620621
switch btc.BlipTesterClientOpts.ConflictResolver {
621622
case ConflictResolverLastWriteWins:
622-
// local wins so write the local body back as a new resolved version (based on incoming HLV) to push
623+
// local wins so write the local back as a new resolved version (based on incoming HLV) to push
623624
body = latestClientRev.body
625+
isDelete = latestClientRev.isDelete
624626
v := db.Version{SourceID: fmt.Sprintf("btc-%d", btc.id), Value: uint64(time.Now().UnixNano())}
625627
require.NoError(btc.TB(), hlv.AddVersion(v), "couldn't add incoming HLV into client HLV")
626628
versionToWrite = DocVersion{CV: v}
@@ -647,7 +649,7 @@ func (btr *BlipTesterReplicator) initHandlers(btc *BlipTesterClient) {
647649
version: versionToWrite,
648650
body: body,
649651
HLV: hlv,
650-
isDelete: true,
652+
isDelete: isDelete,
651653
message: msg,
652654
}
653655

0 commit comments

Comments
 (0)