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

Skip to content

Commit cc6796a

Browse files
authored
use RpcFuture and remove old BundlingSettings (#1572)
* use RpcFuture and remove old BundlingSettings
1 parent da93da7 commit cc6796a

File tree

8 files changed

+64
-82
lines changed

8 files changed

+64
-82
lines changed

google-cloud-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@
111111
<dependency>
112112
<groupId>com.google.api</groupId>
113113
<artifactId>gax</artifactId>
114-
<version>0.0.25</version>
114+
<version>0.0.28</version>
115115
<exclusions>
116116
<exclusion>
117117
<groupId>io.grpc</groupId>

google-cloud-logging/src/main/java/com/google/cloud/logging/LoggingImpl.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import com.google.common.collect.Lists;
4141
import com.google.common.collect.Maps;
4242
import com.google.common.util.concurrent.Futures;
43-
import com.google.common.util.concurrent.ListenableFuture;
4443
import com.google.common.util.concurrent.Uninterruptibles;
4544
import com.google.logging.v2.CreateLogMetricRequest;
4645
import com.google.logging.v2.CreateSinkRequest;
@@ -107,9 +106,6 @@ private static <V> V get(Future<V> future) {
107106

108107
private static <I, O> Future<O> transform(Future<I> future,
109108
Function<? super I, ? extends O> function) {
110-
if (future instanceof ListenableFuture) {
111-
return Futures.transform((ListenableFuture<I>) future, function);
112-
}
113109
return Futures.lazyTransform(future, function);
114110
}
115111

google-cloud-logging/src/main/java/com/google/cloud/logging/spi/DefaultLoggingRpc.java

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package com.google.cloud.logging.spi;
1818

19+
import com.google.api.gax.core.Function;
20+
import com.google.api.gax.core.RpcFuture;
1921
import com.google.api.gax.grpc.ApiException;
2022
import com.google.api.gax.grpc.ChannelProvider;
2123
import com.google.api.gax.grpc.ExecutorProvider;
@@ -33,10 +35,6 @@
3335
import com.google.cloud.logging.spi.v2.LoggingServiceV2Settings;
3436
import com.google.cloud.logging.spi.v2.MetricsServiceV2Client;
3537
import com.google.cloud.logging.spi.v2.MetricsServiceV2Settings;
36-
import com.google.common.base.Function;
37-
import com.google.common.collect.Sets;
38-
import com.google.common.util.concurrent.Futures;
39-
import com.google.common.util.concurrent.ListenableFuture;
4038
import com.google.logging.v2.CreateLogMetricRequest;
4139
import com.google.logging.v2.CreateSinkRequest;
4240
import com.google.logging.v2.DeleteLogMetricRequest;
@@ -59,13 +57,13 @@
5957
import com.google.logging.v2.WriteLogEntriesRequest;
6058
import com.google.logging.v2.WriteLogEntriesResponse;
6159
import com.google.protobuf.Empty;
62-
6360
import io.grpc.ManagedChannel;
6461
import io.grpc.Status.Code;
6562
import io.grpc.netty.NegotiationType;
6663
import io.grpc.netty.NettyChannelBuilder;
67-
6864
import java.io.IOException;
65+
import java.util.Collections;
66+
import java.util.EnumSet;
6967
import java.util.Set;
7068
import java.util.concurrent.Future;
7169
import java.util.concurrent.ScheduledExecutorService;
@@ -148,21 +146,25 @@ public DefaultLoggingRpc(LoggingOptions options) throws IOException {
148146
}
149147
}
150148

151-
private static <V> Future<V> translate(ListenableFuture<V> from, final boolean idempotent,
152-
int... returnNullOn) {
153-
final Set<Integer> returnNullOnSet = Sets.newHashSetWithExpectedSize(returnNullOn.length);
154-
for (int value : returnNullOn) {
155-
returnNullOnSet.add(value);
149+
private static <V> Future<V> translate(
150+
RpcFuture<V> from, final boolean idempotent, Code... returnNullOn) {
151+
final Set<Code> returnNullOnSet;
152+
if (returnNullOn.length > 0) {
153+
returnNullOnSet = EnumSet.of(returnNullOn[0], returnNullOn);
154+
} else {
155+
returnNullOnSet = Collections.<Code>emptySet();
156156
}
157-
return Futures.catching(from, ApiException.class, new Function<ApiException, V>() {
158-
@Override
159-
public V apply(ApiException exception) {
160-
if (returnNullOnSet.contains(exception.getStatusCode().value())) {
161-
return null;
162-
}
163-
throw new LoggingException(exception, idempotent);
164-
}
165-
});
157+
return from.catching(
158+
ApiException.class,
159+
new Function<ApiException, V>() {
160+
@Override
161+
public V apply(ApiException exception) {
162+
if (returnNullOnSet.contains(exception.getStatusCode().value())) {
163+
return null;
164+
}
165+
throw new LoggingException(exception, idempotent);
166+
}
167+
});
166168
}
167169

168170
@Override
@@ -177,7 +179,7 @@ public Future<LogSink> update(UpdateSinkRequest request) {
177179

178180
@Override
179181
public Future<LogSink> get(GetSinkRequest request) {
180-
return translate(configClient.getSinkCallable().futureCall(request), true, Code.NOT_FOUND.value());
182+
return translate(configClient.getSinkCallable().futureCall(request), true, Code.NOT_FOUND);
181183
}
182184

183185
@Override
@@ -187,14 +189,12 @@ public Future<ListSinksResponse> list(ListSinksRequest request) {
187189

188190
@Override
189191
public Future<Empty> delete(DeleteSinkRequest request) {
190-
return translate(configClient.deleteSinkCallable().futureCall(request), true,
191-
Code.NOT_FOUND.value());
192+
return translate(configClient.deleteSinkCallable().futureCall(request), true, Code.NOT_FOUND);
192193
}
193194

194195
@Override
195196
public Future<Empty> delete(DeleteLogRequest request) {
196-
return translate(loggingClient.deleteLogCallable().futureCall(request), true,
197-
Code.NOT_FOUND.value());
197+
return translate(loggingClient.deleteLogCallable().futureCall(request), true, Code.NOT_FOUND);
198198
}
199199

200200
@Override
@@ -226,8 +226,8 @@ public Future<LogMetric> update(UpdateLogMetricRequest request) {
226226

227227
@Override
228228
public Future<LogMetric> get(GetLogMetricRequest request) {
229-
return translate(metricsClient.getLogMetricCallable().futureCall(request), true,
230-
Code.NOT_FOUND.value());
229+
return translate(
230+
metricsClient.getLogMetricCallable().futureCall(request), true, Code.NOT_FOUND);
231231
}
232232

233233
@Override
@@ -237,8 +237,8 @@ public Future<ListLogMetricsResponse> list(ListLogMetricsRequest request) {
237237

238238
@Override
239239
public Future<Empty> delete(DeleteLogMetricRequest request) {
240-
return translate(metricsClient.deleteLogMetricCallable().futureCall(request), true,
241-
Code.NOT_FOUND.value());
240+
return translate(
241+
metricsClient.deleteLogMetricCallable().futureCall(request), true, Code.NOT_FOUND);
242242
}
243243

244244
@Override

google-cloud-logging/src/main/java/com/google/cloud/logging/spi/v2/LoggingServiceV2Settings.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -546,11 +546,8 @@ private static Builder createDefault() {
546546
.writeLogEntriesSettings()
547547
.getBundlingSettingsBuilder()
548548
.setElementCountThreshold(1)
549-
.setElementCountLimit(1000)
550549
.setRequestByteThreshold(1024)
551-
.setRequestByteLimit(10485760)
552-
.setDelayThreshold(Duration.millis(10))
553-
.setBlockingCallCountThreshold(1);
550+
.setDelayThreshold(Duration.millis(10));
554551
builder
555552
.writeLogEntriesSettings()
556553
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent"))

google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/PubSubImpl.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import com.google.common.collect.Lists;
4242
import com.google.common.collect.Maps;
4343
import com.google.common.util.concurrent.Futures;
44-
import com.google.common.util.concurrent.ListenableFuture;
4544
import com.google.common.util.concurrent.Uninterruptibles;
4645
import com.google.iam.v1.SetIamPolicyRequest;
4746
import com.google.iam.v1.TestIamPermissionsRequest;
@@ -222,9 +221,6 @@ private static <V> V get(Future<V> future) {
222221

223222
private static <I, O> Future<O> transform(Future<I> future,
224223
Function<? super I, ? extends O> function) {
225-
if (future instanceof ListenableFuture) {
226-
return Futures.transform((ListenableFuture<I>) future, function);
227-
}
228224
return Futures.lazyTransform(future, function);
229225
}
230226

google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/DefaultPubSubRpc.java

Lines changed: 32 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616

1717
package com.google.cloud.pubsub.spi;
1818

19+
import com.google.api.gax.core.ForwardingRpcFuture;
20+
import com.google.api.gax.core.Function;
21+
import com.google.api.gax.core.RpcFuture;
22+
import com.google.api.gax.core.RpcFutureCallback;
1923
import com.google.api.gax.grpc.ApiException;
2024
import com.google.api.gax.grpc.ChannelProvider;
2125
import com.google.api.gax.grpc.ExecutorProvider;
@@ -31,12 +35,7 @@
3135
import com.google.cloud.pubsub.spi.v1.PublisherSettings;
3236
import com.google.cloud.pubsub.spi.v1.SubscriberClient;
3337
import com.google.cloud.pubsub.spi.v1.SubscriberSettings;
34-
import com.google.common.base.Function;
3538
import com.google.common.collect.Sets;
36-
import com.google.common.util.concurrent.ForwardingListenableFuture;
37-
import com.google.common.util.concurrent.FutureCallback;
38-
import com.google.common.util.concurrent.Futures;
39-
import com.google.common.util.concurrent.ListenableFuture;
4039
import com.google.iam.v1.GetIamPolicyRequest;
4140
import com.google.iam.v1.Policy;
4241
import com.google.iam.v1.SetIamPolicyRequest;
@@ -62,18 +61,15 @@
6261
import com.google.pubsub.v1.PullResponse;
6362
import com.google.pubsub.v1.Subscription;
6463
import com.google.pubsub.v1.Topic;
65-
6664
import io.grpc.ManagedChannel;
6765
import io.grpc.Status.Code;
6866
import io.grpc.netty.NegotiationType;
6967
import io.grpc.netty.NettyChannelBuilder;
70-
71-
import org.joda.time.Duration;
72-
7368
import java.io.IOException;
7469
import java.util.Set;
7570
import java.util.concurrent.Future;
7671
import java.util.concurrent.ScheduledExecutorService;
72+
import org.joda.time.Duration;
7773

7874
public class DefaultPubSubRpc implements PubSubRpc {
7975

@@ -110,27 +106,26 @@ protected ChannelProvider getChannelProvider() {
110106
}
111107
}
112108

113-
private static final class PullFutureImpl
114-
extends ForwardingListenableFuture.SimpleForwardingListenableFuture<PullResponse>
109+
private static final class PullFutureImpl extends ForwardingRpcFuture<PullResponse>
115110
implements PullFuture {
116-
117-
PullFutureImpl(ListenableFuture<PullResponse> delegate) {
111+
PullFutureImpl(RpcFuture<PullResponse> delegate) {
118112
super(delegate);
119113
}
120114

121115
@Override
122116
public void addCallback(final PullCallback callback) {
123-
Futures.addCallback(delegate(), new FutureCallback<PullResponse>() {
124-
@Override
125-
public void onSuccess(PullResponse result) {
126-
callback.success(result);
127-
}
128-
129-
@Override
130-
public void onFailure(Throwable error) {
131-
callback.failure(error);
132-
}
133-
});
117+
addCallback(
118+
new RpcFutureCallback<PullResponse>() {
119+
@Override
120+
public void onSuccess(PullResponse response) {
121+
callback.success(response);
122+
}
123+
124+
@Override
125+
public void onFailure(Throwable error) {
126+
callback.failure(error);
127+
}
128+
});
134129
}
135130
}
136131

@@ -178,21 +173,23 @@ public DefaultPubSubRpc(PubSubOptions options) throws IOException {
178173
}
179174
}
180175

181-
private static <V> ListenableFuture<V> translate(ListenableFuture<V> from,
182-
final boolean idempotent, int... returnNullOn) {
176+
private static <V> RpcFuture<V> translate(
177+
RpcFuture<V> from, final boolean idempotent, int... returnNullOn) {
183178
final Set<Integer> returnNullOnSet = Sets.newHashSetWithExpectedSize(returnNullOn.length);
184179
for (int value : returnNullOn) {
185180
returnNullOnSet.add(value);
186181
}
187-
return Futures.catching(from, ApiException.class, new Function<ApiException, V>() {
188-
@Override
189-
public V apply(ApiException exception) {
190-
if (returnNullOnSet.contains(exception.getStatusCode().value())) {
191-
return null;
192-
}
193-
throw new PubSubException(exception, idempotent);
194-
}
195-
});
182+
return from.catching(
183+
ApiException.class,
184+
new Function<ApiException, V>() {
185+
@Override
186+
public V apply(ApiException exception) {
187+
if (returnNullOnSet.contains(exception.getStatusCode().value())) {
188+
return null;
189+
}
190+
throw new PubSubException(exception, idempotent);
191+
}
192+
});
196193
}
197194

198195
@Override

google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/PubSubRpc.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import com.google.pubsub.v1.PullResponse;
4141
import com.google.pubsub.v1.Subscription;
4242
import com.google.pubsub.v1.Topic;
43-
4443
import java.util.concurrent.Future;
4544

4645
public interface PubSubRpc extends AutoCloseable {

google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/PublisherSettings.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -527,11 +527,8 @@ private static Builder createDefault() {
527527
.publishSettings()
528528
.getBundlingSettingsBuilder()
529529
.setElementCountThreshold(10)
530-
.setElementCountLimit(1000)
531530
.setRequestByteThreshold(1024)
532-
.setRequestByteLimit(10485760)
533-
.setDelayThreshold(Duration.millis(10))
534-
.setBlockingCallCountThreshold(1);
531+
.setDelayThreshold(Duration.millis(10));
535532
builder
536533
.publishSettings()
537534
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("one_plus_delivery"))

0 commit comments

Comments
 (0)