@@ -10,6 +10,7 @@ package topologytest
1010
1111import (
1212 "fmt"
13+ "strings"
1314 "testing"
1415
1516 "github.com/couchbase/sync_gateway/base"
@@ -110,14 +111,17 @@ func TestMultiActorResurrect(t *testing.T) {
110111 // if cbs resurrect, if delete AND resurrecting peer is server side peer (cbs or sgw) the all docs will converge for version expected
111112 // if cbs resurrect and delete AND resurrecting peer is NOT server side peer (lite), then need to wait for tombstone convergence first
112113 if resurrectPeer .Type () == PeerTypeCouchbaseServer {
113- if conflictNotExpectedOnCBL ([]Peer {createPeer , deletePeer , resurrectPeer }, []string {deletePeerName , createPeerName }, resurrectPeerName ) { //allActorsServerSide([]Peer{createPeer, deletePeer, resurrectPeer}) || conflictNotExpectedOnCBL(deletePeer, []string{deletePeerName, createPeerName}, resurrectPeerName) {
114- // no cbl conflict?
115- waitForCVAndBody (t , collectionName , docID , resurrectVersion , topology )
114+ if strings .Contains (topologySpec .description , "CBL" ) {
115+ if conflictNotExpectedOnCBL (deletePeer , resurrectPeer , deletePeerName , resurrectPeerName ) {
116+ // if no cbl conflict is expected we can wait on CV and body
117+ waitForCVAndBody (t , collectionName , docID , resurrectVersion , topology )
118+ } else {
119+ // if cbl conflict is expected we need to wait for tombstone convergence
120+ waitForConvergingTombstones (t , collectionName , docID , topology )
121+ }
116122 } else {
117- fmt .Println ("waiting for converging tombstones" )
118- waitForConvergingTombstones (t , collectionName , docID , topology )
123+ waitForCVAndBody (t , collectionName , docID , resurrectVersion , topology )
119124 }
120- //waitForCVAndBody(t, collectionName, docID, resurrectVersion, topology)
121125 } else {
122126 waitForVersionAndBody (t , collectionName , docID , resurrectVersion , topology )
123127 }
0 commit comments