Skip to content

Commit a8c4c73

Browse files
authored
Wait for pending changes after doc updates (#7690)
1 parent 801480b commit a8c4c73

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

rest/replicatortest/replicator_revtree_test.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525

2626
func TestActiveReplicatorRevTreeReconciliation(t *testing.T) {
2727
base.RequireNumTestBuckets(t, 2)
28-
base.SetUpTestLogging(t, base.LevelDebug, base.KeyHTTP, base.KeySync, base.KeyChanges, base.KeyCRUD, base.KeyReplicate)
28+
base.SetUpTestLogging(t, base.LevelDebug, base.KeyHTTP, base.KeySync, base.KeyChanges, base.KeyCRUD, base.KeyReplicate, base.KeyHTTPResp)
2929

3030
testCases := []struct {
3131
name string
@@ -63,9 +63,11 @@ func TestActiveReplicatorRevTreeReconciliation(t *testing.T) {
6363
if tc.replicationType == db.ActiveReplicatorTypePull {
6464
version = rt2.PutDocDirectly(docID, rest.JsonToMap(t, `{"source":"rt2","channels":["alice"]}`))
6565
docHistoryList = append(docHistoryList, version.RevTreeID)
66+
rt2.WaitForPendingChanges()
6667
} else {
6768
version = rt1.PutDocDirectly(docID, rest.JsonToMap(t, `{"source":"rt1","channels":["alice"]}`))
6869
docHistoryList = append(docHistoryList, version.RevTreeID)
70+
rt1.WaitForPendingChanges()
6971
}
7072

7173
ar, err := db.NewActiveReplicator(ctx1, &db.ActiveReplicatorConfig{
@@ -108,14 +110,16 @@ func TestActiveReplicatorRevTreeReconciliation(t *testing.T) {
108110

109111
if tc.replicationType == db.ActiveReplicatorTypePull {
110112
for i := 0; i < 10; i++ {
111-
version = rt2.UpdateDocDirectly(docID, version, rest.JsonToMap(t, `{"source":"rt2","channels":["alice"], "version": "%d"}`))
113+
version = rt2.UpdateDocDirectly(docID, version, rest.JsonToMap(t, fmt.Sprintf(`{"source":"rt2","channels":["alice"], "version": "%d"}`, i)))
112114
docHistoryList = append(docHistoryList, version.RevTreeID)
113115
}
116+
rt2.WaitForPendingChanges()
114117
} else {
115118
for i := 0; i < 10; i++ {
116-
version = rt1.UpdateDocDirectly(docID, version, rest.JsonToMap(t, `{"source":"rt1","channels":["alice"], "version": "%d"}`))
119+
version = rt1.UpdateDocDirectly(docID, version, rest.JsonToMap(t, fmt.Sprintf(`{"source":"rt1","channels":["alice"], "version": "%d"}`, i)))
117120
docHistoryList = append(docHistoryList, version.RevTreeID)
118121
}
122+
rt1.WaitForPendingChanges()
119123
}
120124

121125
// start again for new revisions
@@ -201,8 +205,10 @@ func TestActiveReplicatorRevtreeLargeDiffInSize(t *testing.T) {
201205
var version rest.DocVersion
202206
if tc.replicationType == db.ActiveReplicatorTypePull {
203207
version = rt2.PutDocDirectly(docID, rest.JsonToMap(t, `{"source":"rt1","channels":["alice"]}`))
208+
rt2.WaitForPendingChanges()
204209
} else {
205210
version = rt1.PutDocDirectly(docID, rest.JsonToMap(t, `{"source":"rt2","channels":["alice"]}`))
211+
rt1.WaitForPendingChanges()
206212
}
207213

208214
ar, err := db.NewActiveReplicator(ctx1, &db.ActiveReplicatorConfig{
@@ -250,10 +256,12 @@ func TestActiveReplicatorRevtreeLargeDiffInSize(t *testing.T) {
250256
for i := 0; i < 200; i++ {
251257
version = rt2.UpdateDocDirectly(docID, version, rest.JsonToMap(t, fmt.Sprintf(`{"source":"rt2","channels":["alice"], "version": "%d"}`, i)))
252258
}
259+
rt2.WaitForPendingChanges()
253260
} else {
254261
for i := 0; i < 200; i++ {
255-
version = rt1.UpdateDocDirectly(docID, version, rest.JsonToMap(t, `{"source":"rt1","channels":["alice"], "version": "%d"}`))
262+
version = rt1.UpdateDocDirectly(docID, version, rest.JsonToMap(t, fmt.Sprintf(`{"source":"rt1","channels":["alice"], "version": "%d"}`, i)))
256263
}
264+
rt1.WaitForPendingChanges()
257265
}
258266

259267
// start replicator again for new revisions

0 commit comments

Comments
 (0)