Skip to content

Commit 5d01f9d

Browse files
---
yaml --- r: 20327 b: refs/heads/autosynth-scheduler c: e6cf8d3 h: refs/heads/master i: 20325: 0712a0e 20323: e06d091 20319: 062ec61
1 parent 0d997b0 commit 5d01f9d

6 files changed

Lines changed: 76 additions & 68 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ refs/heads/autosynth-kms: 2828edfe3d2c53dd6e71912eae8a53c87bf40c87
137137
refs/heads/autosynth-language: c3d990dd34d81e7e935041e7147fb9dd27f8a557
138138
refs/heads/autosynth-os-login: 092fdbed6d5317948f92b708e9f50dedd89fc666
139139
refs/heads/autosynth-redis: 9e1fe503973c7b4a9ba26afb1fcddc2a57ba795a
140-
refs/heads/autosynth-scheduler: 7a6aa23ec9fbcb2331f87927fe02dfd324b1fb31
140+
refs/heads/autosynth-scheduler: e6cf8d32987d8ef72a2f8be3116f8db7e02bab6d
141141
refs/heads/autosynth-spanner: 9bff86d057df31e04c76d72865e8e073ac5794fb
142142
refs/heads/autosynth-speech: 75d6c62a9d07d3a3642980502a25d07fbde0f232
143143
refs/heads/autosynth-tasks: b0cdb991f3f75345151a3f68db1aab273dfc069b

branches/autosynth-scheduler/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettings.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,13 @@
1515
*/
1616
package com.google.cloud.bigtable.admin.v2;
1717

18+
import com.google.api.core.ApiFunction;
19+
import com.google.api.gax.core.NoCredentialsProvider;
20+
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
1821
import com.google.cloud.bigtable.admin.v2.stub.BigtableTableAdminStubSettings;
1922
import com.google.common.base.Preconditions;
2023
import com.google.common.base.Verify;
24+
import io.grpc.ManagedChannelBuilder;
2125
import java.io.IOException;
2226
import javax.annotation.Nullable;
2327

@@ -79,6 +83,29 @@ public static Builder newBuilder() {
7983
return new Builder();
8084
}
8185

86+
/** Create a new builder preconfigured to connect to the Bigtable emulator. */
87+
public static Builder newBuilderForEmulator(int port) {
88+
Builder builder = newBuilder().setProjectId("fake-project").setInstanceId("fake-instance");
89+
90+
builder
91+
.stubSettings()
92+
.setCredentialsProvider(NoCredentialsProvider.create())
93+
.setEndpoint("localhost:" + port)
94+
.setTransportChannelProvider(
95+
InstantiatingGrpcChannelProvider.newBuilder()
96+
.setPoolSize(1)
97+
.setChannelConfigurator(
98+
new ApiFunction<ManagedChannelBuilder, ManagedChannelBuilder>() {
99+
@Override
100+
public ManagedChannelBuilder apply(ManagedChannelBuilder input) {
101+
return input.usePlaintext();
102+
}
103+
})
104+
.build());
105+
106+
return builder;
107+
}
108+
82109
/** Builder for BigtableTableAdminSettings. */
83110
public static final class Builder {
84111
@Nullable private String projectId;

branches/autosynth-scheduler/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
*/
1616
package com.google.cloud.bigtable.data.v2;
1717

18+
import com.google.api.core.ApiFunction;
19+
import com.google.api.gax.core.NoCredentialsProvider;
20+
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
1821
import com.google.api.gax.rpc.BatchingCallSettings;
1922
import com.google.api.gax.rpc.ClientSettings;
2023
import com.google.api.gax.rpc.ServerStreamingCallSettings;
@@ -26,6 +29,7 @@
2629
import com.google.cloud.bigtable.data.v2.models.Row;
2730
import com.google.cloud.bigtable.data.v2.models.RowMutation;
2831
import com.google.cloud.bigtable.data.v2.stub.EnhancedBigtableStubSettings;
32+
import io.grpc.ManagedChannelBuilder;
2933
import java.io.IOException;
3034
import java.util.List;
3135
import javax.annotation.Nonnull;
@@ -67,6 +71,32 @@ public static Builder newBuilder() {
6771
return new Builder();
6872
}
6973

74+
/** Create a new builder preconfigured to connect to the Bigtable emulator. */
75+
public static Builder newBuilderForEmulator(int port) {
76+
Builder builder = newBuilder();
77+
78+
builder
79+
.getTypedStubSettings()
80+
.setProjectId("fake-project")
81+
.setInstanceId("fake-instance")
82+
.setCredentialsProvider(NoCredentialsProvider.create())
83+
.setEndpoint("localhost:" + port)
84+
.setTransportChannelProvider(
85+
InstantiatingGrpcChannelProvider.newBuilder()
86+
.setMaxInboundMessageSize(256 * 1024 * 1024)
87+
.setPoolSize(1)
88+
.setChannelConfigurator(
89+
new ApiFunction<ManagedChannelBuilder, ManagedChannelBuilder>() {
90+
@Override
91+
public ManagedChannelBuilder apply(ManagedChannelBuilder input) {
92+
return input.usePlaintext();
93+
}
94+
})
95+
.build());
96+
97+
return builder;
98+
}
99+
70100
/** Returns the target project id. */
71101
public String getProjectId() {
72102
return getTypedStubSettings().getProjectId();

branches/autosynth-scheduler/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/env/Emulator.java

Lines changed: 14 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,11 @@
1515
*/
1616
package com.google.cloud.bigtable.data.v2.it.env;
1717

18-
import com.google.api.gax.core.NoCredentialsProvider;
19-
import com.google.api.gax.grpc.GrpcTransportChannel;
20-
import com.google.api.gax.rpc.ClientSettings;
21-
import com.google.api.gax.rpc.FixedTransportChannelProvider;
22-
import com.google.bigtable.admin.v2.BigtableTableAdminGrpc;
23-
import com.google.bigtable.admin.v2.BigtableTableAdminGrpc.BigtableTableAdminBlockingStub;
18+
import com.google.cloud.bigtable.admin.v2.BigtableTableAdminClient;
19+
import com.google.cloud.bigtable.admin.v2.BigtableTableAdminSettings;
2420
import com.google.cloud.bigtable.data.v2.BigtableDataClient;
2521
import com.google.cloud.bigtable.data.v2.BigtableDataSettings;
2622
import com.google.common.io.CharStreams;
27-
import io.grpc.ManagedChannel;
28-
import io.grpc.ManagedChannelBuilder;
2923
import java.io.BufferedReader;
3024
import java.io.IOException;
3125
import java.io.InputStream;
@@ -52,8 +46,7 @@ class Emulator {
5246
private final Path executable;
5347
private Process process;
5448
private boolean isStopped = true;
55-
private ManagedChannel channel;
56-
private BigtableTableAdminBlockingStub tableAdminClient;
49+
private BigtableTableAdminClient tableAdminClient;
5750
private BigtableDataClient dataClient;
5851

5952
private static final String PROJECT_ID = "fake-project";
@@ -94,16 +87,18 @@ void start() throws Exception {
9487

9588
waitForPort(availablePort);
9689

97-
channel = createChannel(availablePort);
98-
99-
tableAdminClient = BigtableTableAdminGrpc.newBlockingStub(channel);
90+
tableAdminClient =
91+
BigtableTableAdminClient.create(
92+
BigtableTableAdminSettings.newBuilderForEmulator(availablePort)
93+
.setProjectId(PROJECT_ID)
94+
.setInstanceId(INSTANCE_ID)
95+
.build());
10096

10197
dataClient =
10298
BigtableDataClient.create(
103-
configureClient(
104-
BigtableDataSettings.newBuilder()
105-
.setProjectId(PROJECT_ID)
106-
.setInstanceId(INSTANCE_ID))
99+
BigtableDataSettings.newBuilderForEmulator(availablePort)
100+
.setProjectId(PROJECT_ID)
101+
.setInstanceId(INSTANCE_ID)
107102
.build());
108103

109104
Runtime.getRuntime()
@@ -122,8 +117,7 @@ public void run() {
122117
void stop() throws Exception {
123118
try {
124119
dataClient.close();
125-
channel.shutdownNow();
126-
channel.awaitTermination(1, TimeUnit.MINUTES);
120+
tableAdminClient.close();
127121
} finally {
128122
isStopped = true;
129123
process.destroy();
@@ -134,7 +128,7 @@ BigtableDataClient getDataClient() {
134128
return dataClient;
135129
}
136130

137-
BigtableTableAdminBlockingStub getTableAdminClient() {
131+
BigtableTableAdminClient getTableAdminClient() {
138132
return tableAdminClient;
139133
}
140134

@@ -171,22 +165,6 @@ private void waitForPort(int port) throws InterruptedException, TimeoutException
171165
throw new TimeoutException("Timed out waiting for server to start");
172166
}
173167

174-
private ManagedChannel createChannel(int port) {
175-
return ManagedChannelBuilder.forAddress("localhost", port)
176-
.usePlaintext()
177-
.maxInboundMessageSize(256 * 1024 * 1024)
178-
.build();
179-
}
180-
181-
private <T extends ClientSettings.Builder<?, ?>> T configureClient(T settings) {
182-
settings
183-
.setCredentialsProvider(new NoCredentialsProvider())
184-
.setTransportChannelProvider(
185-
FixedTransportChannelProvider.create(GrpcTransportChannel.create(channel)));
186-
187-
return settings;
188-
}
189-
190168
private static void pipeStreamToLog(final InputStream stream, final Level level) {
191169
final BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
192170

branches/autosynth-scheduler/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/env/EmulatorEnv.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,8 @@
1515
*/
1616
package com.google.cloud.bigtable.data.v2.it.env;
1717

18-
import com.google.bigtable.admin.v2.ColumnFamily;
19-
import com.google.bigtable.admin.v2.CreateTableRequest;
20-
import com.google.bigtable.admin.v2.Table;
18+
import com.google.cloud.bigtable.admin.v2.models.CreateTableRequest;
2119
import com.google.cloud.bigtable.data.v2.BigtableDataClient;
22-
import com.google.cloud.bigtable.data.v2.internal.NameUtil;
2320

2421
public class EmulatorEnv implements TestEnv {
2522
private static final String PROJECT_ID = "fake-project";
@@ -36,14 +33,7 @@ public void start() throws Exception {
3633

3734
emulator
3835
.getTableAdminClient()
39-
.createTable(
40-
CreateTableRequest.newBuilder()
41-
.setParent(NameUtil.formatInstanceName(PROJECT_ID, INSTANCE_ID))
42-
.setTableId(TABLE_ID)
43-
.setTable(
44-
Table.newBuilder()
45-
.putColumnFamilies(FAMILY_ID, ColumnFamily.getDefaultInstance()))
46-
.build());
36+
.createTable(CreateTableRequest.of(TABLE_ID).addFamily(FAMILY_ID));
4737
}
4838

4939
@Override

branches/autosynth-scheduler/google-cloud-testing/google-cloud-bigtable-emulator/README.md

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -110,27 +110,10 @@ public class ExampleTest {
110110
@Before
111111
public void setUp() throws IOException {
112112
// Initialize the clients to connect to the emulator
113-
BigtableTableAdminSettings.Builder tableAdminSettings = BigtableTableAdminSettings.newBuilder()
114-
.setProjectId("fake-project")
115-
.setInstanceId("fake-instance");
116-
tableAdminSettings.stubSettings()
117-
.setCredentialsProvider(NoCredentialsProvider.create())
118-
.setTransportChannelProvider(
119-
FixedTransportChannelProvider.create(
120-
GrpcTransportChannel.create(bigtableEmulator.getAdminChannel())
121-
)
122-
);
113+
BigtableTableAdminSettings.Builder tableAdminSettings = BigtableTableAdminSettings.newBuilderForEmulator(bigtableEmulator.getPort());
123114
tableAdminClient = BigtableTableAdminClient.create(tableAdminSettings.build());
124115

125-
BigtableDataSettings.Builder dataSettings = BigtableDataSettings.newBuilder()
126-
.setProjectId("fake-project")
127-
.setInstanceId("fake-instance")
128-
.setCredentialsProvider(NoCredentialsProvider.create())
129-
.setTransportChannelProvider(
130-
FixedTransportChannelProvider.create(
131-
GrpcTransportChannel.create(bigtableEmulator.getDataChannel())
132-
)
133-
);
116+
BigtableDataSettings.Builder dataSettings = BigtableDataSettings.newBuilderForEmulator(bigtableEmulator.getPort());
134117
dataClient = BigtableDataClient.create(dataSettings.build());
135118

136119
// Create a test table that can be used in tests

0 commit comments

Comments
 (0)