Skip to content

Commit 9d0a32d

Browse files
committed
test(bigquerystorage): create sessions using await() to address flakiness
1 parent 50a72e1 commit 9d0a32d

4 files changed

Lines changed: 31 additions & 2 deletions

File tree

google-cloud-jar-parent/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@
7171
</dependency>
7272

7373
<!-- Test dependencies -->
74+
<dependency>
75+
<groupId>org.awaitility</groupId>
76+
<artifactId>awaitility</artifactId>
77+
<version>4.3.0</version>
78+
<scope>test</scope>
79+
</dependency>
7480
<dependency>
7581
<groupId>junit</groupId>
7682
<artifactId>junit</artifactId>

java-bigquerystorage/google-cloud-bigquerystorage/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,11 @@
197197
<artifactId>opentelemetry-sdk-trace</artifactId>
198198
<scope>test</scope>
199199
</dependency>
200+
<dependency>
201+
<groupId>org.awaitility</groupId>
202+
<artifactId>awaitility</artifactId>
203+
<scope>test</scope>
204+
</dependency>
200205
<dependency>
201206
<groupId>junit</groupId>
202207
<artifactId>junit</artifactId>

java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1beta1/it/ITBigQueryStorageTest.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import static com.google.common.truth.Truth.assertThat;
2020
import static com.google.common.truth.Truth.assertWithMessage;
21+
import static org.awaitility.Awaitility.await;
2122
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
2223
import static org.junit.jupiter.api.Assertions.assertEquals;
2324
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -26,6 +27,7 @@
2627
import static org.junit.jupiter.api.Assertions.fail;
2728

2829
import com.google.api.gax.core.FixedCredentialsProvider;
30+
import com.google.api.gax.rpc.NotFoundException;
2931
import com.google.api.gax.rpc.ServerStream;
3032
import com.google.api.gax.rpc.UnauthenticatedException;
3133
import com.google.auth.oauth2.ServiceAccountCredentials;
@@ -79,6 +81,7 @@
7981
import java.util.Collections;
8082
import java.util.Iterator;
8183
import java.util.List;
84+
import java.util.Objects;
8285
import java.util.UUID;
8386
import java.util.concurrent.TimeUnit;
8487
import java.util.logging.Logger;
@@ -1230,7 +1233,13 @@ private void ProcessRowsAtSnapshot(
12301233
TableReadOptions.newBuilder().setRowRestriction(filter).build());
12311234
}
12321235

1233-
ReadSession session = client.createReadSession(createSessionRequestBuilder.build());
1236+
final CreateReadSessionRequest request = createSessionRequestBuilder.build();
1237+
ReadSession session =
1238+
await()
1239+
.atMost(Duration.ofSeconds(30))
1240+
.pollInterval(Duration.ofSeconds(1))
1241+
.ignoreException(NotFoundException.class)
1242+
.until(() -> client.createReadSession(request), Objects::nonNull);
12341243
assertEquals(
12351244
1,
12361245
session.getStreamsCount(),

java-bigquerystorage/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1beta2/it/ITBigQueryStorageTest.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import static com.google.common.truth.Truth.assertThat;
2020
import static com.google.common.truth.Truth.assertWithMessage;
21+
import static org.awaitility.Awaitility.await;
2122
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
2223
import static org.junit.jupiter.api.Assertions.assertEquals;
2324
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -26,6 +27,7 @@
2627
import static org.junit.jupiter.api.Assertions.fail;
2728

2829
import com.google.api.gax.core.FixedCredentialsProvider;
30+
import com.google.api.gax.rpc.NotFoundException;
2931
import com.google.api.gax.rpc.ServerStream;
3032
import com.google.api.gax.rpc.UnauthenticatedException;
3133
import com.google.auth.oauth2.ServiceAccountCredentials;
@@ -76,6 +78,7 @@
7678
import java.util.Collections;
7779
import java.util.Iterator;
7880
import java.util.List;
81+
import java.util.Objects;
7982
import java.util.UUID;
8083
import java.util.logging.Logger;
8184
import org.apache.avro.Conversions;
@@ -1211,7 +1214,13 @@ private void ProcessRowsAtSnapshot(
12111214
.setReadOptions(TableReadOptions.newBuilder().setRowRestriction(filter).build());
12121215
}
12131216

1214-
ReadSession session = client.createReadSession(createSessionRequestBuilder.build());
1217+
final CreateReadSessionRequest request = createSessionRequestBuilder.build();
1218+
ReadSession session =
1219+
await()
1220+
.atMost(Duration.ofSeconds(30))
1221+
.pollInterval(Duration.ofSeconds(1))
1222+
.ignoreException(NotFoundException.class)
1223+
.until(() -> client.createReadSession(request), Objects::nonNull);
12151224
assertEquals(
12161225
1,
12171226
session.getStreamsCount(),

0 commit comments

Comments
 (0)