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

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
365836e
fixed merge conflicts
olavloite Apr 6, 2019
1b975ae
changed references after rebase on master
olavloite Apr 12, 2019
a6a5342
rebased on refactored SpannerImpl
olavloite Apr 13, 2019
2d85dc3
enable gax retries on rpc calls
olavloite Apr 14, 2019
081569c
removed runWithRetries and added access to gax settings on options
olavloite Apr 15, 2019
e99b45d
try to fix flaky test
olavloite Apr 15, 2019
de22aed
added gax config for DatabaseAdminClient
olavloite Apr 15, 2019
eb9f449
increase timeouts to reduce chance of false test failure
olavloite Apr 15, 2019
a791085
increase timeout to avoid false test failures
olavloite Apr 15, 2019
d3a01c3
changed read/write tests to use warmed up session pool
olavloite Apr 16, 2019
08e2768
increase timeout to avoid timeouts in warmUpSessionPool
olavloite Apr 16, 2019
e28da86
fixed formatting
olavloite Apr 16, 2019
344f86e
set specific retry settings for commit
olavloite Apr 16, 2019
e9e6c56
increase initial rpc timeout to avoid slow build to timeout
olavloite Apr 16, 2019
b684a0d
added tests for default and setting custom retry settings
olavloite Apr 16, 2019
e945c64
add retry loop in warmUpSessionPool
olavloite Apr 17, 2019
d304978
added additional documentation
olavloite Apr 17, 2019
f78df4d
removed unnecessary passing around SpannerImpl
olavloite Apr 17, 2019
ae6b76d
fixed javadoc build errors
olavloite Apr 17, 2019
02dca04
removed unnecessary import change
olavloite Apr 17, 2019
432c132
renamed stub settings builder methods to get...SettingsBuilder
olavloite Apr 22, 2019
d90248e
remove unused import
olavloite Apr 22, 2019
38267c6
ran code formatter
olavloite Apr 23, 2019
df2ed1f
added references to default values
olavloite May 17, 2019
000f3c3
remove ignored test
olavloite May 17, 2019
1302c06
ran formatter
olavloite May 17, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
import io.opencensus.trace.Span;
import io.opencensus.trace.Tracing;
import java.util.Map;
import java.util.concurrent.Callable;
import java.util.concurrent.atomic.AtomicLong;
import javax.annotation.Nullable;
import javax.annotation.concurrent.GuardedBy;
Expand Down Expand Up @@ -226,14 +225,7 @@ void initTransaction() {
.setSession(session.getName())
.setOptions(options)
.build();
Transaction transaction =
SpannerImpl.runWithRetries(
new Callable<Transaction>() {
@Override
public Transaction call() throws Exception {
return rpc.beginTransaction(request, session.getOptions());
}
});
Transaction transaction = rpc.beginTransaction(request, session.getOptions());
if (!transaction.hasReadTimestamp()) {
throw SpannerExceptionFactory.newSpannerException(
ErrorCode.INTERNAL, "Missing expected transaction.read_timestamp metadata field");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
import com.google.spanner.v1.TransactionSelector;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;

/** Default implementation for Batch Client interface. */
public class BatchClientImpl implements BatchClient {
Expand Down Expand Up @@ -135,14 +134,7 @@ public List<Partition> partitionReadUsingIndex(
builder.setPartitionOptions(pbuilder.build());

final PartitionReadRequest request = builder.build();
PartitionResponse response =
SpannerImpl.runWithRetries(
new Callable<PartitionResponse>() {
@Override
public PartitionResponse call() throws Exception {
return rpc.partitionRead(request, options);
}
});
PartitionResponse response = rpc.partitionRead(request, options);
ImmutableList.Builder<Partition> partitions = ImmutableList.builder();
for (com.google.spanner.v1.Partition p : response.getPartitionsList()) {
Partition partition =
Expand Down Expand Up @@ -180,14 +172,7 @@ public List<Partition> partitionQuery(
builder.setPartitionOptions(pbuilder.build());

final PartitionQueryRequest request = builder.build();
PartitionResponse response =
SpannerImpl.runWithRetries(
new Callable<PartitionResponse>() {
@Override
public PartitionResponse call() throws Exception {
return rpc.partitionQuery(request, options);
}
});
PartitionResponse response = rpc.partitionQuery(request, options);
ImmutableList.Builder<Partition> partitions = ImmutableList.builder();
for (com.google.spanner.v1.Partition p : response.getPartitionsList()) {
Partition partition =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.Callable;
import javax.annotation.Nullable;

/** Default implementation of {@link DatabaseAdminClient}. */
Expand Down Expand Up @@ -83,15 +82,8 @@ public Database apply(Exception e) {

@Override
public Database getDatabase(String instanceId, String databaseId) throws SpannerException {
final String dbName = getDatabaseName(instanceId, databaseId);
Callable<Database> callable =
new Callable<Database>() {
@Override
public Database call() throws Exception {
return Database.fromProto(rpc.getDatabase(dbName), DatabaseAdminClientImpl.this);
}
};
return SpannerImpl.runWithRetries(callable);
String dbName = getDatabaseName(instanceId, databaseId);
return Database.fromProto(rpc.getDatabase(dbName), DatabaseAdminClientImpl.this);
}

@Override
Expand Down Expand Up @@ -126,29 +118,14 @@ public Void apply(Exception e) {

@Override
public void dropDatabase(String instanceId, String databaseId) throws SpannerException {
final String dbName = getDatabaseName(instanceId, databaseId);
Callable<Void> callable =
new Callable<Void>() {
@Override
public Void call() throws Exception {
rpc.dropDatabase(dbName);
return null;
}
};
SpannerImpl.runWithRetries(callable);
String dbName = getDatabaseName(instanceId, databaseId);
rpc.dropDatabase(dbName);
}

@Override
public List<String> getDatabaseDdl(String instanceId, String databaseId) {
final String dbName = getDatabaseName(instanceId, databaseId);
Callable<List<String>> callable =
new Callable<List<String>>() {
@Override
public List<String> call() throws Exception {
return rpc.getDatabaseDdl(dbName);
}
};
return SpannerImpl.runWithRetries(callable);
String dbName = getDatabaseName(instanceId, databaseId);
return rpc.getDatabaseDdl(dbName);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
import com.google.protobuf.FieldMask;
import com.google.spanner.admin.instance.v1.CreateInstanceMetadata;
import com.google.spanner.admin.instance.v1.UpdateInstanceMetadata;
import java.util.concurrent.Callable;

/** Default implementation of {@link InstanceAdminClient} */
class InstanceAdminClientImpl implements InstanceAdminClient {
Expand All @@ -49,15 +48,9 @@ class InstanceAdminClientImpl implements InstanceAdminClient {

@Override
public InstanceConfig getInstanceConfig(String configId) throws SpannerException {
final String instanceConfigName = new InstanceConfigId(projectId, configId).getName();
return SpannerImpl.runWithRetries(
new Callable<InstanceConfig>() {
@Override
public InstanceConfig call() {
return InstanceConfig.fromProto(
rpc.getInstanceConfig(instanceConfigName), InstanceAdminClientImpl.this);
}
});
String instanceConfigName = new InstanceConfigId(projectId, configId).getName();
return InstanceConfig.fromProto(
rpc.getInstanceConfig(instanceConfigName), InstanceAdminClientImpl.this);
}

@Override
Expand Down Expand Up @@ -119,15 +112,9 @@ public Instance apply(Exception e) {

@Override
public Instance getInstance(String instanceId) throws SpannerException {
final String instanceName = new InstanceId(projectId, instanceId).getName();
return SpannerImpl.runWithRetries(
new Callable<Instance>() {
@Override
public Instance call() {
return Instance.fromProto(
rpc.getInstance(instanceName), InstanceAdminClientImpl.this, dbClient);
}
});
String instanceName = new InstanceId(projectId, instanceId).getName();
return Instance.fromProto(
rpc.getInstance(instanceName), InstanceAdminClientImpl.this, dbClient);
}

@Override
Expand Down Expand Up @@ -156,14 +143,7 @@ public Instance fromProto(com.google.spanner.admin.instance.v1.Instance proto) {

@Override
public void deleteInstance(final String instanceId) throws SpannerException {
SpannerImpl.runWithRetries(
new Callable<Void>() {
@Override
public Void call() {
rpc.deleteInstance(new InstanceId(projectId, instanceId).getName());
return null;
}
});
rpc.deleteInstance(new InstanceId(projectId, instanceId).getName());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import com.google.spanner.v1.TransactionOptions;
import com.google.spanner.v1.TransactionSelector;
import java.util.Map;
import java.util.concurrent.Callable;

/** Partitioned DML transaction for bulk updates and deletes. */
class PartitionedDMLTransaction implements SessionTransaction {
Expand All @@ -51,14 +50,7 @@ private ByteString initTransaction() {
TransactionOptions.newBuilder()
.setPartitionedDml(TransactionOptions.PartitionedDml.getDefaultInstance()))
.build();
Transaction txn =
SpannerImpl.runWithRetries(
new Callable<Transaction>() {
@Override
public Transaction call() throws Exception {
return rpc.beginTransaction(request, session.getOptions());
}
});
Transaction txn = rpc.beginTransaction(request, session.getOptions());
if (txn.getId().isEmpty()) {
throw SpannerExceptionFactory.newSpannerException(
ErrorCode.INTERNAL,
Expand All @@ -84,13 +76,7 @@ long executePartitionedUpdate(Statement statement) {
}
}
com.google.spanner.v1.ResultSet resultSet =
SpannerImpl.runWithRetries(
new Callable<com.google.spanner.v1.ResultSet>() {
@Override
public com.google.spanner.v1.ResultSet call() throws Exception {
return rpc.executeQuery(builder.build(), session.getOptions());
}
});
rpc.executeQuery(builder.build(), session.getOptions());
if (!resultSet.hasStats()) {
throw new IllegalArgumentException(
"Partitioned DML response missing stats possibly due to non-DML statement as input");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
import javax.annotation.Nullable;

/**
Expand Down Expand Up @@ -137,14 +136,7 @@ public Timestamp writeAtLeastOnce(Iterable<Mutation> mutations) throws SpannerEx
.build();
Span span = tracer.spanBuilder(SpannerImpl.COMMIT).startSpan();
try (Scope s = tracer.withSpan(span)) {
CommitResponse response =
SpannerImpl.runWithRetries(
new Callable<CommitResponse>() {
@Override
public CommitResponse call() throws Exception {
return spanner.getRpc().commit(request, options);
}
});
CommitResponse response = spanner.getRpc().commit(request, options);
Timestamp t = Timestamp.fromProto(response.getCommitTimestamp());
span.end();
return t;
Expand Down Expand Up @@ -208,14 +200,7 @@ public void prepareReadWriteTransaction() {
public void close() {
Span span = tracer.spanBuilder(SpannerImpl.DELETE_SESSION).startSpan();
try (Scope s = tracer.withSpan(span)) {
SpannerImpl.runWithRetries(
new Callable<Void>() {
@Override
public Void call() throws Exception {
spanner.getRpc().deleteSession(name, options);
return null;
}
});
spanner.getRpc().deleteSession(name, options);
span.end();
} catch (RuntimeException e) {
TraceUtil.endSpanWithFailure(span, e);
Expand All @@ -233,14 +218,7 @@ ByteString beginTransaction() {
TransactionOptions.newBuilder()
.setReadWrite(TransactionOptions.ReadWrite.getDefaultInstance()))
.build();
Transaction txn =
SpannerImpl.runWithRetries(
new Callable<Transaction>() {
@Override
public Transaction call() throws Exception {
return spanner.getRpc().beginTransaction(request, options);
}
});
Transaction txn = spanner.getRpc().beginTransaction(request, options);
if (txn.getId().isEmpty()) {
throw newSpannerException(ErrorCode.INTERNAL, "Missing id in transaction\n" + getName());
}
Expand Down
Loading