public abstract class PushSession extends Object
Constructor and Description |
---|
PushSession(int leaderEpoch,
long replicaEpoch,
long replicationSessionId,
org.apache.kafka.common.Node replicaNode) |
Modifier and Type | Method and Description |
---|---|
int |
leaderEpoch() |
boolean |
matchesRequestData(long requestReplicaEpoch,
org.apache.kafka.common.message.AppendRecordsRequestData.PartitionData data) |
abstract boolean |
onAppendRecordsResponse(long logEndOffset,
long logStartOffset)
Called on a successful AppendRecords response for that partition replica.
|
abstract void |
onPushSessionEnded()
Called when the push session has ended.
|
long |
replicaEpoch() |
org.apache.kafka.common.Node |
replicaNode() |
long |
replicationSessionId() |
String |
toString() |
abstract void |
tryCompleteDelayedRequests()
Try to complete any pending requests in purgatory.
|
public PushSession(int leaderEpoch, long replicaEpoch, long replicationSessionId, org.apache.kafka.common.Node replicaNode)
public abstract boolean onAppendRecordsResponse(long logEndOffset, long logStartOffset)
public abstract void onPushSessionEnded()
Called when the push session has ended.
This can happen due to either:
public abstract void tryCompleteDelayedRequests()
onAppendRecordsResponse(long, long)
handler
indicates that the high watermark or low watermark increased. This is decoupled from onAppendRecordsResponse
to not have potentially expensive purgatory completions block the pusher thread or replica state updates,
while also allowing the pusher thread to schedule purgatory completions on a separate worker pool.public int leaderEpoch()
public long replicaEpoch()
public long replicationSessionId()
public org.apache.kafka.common.Node replicaNode()
public boolean matchesRequestData(long requestReplicaEpoch, org.apache.kafka.common.message.AppendRecordsRequestData.PartitionData data)