public class ReplicationStateMetadata extends Object implements ReplicationState
ReplicationState.Mode
Modifier and Type | Field and Description |
---|---|
static long |
FINAL_REPLICATION_SESSION_ID
The final replication session ID.
|
static ReplicationStateMetadata |
INITIAL |
static long |
INITIAL_REPLICATION_SESSION_ID
The initial replication session ID.
|
static long |
UNKNOWN_REPLICATION_SESSION_ID
An invalid replication session ID.
|
Constructor and Description |
---|
ReplicationStateMetadata(ReplicationState.Mode replicationMode,
long replicationSessionId) |
Modifier and Type | Method and Description |
---|---|
boolean |
canTransitionTo(ReplicationState.Mode next,
long proposedSessionId)
Follower replication mode transition proposal require the proposed session ID to be incremented
when the leader requests a transition back to PULL.
|
boolean |
equals(Object o) |
int |
hashCode() |
ReplicationState.Mode |
mode()
The replication mode of this partition replica.
|
long |
nextId(ReplicationState.Mode nextMode) |
long |
replicationSessionId()
The current replication session ID for this partition replica.
|
static boolean |
replicationSessionIdSupportsPushTransition(long replicationSessionId) |
String |
toString() |
public static final long UNKNOWN_REPLICATION_SESSION_ID
public static final long INITIAL_REPLICATION_SESSION_ID
public static final long FINAL_REPLICATION_SESSION_ID
public static final ReplicationStateMetadata INITIAL
public ReplicationStateMetadata(ReplicationState.Mode replicationMode, long replicationSessionId)
public static boolean replicationSessionIdSupportsPushTransition(long replicationSessionId)
public ReplicationState.Mode mode()
ReplicationState
mode
in interface ReplicationState
public long replicationSessionId()
ReplicationState
The current replication session ID for this partition replica. Used for coordinating transitions between pull and push replication mode by the leader and the follower.
The replication session ID is included in both the Fetch (pull replication) protocol and
the AppendRecords (push replication) protocol. It's incremented on the follower whenever the
leader requests a transition back to ReplicationState.Mode.PULL
.
replicationSessionId
in interface ReplicationState
public boolean canTransitionTo(ReplicationState.Mode next, long proposedSessionId)
next
- proposed replication modeproposedSessionId
- proposed session IDtrue
if thepublic long nextId(ReplicationState.Mode nextMode)