Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5912923

Browse files
committed
chore: more utility clean up from bigtable-hbase module
This PR removes references of `BigtableInstanceName` and `ThreadUtil`, which resides in bigtable-core module. ThreadUtil is copied over to `bigtable-hbase`.
1 parent a2dbe80 commit 5912923

File tree

7 files changed

+62
-17
lines changed

7 files changed

+62
-17
lines changed

bigtable-client-core-parent/bigtable-client-core/src/main/java/com/google/cloud/bigtable/util/ThreadUtil.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.concurrent.ThreadFactory;
2323

2424
/**
25-
* Creates a {@link ThreadFactory} that's safe to use in App Engine.
25+
* Utility class to create a {@link ThreadFactory} that's safe to use in App Engine.
2626
*
2727
* <p>This class copies code that originates in {@link
2828
* io.grpc.internal.GrpcUtil#getThreadFactory(String, boolean)}.
@@ -33,11 +33,10 @@
3333
public class ThreadUtil {
3434

3535
/**
36-
* Get a {@link ThreadFactory} suitable for use in the current environment.
36+
* Creates a {@link ThreadFactory} suitable for use in the current environment.
3737
*
3838
* @param nameFormat to apply to threads created by the factory.
39-
* @param daemon {@code true} if the threads the factory creates are daemon threads, {@code false}
40-
* otherwise.
39+
* @param daemon if {@code true} then this factory creates daemon threads.
4140
* @return a {@link ThreadFactory}.
4241
*/
4342
public static ThreadFactory getThreadFactory(String nameFormat, boolean daemon) {
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/*
2+
* Copyright 2020 Google LLC
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package com.google.cloud.bigtable.hbase.util;
17+
18+
import com.google.api.core.InternalApi;
19+
import com.google.cloud.PlatformInformation;
20+
import com.google.common.util.concurrent.MoreExecutors;
21+
import com.google.common.util.concurrent.ThreadFactoryBuilder;
22+
import java.util.concurrent.ThreadFactory;
23+
24+
/**
25+
* Creates a {@link ThreadFactory} that's safe to use in App Engine.
26+
*
27+
* <p>This class copies code that originates in {@link
28+
* io.grpc.internal.GrpcUtil#getThreadFactory(String, boolean)}.
29+
*
30+
* <p>For internal use only - public for technical reasons.
31+
*/
32+
@InternalApi("For internal usage only")
33+
public class ThreadUtil {
34+
35+
/**
36+
* Get a {@link ThreadFactory} suitable for use in the current environment.
37+
*
38+
* @param nameFormat to apply to threads created by the factory.
39+
* @param daemon {@code true} if the threads the factory creates are daemon threads, {@code false}
40+
* otherwise.
41+
* @return a {@link ThreadFactory}.
42+
*/
43+
public static ThreadFactory getThreadFactory(String nameFormat, boolean daemon) {
44+
if (PlatformInformation.isOnGAEStandard7() || PlatformInformation.isOnGAEStandard8()) {
45+
return MoreExecutors.platformThreadFactory();
46+
} else {
47+
return new ThreadFactoryBuilder().setDaemon(daemon).setNameFormat(nameFormat).build();
48+
}
49+
}
50+
}

bigtable-client-core-parent/bigtable-hbase/src/main/java/org/apache/hadoop/hbase/client/AbstractBigtableAdmin.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import com.google.cloud.bigtable.admin.v2.models.CreateTableRequest;
2727
import com.google.cloud.bigtable.admin.v2.models.ModifyColumnFamiliesRequest;
2828
import com.google.cloud.bigtable.admin.v2.models.Table;
29-
import com.google.cloud.bigtable.grpc.BigtableInstanceName;
3029
import com.google.cloud.bigtable.hbase.BigtableOptionsFactory;
3130
import com.google.cloud.bigtable.hbase.adapters.admin.TableAdapter;
3231
import com.google.cloud.bigtable.hbase.util.Logger;
@@ -93,7 +92,6 @@ public abstract class AbstractBigtableAdmin implements Admin {
9392
private final BigtableHBaseSettings settings;
9493
protected final CommonConnection connection;
9594
protected final AdminClientWrapper tableAdminClientWrapper;
96-
protected final BigtableInstanceName bigtableInstanceName;
9795

9896
/**
9997
* Constructor for AbstractBigtableAdmin.
@@ -107,8 +105,6 @@ public AbstractBigtableAdmin(CommonConnection connection) throws IOException {
107105
settings = connection.getBigtableSettings();
108106
this.connection = connection;
109107
disabledTables = connection.getDisabledTables();
110-
bigtableInstanceName =
111-
new BigtableInstanceName(settings.getProjectId(), settings.getInstanceId());
112108
tableAdminClientWrapper = connection.getBigtableApi().getAdminClient();
113109
}
114110

bigtable-hbase-1.x-parent/bigtable-hbase-1.x/src/test/java/com/google/cloud/bigtable/hbase/ManyThreadDriver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
import com.codahale.metrics.MetricFilter;
1919
import com.codahale.metrics.graphite.GraphiteReporter;
2020
import com.codahale.metrics.graphite.PickledGraphite;
21+
import com.google.cloud.bigtable.hbase.util.ThreadUtil;
2122
import com.google.cloud.bigtable.metrics.BigtableClientMetrics;
2223
import com.google.cloud.bigtable.metrics.BigtableClientMetrics.MetricLevel;
2324
import com.google.cloud.bigtable.metrics.DropwizardMetricRegistry;
2425
import com.google.cloud.bigtable.metrics.MetricRegistry;
25-
import com.google.cloud.bigtable.util.ThreadUtil;
2626
import java.io.IOException;
2727
import java.net.InetSocketAddress;
2828
import java.util.concurrent.ExecutorService;

bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncAdmin.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
import static com.google.cloud.bigtable.hbase2_x.FutureUtils.toCompletableFuture;
2020

2121
import com.google.api.core.InternalApi;
22+
import com.google.cloud.bigtable.admin.v2.internal.NameUtil;
2223
import com.google.cloud.bigtable.admin.v2.models.CreateTableRequest;
2324
import com.google.cloud.bigtable.admin.v2.models.Table;
24-
import com.google.cloud.bigtable.grpc.BigtableInstanceName;
2525
import com.google.cloud.bigtable.hbase.util.Logger;
2626
import com.google.cloud.bigtable.hbase.util.ModifyTableBuilder;
2727
import com.google.cloud.bigtable.hbase.wrappers.AdminClientWrapper;
@@ -89,16 +89,14 @@ public class BigtableAsyncAdmin implements AsyncAdmin {
8989

9090
private final Set<TableName> disabledTables;
9191
private final AdminClientWrapper bigtableTableAdminClient;
92-
private final BigtableInstanceName bigtableInstanceName;
92+
private final BigtableHBaseSettings settings;
9393
private final CommonConnection asyncConnection;
9494

9595
public BigtableAsyncAdmin(CommonConnection asyncConnection) throws IOException {
9696
LOG.debug("Creating BigtableAsyncAdmin");
97-
BigtableHBaseSettings settings = asyncConnection.getBigtableSettings();
97+
this.settings = asyncConnection.getBigtableSettings();
9898
this.bigtableTableAdminClient = asyncConnection.getBigtableApi().getAdminClient();
9999
this.disabledTables = asyncConnection.getDisabledTables();
100-
this.bigtableInstanceName =
101-
new BigtableInstanceName(settings.getProjectId(), settings.getInstanceId());
102100
this.asyncConnection = asyncConnection;
103101
}
104102

@@ -229,7 +227,9 @@ private CompletableFuture<List<TableDescriptor>> listTables(Optional<Pattern> ta
229227
.map(
230228
m ->
231229
com.google.bigtable.admin.v2.Table.newBuilder()
232-
.setName(bigtableInstanceName.toTableNameStr(m))
230+
.setName(
231+
NameUtil.formatTableName(
232+
settings.getProjectId(), settings.getInstanceId(), m))
233233
.build())
234234
.map(Table::fromProto)
235235
.map(TableAdapter2x::adapt)

bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/test/java/com/google/cloud/bigtable/hbase/ManyThreadDriver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
import com.codahale.metrics.MetricFilter;
1919
import com.codahale.metrics.graphite.GraphiteReporter;
2020
import com.codahale.metrics.graphite.PickledGraphite;
21+
import com.google.cloud.bigtable.hbase.util.ThreadUtil;
2122
import com.google.cloud.bigtable.metrics.BigtableClientMetrics;
2223
import com.google.cloud.bigtable.metrics.BigtableClientMetrics.MetricLevel;
2324
import com.google.cloud.bigtable.metrics.DropwizardMetricRegistry;
2425
import com.google.cloud.bigtable.metrics.MetricRegistry;
25-
import com.google.cloud.bigtable.util.ThreadUtil;
2626
import java.io.IOException;
2727
import java.net.InetSocketAddress;
2828
import java.util.concurrent.ExecutorService;

bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/test/java/com/google/cloud/bigtable/hbase/RecreateConnectionDriver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package com.google.cloud.bigtable.hbase;
1717

18-
import com.google.cloud.bigtable.util.ThreadUtil;
18+
import com.google.cloud.bigtable.hbase.util.ThreadUtil;
1919
import java.io.IOException;
2020
import java.util.concurrent.ExecutorService;
2121
import java.util.concurrent.Executors;

0 commit comments

Comments
 (0)