Skip to content

Commit df2b901

Browse files
committed
listTables only gets the first 100
1 parent e269859 commit df2b901

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

graphql-database-manager-test/src/main/java/com/phocassoftware/graphql/database/manager/test/DynamoDbInitializer.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,22 +29,19 @@
2929
import software.amazon.awssdk.regions.Region;
3030
import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient;
3131
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
32-
import software.amazon.awssdk.services.dynamodb.model.AttributeDefinition;
33-
import software.amazon.awssdk.services.dynamodb.model.GlobalSecondaryIndex;
34-
import software.amazon.awssdk.services.dynamodb.model.KeySchemaElement;
35-
import software.amazon.awssdk.services.dynamodb.model.KeyType;
36-
import software.amazon.awssdk.services.dynamodb.model.ProjectionType;
37-
import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType;
38-
import software.amazon.awssdk.services.dynamodb.model.StreamViewType;
32+
import software.amazon.awssdk.services.dynamodb.model.*;
3933
import software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsAsyncClient;
4034

4135
final class DynamoDbInitializer {
4236

4337
@SuppressWarnings("unchecked")
4438
static void createTable(final DynamoDbClient client, final String name) throws ExecutionException, InterruptedException {
45-
if (client.listTables().tableNames().contains(name)) {
39+
try {
40+
client.describeTable(builder -> builder.tableName(name));
4641
return;
42+
} catch (ResourceNotFoundException ignored) {
4743
}
44+
4845
// looks like bug within local dynamodb client around creating multiple tables at the same time
4946
synchronized (DynamoDbInitializer.class) {
5047
client
@@ -98,8 +95,10 @@ static void createTable(final DynamoDbClient client, final String name) throws E
9895
}
9996

10097
static void createHistoryTable(final DynamoDbClient client, final String name) throws ExecutionException, InterruptedException {
101-
if (client.listTables().tableNames().contains(name)) {
98+
try {
99+
client.describeTable(builder -> builder.tableName(name));
102100
return;
101+
} catch (ResourceNotFoundException ignored) {
103102
}
104103

105104
// looks like bug within local dynamodb client around creating multiple tables at the same time

0 commit comments

Comments
 (0)