From 1891383aaf3ba1d4d74fcc034de7a72a5cfa773b Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Tue, 18 Sep 2018 16:12:27 -0400 Subject: [PATCH 1/3] Bigtable: be consistent and don't expose absolute table names --- .../admin/v2/BigtableTableAdminClient.java | 32 +++++++++---------- .../v2/BigtableTableAdminClientTest.java | 6 ++-- .../v2/it/BigtableTableAdminClientIT.java | 5 ++- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java b/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java index eba6a51c4f01..877ec591915a 100644 --- a/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java +++ b/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java @@ -383,38 +383,37 @@ public ApiFuture getTableAsync(String tableId) { } /** - * Lists all TableNames in the instance. + * Lists all table ids in the instance. * *

Sample code: * *

{@code
-   * List tableNames = client.listTables();
-   * for(TableName name : tableNames) {
+   * List tableIds = client.listTables();
+   * for(String tableId: tableIds) {
    *   System.out.println(name.getTable());
    * }
    * }
*/ - // TODO(igorbernstein2): consider changing this method to use relative table ids. @SuppressWarnings("WeakerAccess") - public List listTables() { + public List listTables() { return awaitFuture(listTablesAsync()); } /** - * Asynchronously lists all TableNames in the instance. + * Asynchronously lists all table ids in the instance. * *

Sample code: * *

{@code
-   * ApiFuture> listFuture = client.listTables();
+   * ApiFuture> listFuture = client.listTables();
    *
    * ApiFutures.addCallback(
    *   listFuture,
-   *   new ApiFutureCallback>() {
-   *     public void onSuccess(List tableNames) {
+   *   new ApiFutureCallback>() {
+   *     public void onSuccess(List tableIds) {
    *       System.out.println("Got list of tables:");
-   *       for (TableName name : tableNames) {
-   *         System.out.println(name.getTable());
+   *       for (String tableId : tableIds) {
+   *         System.out.println(tableId);
    *       }
    *     }
    *
@@ -426,9 +425,8 @@ public List listTables() {
    * );
    * }
*/ - // TODO(igorbernstein2): consider changing this method to use relative table ids. @SuppressWarnings("WeakerAccess") - public ApiFuture> listTablesAsync() { + public ApiFuture> listTablesAsync() { ListTablesRequest request = ListTablesRequest.newBuilder().setParent(instanceName.toString()) .build(); @@ -479,12 +477,12 @@ public ApiFuture> apply( // Wrap all of the accumulated protos. return ApiFutures.transform(allProtos, - new ApiFunction, List>() { + new ApiFunction, List>() { @Override - public List apply(List protos) { - List results = Lists.newArrayListWithCapacity(protos.size()); + public List apply(List protos) { + List results = Lists.newArrayListWithCapacity(protos.size()); for (com.google.bigtable.admin.v2.Table proto : protos) { - results.add(TableName.parse(proto.getName())); + results.add(TableName.parse(proto.getName()).getTable()); } return results; } diff --git a/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTest.java b/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTest.java index 33b6a8b410d3..74bd2b7dcce9 100644 --- a/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTest.java +++ b/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTest.java @@ -241,12 +241,12 @@ public void testListTables() { ); // Execute - List actualResults = adminClient.listTables(); + List actualResults = adminClient.listTables(); // Verify - List expectedResults = Lists.newArrayList(); + List expectedResults = Lists.newArrayList(); for (com.google.bigtable.admin.v2.Table expectedProto : expectedProtos) { - expectedResults.add(TableName.parse(expectedProto.getName())); + expectedResults.add(TableName.parse(expectedProto.getName()).getTable()); } assertThat(actualResults).containsExactlyElementsIn(expectedResults); diff --git a/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java b/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java index e79120dec693..92d92e62cb52 100644 --- a/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java +++ b/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java @@ -22,7 +22,6 @@ import static org.junit.Assert.assertTrue; import com.google.bigtable.admin.v2.InstanceName; -import com.google.bigtable.admin.v2.TableName; import com.google.cloud.bigtable.admin.v2.BigtableTableAdminClient; import com.google.cloud.bigtable.admin.v2.models.ColumnFamily; import com.google.cloud.bigtable.admin.v2.models.CreateTableRequest; @@ -204,7 +203,7 @@ public void listTables() { try { tableAdmin.createTable(CreateTableRequest.of(tableId)); - List tables = tableAdmin.listTables(); + List tables = tableAdmin.listTables(); assertNotNull(tables); assertFalse("List tables did not return any tables", tables.isEmpty()); } finally { @@ -218,7 +217,7 @@ public void listTablesAsync() throws Exception { try { tableAdmin.createTable(CreateTableRequest.of(tableId)); - List tables = tableAdmin.listTablesAsync().get(); + List tables = tableAdmin.listTablesAsync().get(); assertNotNull(tables); assertFalse("List tables did not return any tables", tables.isEmpty()); } finally { From cf3f8fbed847b08d1f43da49e94c9f529b57f5ec Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Thu, 1 Nov 2018 13:32:31 -0400 Subject: [PATCH 2/3] fix merge --- .../cloud/bigtable/admin/v2/BigtableTableAdminClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java b/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java index a9bef056c33a..76d003d3857d 100644 --- a/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java +++ b/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java @@ -460,7 +460,7 @@ private ApiFuture
getTableAsync(String tableId, com.google.bigtable.admin */ @SuppressWarnings("WeakerAccess") public List listTables() { - return awaitFuture(listTablesAsync()); + return ApiExceptions.callAndTranslateApiException(listTablesAsync()); } /** From 241f3829b4d234ea9dfccfe4954ed5a0f0813c65 Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Fri, 2 Nov 2018 14:12:56 -0400 Subject: [PATCH 3/3] fix merge --- .../bigtable/admin/v2/it/BigtableTableAdminClientIT.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java b/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java index b8e089838b65..96d4f99083ee 100644 --- a/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java +++ b/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java @@ -67,9 +67,9 @@ public static void createClient() throws IOException { // Cleanup old tables, under normal circumstances this will do nothing String stalePrefix = String.format("020%d", System.currentTimeMillis() - TimeUnit.DAYS.toMillis(1)); - for (TableName tableName : tableAdmin.listTables()) { - if (stalePrefix.compareTo(tableName.getTable()) > 0) { - tableAdmin.deleteTable(tableName.getTable()); + for (String tableId: tableAdmin.listTables()) { + if (stalePrefix.compareTo(tableId) > 0) { + tableAdmin.deleteTable(tableId); } } }