Enum Class DeduplicationMode
- All Implemented Interfaces:
com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, Serializable, Comparable<DeduplicationMode>, Constable
public enum DeduplicationMode
extends Enum<DeduplicationMode>
implements com.google.protobuf.ProtocolMessageEnum
How the server deduplicates the records of a stream. The mode is fixed for the lifetime of the stream: it is chosen once in the `Start` frame and cannot be changed by a later `IngestionDefaults` frame. Note that this only controls deduplication. Regardless of the mode, every `Invocation` must still carry an `offset`, offsets must still increase monotonically within a stream, and `Response.last_committed` still reports progress in terms of those offsets.Protobuf enum
dev.restate.ingress.ingestion.v1.DeduplicationMode-
Nested Class Summary
Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionDisable deduplication: every record accepted by the server becomes an invocation.Deduplicate on `(producer_id, offset)`. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDisable deduplication: every record accepted by the server becomes an invocation.static final intDeduplicate on `(producer_id, offset)`. -
Method Summary
Modifier and TypeMethodDescriptionstatic DeduplicationModeforNumber(int value) static final com.google.protobuf.Descriptors.EnumDescriptorfinal com.google.protobuf.Descriptors.EnumDescriptorfinal intfinal com.google.protobuf.Descriptors.EnumValueDescriptorstatic com.google.protobuf.Internal.EnumLiteMap<DeduplicationMode> static DeduplicationModevalueOf(int value) Deprecated.static DeduplicationModevalueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) Returns the enum constant of this class with the specified name.static DeduplicationModeReturns the enum constant of this class with the specified name.static DeduplicationMode[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
DISABLED
Disable deduplication: every record accepted by the server becomes an invocation. Nothing is tracked across streams, so resending records after a reconnect duplicates them. Pick this mode only when the producer cannot supply a stable ID, or when duplicates are acceptable or already suppressed elsewhere (for example by an `idempotency_key`). `producer_id` is optional in this mode, but is still recorded on traces and metrics when set.
DISABLED = 0; -
OFFSET_BASED
Deduplicate on `(producer_id, offset)`. The server tracks the highest committed offset per producer ID and silently drops any record whose offset is not above it, which makes resending a range of records after a reconnect safe: records the server already committed do not become duplicate invocations. This mode requires `producer_id` to be set; using it with an empty producer ID fails the stream with `GO_AWAY`. It also requires the producer to reuse the same ID across streams, since a new ID starts from a fresh deduplication state.
OFFSET_BASED = 1; -
UNRECOGNIZED
-
-
Field Details
-
DISABLED_VALUE
public static final int DISABLED_VALUEDisable deduplication: every record accepted by the server becomes an invocation. Nothing is tracked across streams, so resending records after a reconnect duplicates them. Pick this mode only when the producer cannot supply a stable ID, or when duplicates are acceptable or already suppressed elsewhere (for example by an `idempotency_key`). `producer_id` is optional in this mode, but is still recorded on traces and metrics when set.
DISABLED = 0;- See Also:
-
OFFSET_BASED_VALUE
public static final int OFFSET_BASED_VALUEDeduplicate on `(producer_id, offset)`. The server tracks the highest committed offset per producer ID and silently drops any record whose offset is not above it, which makes resending a range of records after a reconnect safe: records the server already committed do not become duplicate invocations. This mode requires `producer_id` to be set; using it with an empty producer ID fails the stream with `GO_AWAY`. It also requires the producer to reuse the same ID across streams, since a new ID starts from a fresh deduplication state.
OFFSET_BASED = 1;- See Also:
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
getNumber
public final int getNumber()- Specified by:
getNumberin interfacecom.google.protobuf.Internal.EnumLite- Specified by:
getNumberin interfacecom.google.protobuf.ProtocolMessageEnum
-
valueOf
Deprecated.Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
value- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
forNumber
- Parameters:
value- The numeric wire value of the corresponding enum entry.- Returns:
- The enum associated with the given numeric wire value.
-
internalGetValueMap
-
getValueDescriptor
public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()- Specified by:
getValueDescriptorin interfacecom.google.protobuf.ProtocolMessageEnum
-
getDescriptorForType
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.ProtocolMessageEnum
-
getDescriptor
public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() -
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
desc- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-