Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(spanner): add leader_options to InstanceConfig and default_leader to Database #1271

Merged
merged 2 commits into from Jul 5, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -223,6 +223,7 @@ public void createDatabaseTest() throws Exception {
.addAllEncryptionInfo(new ArrayList<EncryptionInfo>())
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
.build();
Operation resultOperation =
Operation.newBuilder()
Expand Down Expand Up @@ -278,6 +279,7 @@ public void createDatabaseTest2() throws Exception {
.addAllEncryptionInfo(new ArrayList<EncryptionInfo>())
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
.build();
Operation resultOperation =
Operation.newBuilder()
Expand Down Expand Up @@ -333,6 +335,7 @@ public void getDatabaseTest() throws Exception {
.addAllEncryptionInfo(new ArrayList<EncryptionInfo>())
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
.build();
mockDatabaseAdmin.addResponse(expectedResponse);

Expand Down Expand Up @@ -377,6 +380,7 @@ public void getDatabaseTest2() throws Exception {
.addAllEncryptionInfo(new ArrayList<EncryptionInfo>())
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
.build();
mockDatabaseAdmin.addResponse(expectedResponse);

Expand Down Expand Up @@ -1307,6 +1311,7 @@ public void restoreDatabaseTest() throws Exception {
.addAllEncryptionInfo(new ArrayList<EncryptionInfo>())
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
.build();
Operation resultOperation =
Operation.newBuilder()
Expand Down Expand Up @@ -1365,6 +1370,7 @@ public void restoreDatabaseTest2() throws Exception {
.addAllEncryptionInfo(new ArrayList<EncryptionInfo>())
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
.build();
Operation resultOperation =
Operation.newBuilder()
Expand Down Expand Up @@ -1423,6 +1429,7 @@ public void restoreDatabaseTest3() throws Exception {
.addAllEncryptionInfo(new ArrayList<EncryptionInfo>())
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
.build();
Operation resultOperation =
Operation.newBuilder()
Expand Down Expand Up @@ -1481,6 +1488,7 @@ public void restoreDatabaseTest4() throws Exception {
.addAllEncryptionInfo(new ArrayList<EncryptionInfo>())
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
.build();
Operation resultOperation =
Operation.newBuilder()
Expand Down
Expand Up @@ -205,6 +205,7 @@ public void getInstanceConfigTest() throws Exception {
.setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
.setDisplayName("displayName1714148973")
.addAllReplicas(new ArrayList<ReplicaInfo>())
.addAllLeaderOptions(new ArrayList<String>())
.build();
mockInstanceAdmin.addResponse(expectedResponse);

Expand Down Expand Up @@ -245,6 +246,7 @@ public void getInstanceConfigTest2() throws Exception {
.setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
.setDisplayName("displayName1714148973")
.addAllReplicas(new ArrayList<ReplicaInfo>())
.addAllLeaderOptions(new ArrayList<String>())
.build();
mockInstanceAdmin.addResponse(expectedResponse);

Expand Down
Expand Up @@ -42,6 +42,7 @@ private Database() {
state_ = 0;
encryptionInfo_ = java.util.Collections.emptyList();
versionRetentionPeriod_ = "";
defaultLeader_ = "";
}

@java.lang.Override
Expand Down Expand Up @@ -171,6 +172,13 @@ private Database(
extensionRegistry));
break;
}
case 74:
{
java.lang.String s = input.readStringRequireUtf8();

defaultLeader_ = s;
break;
}
default:
{
if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
Expand Down Expand Up @@ -904,6 +912,63 @@ public com.google.protobuf.TimestampOrBuilder getEarliestVersionTimeOrBuilder()
return getEarliestVersionTime();
}

public static final int DEFAULT_LEADER_FIELD_NUMBER = 9;
private volatile java.lang.Object defaultLeader_;
/**
*
*
* <pre>
* Output only. The read-write region which contains the database's leader
* replicas.
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
* </pre>
*
* <code>string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
*
* @return The defaultLeader.
*/
@java.lang.Override
public java.lang.String getDefaultLeader() {
java.lang.Object ref = defaultLeader_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
defaultLeader_ = s;
return s;
}
}
/**
*
*
* <pre>
* Output only. The read-write region which contains the database's leader
* replicas.
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
* </pre>
*
* <code>string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
*
* @return The bytes for defaultLeader.
*/
@java.lang.Override
public com.google.protobuf.ByteString getDefaultLeaderBytes() {
java.lang.Object ref = defaultLeader_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
defaultLeader_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}

private byte memoizedIsInitialized = -1;

@java.lang.Override
Expand Down Expand Up @@ -943,6 +1008,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
for (int i = 0; i < encryptionInfo_.size(); i++) {
output.writeMessage(8, encryptionInfo_.get(i));
}
if (!getDefaultLeaderBytes().isEmpty()) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 9, defaultLeader_);
}
unknownFields.writeTo(output);
}

Expand Down Expand Up @@ -977,6 +1045,9 @@ public int getSerializedSize() {
for (int i = 0; i < encryptionInfo_.size(); i++) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, encryptionInfo_.get(i));
}
if (!getDefaultLeaderBytes().isEmpty()) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, defaultLeader_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
Expand Down Expand Up @@ -1013,6 +1084,7 @@ public boolean equals(final java.lang.Object obj) {
if (hasEarliestVersionTime()) {
if (!getEarliestVersionTime().equals(other.getEarliestVersionTime())) return false;
}
if (!getDefaultLeader().equals(other.getDefaultLeader())) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
Expand Down Expand Up @@ -1050,6 +1122,8 @@ public int hashCode() {
hash = (37 * hash) + EARLIEST_VERSION_TIME_FIELD_NUMBER;
hash = (53 * hash) + getEarliestVersionTime().hashCode();
}
hash = (37 * hash) + DEFAULT_LEADER_FIELD_NUMBER;
hash = (53 * hash) + getDefaultLeader().hashCode();
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
Expand Down Expand Up @@ -1233,6 +1307,8 @@ public Builder clear() {
earliestVersionTime_ = null;
earliestVersionTimeBuilder_ = null;
}
defaultLeader_ = "";

return this;
}

Expand Down Expand Up @@ -1293,6 +1369,7 @@ public com.google.spanner.admin.database.v1.Database buildPartial() {
} else {
result.earliestVersionTime_ = earliestVersionTimeBuilder_.build();
}
result.defaultLeader_ = defaultLeader_;
onBuilt();
return result;
}
Expand Down Expand Up @@ -1392,6 +1469,10 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.Database other) {
if (other.hasEarliestVersionTime()) {
mergeEarliestVersionTime(other.getEarliestVersionTime());
}
if (!other.getDefaultLeader().isEmpty()) {
defaultLeader_ = other.defaultLeader_;
onChanged();
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
Expand Down Expand Up @@ -3177,6 +3258,132 @@ public com.google.protobuf.TimestampOrBuilder getEarliestVersionTimeOrBuilder()
return earliestVersionTimeBuilder_;
}

private java.lang.Object defaultLeader_ = "";
/**
*
*
* <pre>
* Output only. The read-write region which contains the database's leader
* replicas.
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
* </pre>
*
* <code>string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
*
* @return The defaultLeader.
*/
public java.lang.String getDefaultLeader() {
java.lang.Object ref = defaultLeader_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
defaultLeader_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
*
*
* <pre>
* Output only. The read-write region which contains the database's leader
* replicas.
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
* </pre>
*
* <code>string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
*
* @return The bytes for defaultLeader.
*/
public com.google.protobuf.ByteString getDefaultLeaderBytes() {
java.lang.Object ref = defaultLeader_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
defaultLeader_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
*
* <pre>
* Output only. The read-write region which contains the database's leader
* replicas.
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
* </pre>
*
* <code>string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
*
* @param value The defaultLeader to set.
* @return This builder for chaining.
*/
public Builder setDefaultLeader(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}

defaultLeader_ = value;
onChanged();
return this;
}
/**
*
*
* <pre>
* Output only. The read-write region which contains the database's leader
* replicas.
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
* </pre>
*
* <code>string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
*
* @return This builder for chaining.
*/
public Builder clearDefaultLeader() {

defaultLeader_ = getDefaultInstance().getDefaultLeader();
onChanged();
return this;
}
/**
*
*
* <pre>
* Output only. The read-write region which contains the database's leader
* replicas.
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
* </pre>
*
* <code>string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
*
* @param value The bytes for defaultLeader to set.
* @return This builder for chaining.
*/
public Builder setDefaultLeaderBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);

defaultLeader_ = value;
onChanged();
return this;
}

@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
Expand Down