public static final class Eraftpb.ConfChangeV2 extends com.google.protobuf.GeneratedMessageV3 implements Eraftpb.ConfChangeV2OrBuilder
ConfChangeV2 messages initiate configuration changes. They support both the simple "one at a time" membership change protocol and full Joint Consensus allowing for arbitrary changes in membership. The supplied context is treated as an opaque payload and can be used to attach an action on the state machine to the application of the config change proposal. Note that contrary to Joint Consensus as outlined in the Raft paper[1], configuration changes become active when they are *applied* to the state machine (not when they are appended to the log). The simple protocol can be used whenever only a single change is made. Non-simple changes require the use of Joint Consensus, for which two configuration changes are run. The first configuration change specifies the desired changes and transitions the Raft group into the joint configuration, in which quorum requires a majority of both the pre-changes and post-changes configuration. Joint Consensus avoids entering fragile intermediate configurations that could compromise survivability. For example, without the use of Joint Consensus and running across three availability zones with a replication factor of three, it is not possible to replace a voter without entering an intermediate configuration that does not survive the outage of one availability zone. The provided ConfChangeTransition specifies how (and whether) Joint Consensus is used, and assigns the task of leaving the joint configuration either to Raft or the application. Leaving the joint configuration is accomplished by proposing a ConfChangeV2 with only and optionally the Context field populated. For details on Raft membership changes, see: [1]: https://github.com/ongardie/dissertation/blob/master/online-trim.pdfProtobuf type
eraftpb.ConfChangeV2| 限定符和类型 | 类和说明 |
|---|---|
static class |
Eraftpb.ConfChangeV2.Builder
ConfChangeV2 messages initiate configuration changes.
|
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter| 限定符和类型 | 字段和说明 |
|---|---|
static int |
CHANGES_FIELD_NUMBER |
static int |
CONTEXT_FIELD_NUMBER |
static int |
TRANSITION_FIELD_NUMBER |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
equals(Object obj) |
Eraftpb.ConfChangeSingle |
getChanges(int index)
repeated .eraftpb.ConfChangeSingle changes = 2; |
int |
getChangesCount()
repeated .eraftpb.ConfChangeSingle changes = 2; |
List<Eraftpb.ConfChangeSingle> |
getChangesList()
repeated .eraftpb.ConfChangeSingle changes = 2; |
Eraftpb.ConfChangeSingleOrBuilder |
getChangesOrBuilder(int index)
repeated .eraftpb.ConfChangeSingle changes = 2; |
List<? extends Eraftpb.ConfChangeSingleOrBuilder> |
getChangesOrBuilderList()
repeated .eraftpb.ConfChangeSingle changes = 2; |
com.google.protobuf.ByteString |
getContext()
bytes context = 3; |
static Eraftpb.ConfChangeV2 |
getDefaultInstance() |
Eraftpb.ConfChangeV2 |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Parser<Eraftpb.ConfChangeV2> |
getParserForType() |
int |
getSerializedSize() |
Eraftpb.ConfChangeTransition |
getTransition()
.eraftpb.ConfChangeTransition transition = 1; |
int |
getTransitionValue()
.eraftpb.ConfChangeTransition transition = 1; |
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
int |
hashCode() |
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static Eraftpb.ConfChangeV2.Builder |
newBuilder() |
static Eraftpb.ConfChangeV2.Builder |
newBuilder(Eraftpb.ConfChangeV2 prototype) |
Eraftpb.ConfChangeV2.Builder |
newBuilderForType() |
protected Eraftpb.ConfChangeV2.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
static Eraftpb.ConfChangeV2 |
parseDelimitedFrom(InputStream input) |
static Eraftpb.ConfChangeV2 |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Eraftpb.ConfChangeV2 |
parseFrom(byte[] data) |
static Eraftpb.ConfChangeV2 |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Eraftpb.ConfChangeV2 |
parseFrom(ByteBuffer data) |
static Eraftpb.ConfChangeV2 |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Eraftpb.ConfChangeV2 |
parseFrom(com.google.protobuf.ByteString data) |
static Eraftpb.ConfChangeV2 |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Eraftpb.ConfChangeV2 |
parseFrom(com.google.protobuf.CodedInputStream input) |
static Eraftpb.ConfChangeV2 |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Eraftpb.ConfChangeV2 |
parseFrom(InputStream input) |
static Eraftpb.ConfChangeV2 |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<Eraftpb.ConfChangeV2> |
parser() |
Eraftpb.ConfChangeV2.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newInstance, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTopublic static final int TRANSITION_FIELD_NUMBER
public static final int CHANGES_FIELD_NUMBER
public static final int CONTEXT_FIELD_NUMBER
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields 在接口中 com.google.protobuf.MessageOrBuildergetUnknownFields 在类中 com.google.protobuf.GeneratedMessageV3public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable 在类中 com.google.protobuf.GeneratedMessageV3public int getTransitionValue()
.eraftpb.ConfChangeTransition transition = 1;public Eraftpb.ConfChangeTransition getTransition()
.eraftpb.ConfChangeTransition transition = 1;getTransition 在接口中 Eraftpb.ConfChangeV2OrBuilderpublic List<Eraftpb.ConfChangeSingle> getChangesList()
repeated .eraftpb.ConfChangeSingle changes = 2;getChangesList 在接口中 Eraftpb.ConfChangeV2OrBuilderpublic List<? extends Eraftpb.ConfChangeSingleOrBuilder> getChangesOrBuilderList()
repeated .eraftpb.ConfChangeSingle changes = 2;public int getChangesCount()
repeated .eraftpb.ConfChangeSingle changes = 2;getChangesCount 在接口中 Eraftpb.ConfChangeV2OrBuilderpublic Eraftpb.ConfChangeSingle getChanges(int index)
repeated .eraftpb.ConfChangeSingle changes = 2;getChanges 在接口中 Eraftpb.ConfChangeV2OrBuilderpublic Eraftpb.ConfChangeSingleOrBuilder getChangesOrBuilder(int index)
repeated .eraftpb.ConfChangeSingle changes = 2;public com.google.protobuf.ByteString getContext()
bytes context = 3;getContext 在接口中 Eraftpb.ConfChangeV2OrBuilderpublic final boolean isInitialized()
isInitialized 在接口中 com.google.protobuf.MessageLiteOrBuilderisInitialized 在类中 com.google.protobuf.GeneratedMessageV3public void writeTo(com.google.protobuf.CodedOutputStream output)
throws IOException
writeTo 在接口中 com.google.protobuf.MessageLitewriteTo 在类中 com.google.protobuf.GeneratedMessageV3IOExceptionpublic int getSerializedSize()
getSerializedSize 在接口中 com.google.protobuf.MessageLitegetSerializedSize 在类中 com.google.protobuf.GeneratedMessageV3public boolean equals(Object obj)
equals 在接口中 com.google.protobuf.Messageequals 在类中 com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode 在接口中 com.google.protobuf.MessagehashCode 在类中 com.google.protobuf.AbstractMessagepublic static Eraftpb.ConfChangeV2 parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Eraftpb.ConfChangeV2 parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Eraftpb.ConfChangeV2 parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Eraftpb.ConfChangeV2 parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Eraftpb.ConfChangeV2 parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Eraftpb.ConfChangeV2 parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Eraftpb.ConfChangeV2 parseFrom(InputStream input) throws IOException
IOExceptionpublic static Eraftpb.ConfChangeV2 parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static Eraftpb.ConfChangeV2 parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static Eraftpb.ConfChangeV2 parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static Eraftpb.ConfChangeV2 parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static Eraftpb.ConfChangeV2 parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic Eraftpb.ConfChangeV2.Builder newBuilderForType()
newBuilderForType 在接口中 com.google.protobuf.MessagenewBuilderForType 在接口中 com.google.protobuf.MessageLitepublic static Eraftpb.ConfChangeV2.Builder newBuilder()
public static Eraftpb.ConfChangeV2.Builder newBuilder(Eraftpb.ConfChangeV2 prototype)
public Eraftpb.ConfChangeV2.Builder toBuilder()
toBuilder 在接口中 com.google.protobuf.MessagetoBuilder 在接口中 com.google.protobuf.MessageLiteprotected Eraftpb.ConfChangeV2.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType 在类中 com.google.protobuf.GeneratedMessageV3public static Eraftpb.ConfChangeV2 getDefaultInstance()
public static com.google.protobuf.Parser<Eraftpb.ConfChangeV2> parser()
public com.google.protobuf.Parser<Eraftpb.ConfChangeV2> getParserForType()
getParserForType 在接口中 com.google.protobuf.MessagegetParserForType 在接口中 com.google.protobuf.MessageLitegetParserForType 在类中 com.google.protobuf.GeneratedMessageV3public Eraftpb.ConfChangeV2 getDefaultInstanceForType()
getDefaultInstanceForType 在接口中 com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType 在接口中 com.google.protobuf.MessageOrBuilderCopyright © 2023 PingCAP. All rights reserved.