From 9c564233f7a26fbc3215388bbfbdd8e7306dc10b Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Fri, 20 Jun 2025 15:25:29 -0400 Subject: [PATCH] fix: populate table id for materialized view --- .../google/cloud/bigtable/data/v2/stub/metrics/Util.java | 7 +++++++ .../bigtable/admin/v2/it/BigtableMaterializedViewIT.java | 1 + 2 files changed, 8 insertions(+) diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/Util.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/Util.java index 093d7800d35a..906c7aa55c83 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/Util.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/Util.java @@ -26,6 +26,7 @@ import com.google.bigtable.v2.AuthorizedViewName; import com.google.bigtable.v2.CheckAndMutateRowRequest; import com.google.bigtable.v2.GenerateInitialChangeStreamPartitionsRequest; +import com.google.bigtable.v2.MaterializedViewName; import com.google.bigtable.v2.MutateRowRequest; import com.google.bigtable.v2.MutateRowsRequest; import com.google.bigtable.v2.ReadChangeStreamRequest; @@ -121,9 +122,11 @@ static TagValue extractStatusFromFuture(Future future) { static String extractTableId(Object request) { String tableName = null; String authorizedViewName = null; + String materializedViewName = null; if (request instanceof ReadRowsRequest) { tableName = ((ReadRowsRequest) request).getTableName(); authorizedViewName = ((ReadRowsRequest) request).getAuthorizedViewName(); + materializedViewName = ((ReadRowsRequest) request).getMaterializedViewName(); } else if (request instanceof MutateRowsRequest) { tableName = ((MutateRowsRequest) request).getTableName(); authorizedViewName = ((MutateRowsRequest) request).getAuthorizedViewName(); @@ -133,6 +136,7 @@ static String extractTableId(Object request) { } else if (request instanceof SampleRowKeysRequest) { tableName = ((SampleRowKeysRequest) request).getTableName(); authorizedViewName = ((SampleRowKeysRequest) request).getAuthorizedViewName(); + materializedViewName = ((SampleRowKeysRequest) request).getMaterializedViewName(); } else if (request instanceof CheckAndMutateRowRequest) { tableName = ((CheckAndMutateRowRequest) request).getTableName(); authorizedViewName = ((CheckAndMutateRowRequest) request).getAuthorizedViewName(); @@ -150,6 +154,9 @@ static String extractTableId(Object request) { if (authorizedViewName != null && !authorizedViewName.isEmpty()) { return AuthorizedViewName.parse(authorizedViewName).getTable(); } + if (materializedViewName != null && !materializedViewName.isEmpty()) { + return MaterializedViewName.parse(materializedViewName).getMaterializedView(); + } return ""; } diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableMaterializedViewIT.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableMaterializedViewIT.java index 62a2f794b080..1c5bdbad9d95 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableMaterializedViewIT.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableMaterializedViewIT.java @@ -78,6 +78,7 @@ public static void createInstance() throws IOException { Instance instance = client.createInstance( CreateInstanceRequest.of(new PrefixGenerator().newPrefix()) + .setDisplayName("BigtableMaterializedViewIT") .addCluster("my-cluster", "us-east1-c", 3, StorageType.SSD)); instanceId = instance.getId(); tableAdminClient =