public static class FileTierPartitionState.MaterializationListener.ReplicationTargetObjectId extends Object implements FileTierPartitionState.MaterializationListener
FileTierPartitionState.MaterializationListener.Initialization, FileTierPartitionState.MaterializationListener.LeaderEpoch, FileTierPartitionState.MaterializationListener.ReplicationTargetObjectId, FileTierPartitionState.MaterializationListener.ReplicationTargetOffset
Constructor and Description |
---|
ReplicationTargetObjectId(org.slf4j.Logger log,
TopicIdPartition topicIdPartition,
CompletableFuture<TierObjectMetadata> promise,
UUID targetObjectId,
long targetRestoreEpoch,
long upperBoundEndOffset) |
Modifier and Type | Method and Description |
---|---|
void |
cancel(Exception e)
Complete this MaterializationListener without a result.
|
boolean |
complete(kafka.tier.state.FileTierPartitionState.State flushedState)
Try to complete this listener.
|
long |
materializationProgress(long endOffset) |
boolean |
mayComplete(kafka.tier.state.FileTierPartitionState.State unflushedState,
Optional<AbstractTierMetadata> unflushedMessage)
Observe the unflushed FileTierPartitionState.State to determine if this listener can be completed after a flush.
|
String |
toString() |
public ReplicationTargetObjectId(org.slf4j.Logger log, TopicIdPartition topicIdPartition, CompletableFuture<TierObjectMetadata> promise, UUID targetObjectId, long targetRestoreEpoch, long upperBoundEndOffset)
public boolean mayComplete(kafka.tier.state.FileTierPartitionState.State unflushedState, Optional<AbstractTierMetadata> unflushedMessage) throws IOException
FileTierPartitionState.MaterializationListener
mayComplete
in interface FileTierPartitionState.MaterializationListener
unflushedState
- The unflushed TierPartitionState.StateunflushedMessage
- Optionally, an unflushed message which has mutated the provided FileTierPartitionState.State.
This is sometimes useful for situations where it is expensive to query the unflushedState, but
a cheaper check is possible by observing the most recently applied AbstractTierMetadata.IOException
public boolean complete(kafka.tier.state.FileTierPartitionState.State flushedState) throws IOException
FileTierPartitionState.MaterializationListener
complete
in interface FileTierPartitionState.MaterializationListener
flushedState
- The flushed TierPartitionState.State.IOException
public void cancel(Exception e)
FileTierPartitionState.MaterializationListener
cancel
in interface FileTierPartitionState.MaterializationListener
public long materializationProgress(long endOffset)