Skip to content

Commit

Permalink
test(bigtable): fix flaky CreateInstance integration test (#6602)
Browse files Browse the repository at this point in the history
Addresses #6543 , #6571 by extending timeout on Context and putting in retry logic.

Fixes #6543
Fixes #6571
  • Loading branch information
Eric Schmidt committed Sep 6, 2022
1 parent b7868af commit 2fa0bd4
Showing 1 changed file with 15 additions and 8 deletions.
23 changes: 15 additions & 8 deletions bigtable/integration_test.go
Expand Up @@ -1462,7 +1462,7 @@ func TestIntegration_AdminCreateInstance(t *testing.T) {
t.Skip("emulator doesn't support instance creation")
}

timeout := 5 * time.Minute
timeout := 7 * time.Minute
ctx, _ := context.WithTimeout(context.Background(), timeout)

iAdminClient, err := testEnv.NewInstanceAdminClient()
Expand All @@ -1482,9 +1482,13 @@ func TestIntegration_AdminCreateInstance(t *testing.T) {
InstanceType: DEVELOPMENT,
Labels: map[string]string{"test-label-key": "test-label-value"},
}
if err := iAdminClient.CreateInstance(ctx, conf); err != nil {
t.Fatalf("CreateInstance: %v", err)
}

// CreateInstance can be flaky; retry 3 times before marking as failing.
testutil.Retry(t, 3, 5*time.Second, func(r *testutil.R) {
if err := iAdminClient.CreateInstance(ctx, conf); err != nil {
t.Fatalf("CreateInstance: %v", err)
}
})

defer iAdminClient.DeleteInstance(ctx, instanceToCreate)

Expand Down Expand Up @@ -1743,7 +1747,7 @@ func TestIntegration_AdminUpdateInstanceLabels(t *testing.T) {
}

// Create an instance admin client
timeout := 5 * time.Minute
timeout := 7 * time.Minute
ctx, _ := context.WithTimeout(context.Background(), timeout)
iAdminClient, err := testEnv.NewInstanceAdminClient()
if err != nil {
Expand All @@ -1759,9 +1763,12 @@ func TestIntegration_AdminUpdateInstanceLabels(t *testing.T) {
InstanceType: DEVELOPMENT,
Zone: instanceToCreateZone,
}
if err := iAdminClient.CreateInstance(ctx, conf); err != nil {
t.Fatalf("CreateInstance: %v", err)
}

testutil.Retry(t, 3, 5*time.Second, func(R *testutil.R) {
if err := iAdminClient.CreateInstance(ctx, conf); err != nil {
t.Fatalf("CreateInstance: %v", err)
}
})
defer iAdminClient.DeleteInstance(ctx, instanceToCreate)

// Check the created test instances
Expand Down

0 comments on commit 2fa0bd4

Please sign in to comment.