Skip to content

Commit 3f729e7

Browse files
committed
new change
1 parent df8e099 commit 3f729e7

5 files changed

Lines changed: 22 additions & 6 deletions

File tree

clustertest/add_remove_host_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ func TestForcedHostRemovalWithDatabase(t *testing.T) {
154154
cluster.Host("host-3").Stop(t)
155155

156156
// Allow cluster some time to detect the container termination
157-
time.Sleep(5 * time.Second)
157+
time.Sleep(15 * time.Second)
158158

159159
tLog(t, "removing host-3 from cluster")
160160
resp, err := cluster.Client().RemoveHost(ctx, &api.RemoveHostPayload{
@@ -175,7 +175,7 @@ func TestForcedHostRemovalWithDatabase(t *testing.T) {
175175
require.NoError(t, err, "database not healthy with 2 nodes")
176176

177177
tLog(t, "verifying cluster has 2 hosts")
178-
err = waitForHostCount(ctx, cluster.Client(), 2, 30*time.Second)
178+
err = waitForHostCount(ctx, cluster.Client(), 2, 60*time.Second)
179179
require.NoError(t, err, "cluster should have 2 hosts")
180180

181181
// Ensure host-3 is not in the list

e2e/database_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ func (f *DatabaseFixture) WaitForReplication(ctx context.Context, t testing.TB,
405405
f.WithConnection(ctx, primaryOpts, t, func(conn *pgx.Conn) {
406406
var synced bool
407407

408-
row := conn.QueryRow(ctx, "CALL spock.wait_for_sync_event(true, $1, $2::pg_lsn, 30);", peerNode, lsn)
408+
row := conn.QueryRow(ctx, "CALL spock.wait_for_sync_event(true, $1, $2::pg_lsn, 60);", peerNode, lsn)
409409
require.NoError(t, row.Scan(&synced))
410410
assert.True(t, synced)
411411
})

e2e/db_create_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,12 @@ func testCreateDB(t *testing.T, nodeCount int, deployReplicas bool) {
145145
row := conn.QueryRow(ctx, "SELECT pg_current_wal_lsn() AS commit_lsn")
146146
require.NoError(t, row.Scan(&commitLSN))
147147

148-
// Wait for up to 10 seconds and verify commit_lsn has replayed
148+
// Wait for up to 20 seconds and verify commit_lsn has replayed
149149
// This should prevent flaky tests
150150
var replayLSN string
151151
var hasReplayed bool
152152

153-
for i := 0; i < 10; i++ {
153+
for i := 0; i < 20; i++ {
154154
rows, err := conn.Query(ctx, "SELECT replay_lsn, (replay_lsn >= $1::pg_lsn) AS has_replayed FROM pg_stat_replication", commitLSN)
155155
require.NoError(t, err)
156156
defer rows.Close()

e2e/db_update_add_node_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ func verifyWALReplay(ctx context.Context, t *testing.T, conn *pgx.Conn) {
175175
var commitLSN string
176176
require.NoError(t, conn.QueryRow(ctx, "SELECT pg_current_wal_lsn()").Scan(&commitLSN))
177177

178-
for i := 0; i < 10; i++ {
178+
for i := 0; i < 20; i++ {
179179
rows, err := conn.Query(ctx, "SELECT (replay_lsn >= $1::pg_lsn) AS has_replayed FROM pg_stat_replication", commitLSN)
180180
require.NoError(t, err)
181181
defer rows.Close()

e2e/service_provisioning_test.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,22 @@ func TestProvisionMCPServiceRecovery(t *testing.T) {
645645
require.NoError(t, err, "GetDatabase should succeed after update")
646646
assert.Equal(t, "available", db.State, "Database should be available after recovery update")
647647

648+
// Service instance creation can lag briefly behind the database
649+
// reaching "available", so poll instead of asserting immediately.
650+
if len(db.ServiceInstances) == 0 {
651+
t.Log("Service instance not yet present, waiting for it to appear...")
652+
653+
instanceDeadline := time.Now().Add(1 * time.Minute)
654+
for time.Now().Before(instanceDeadline) && len(db.ServiceInstances) == 0 {
655+
time.Sleep(2 * time.Second)
656+
657+
db, err = fixture.Client.GetDatabase(ctx, &controlplane.GetDatabasePayload{
658+
DatabaseID: dbID,
659+
})
660+
require.NoError(t, err, "Failed to refresh database")
661+
}
662+
}
663+
648664
// Service instance should now exist
649665
require.NotNil(t, db.ServiceInstances, "ServiceInstances should not be nil after recovery")
650666
require.Len(t, db.ServiceInstances, 1, "Expected 1 service instance after recovery")

0 commit comments

Comments
 (0)