public Long partitionLag(TopicPartition tp, IsolationLevel isolationLevel) { TopicPartitionState topicPartitionState = assignedState(tp); if (isolationLevel == IsolationLevel.READ_COMMITTED) return topicPartitionState.lastStableOffset == null ? null : topicPartitionState.lastStableOffset - topicPartitionState.position; else return topicPartitionState.highWatermark == null ? null : topicPartitionState.highWatermark - topicPartitionState.position; }
public Long partitionLead(TopicPartition tp) { TopicPartitionState topicPartitionState = assignedState(tp); return topicPartitionState.logStartOffset == null ? null : topicPartitionState.position - topicPartitionState.logStartOffset; }
public void setResetPending(Set<TopicPartition> partitions, long nextAllowResetTimeMs) { for (TopicPartition partition : partitions) { assignedState(partition).setResetPending(nextAllowResetTimeMs); } }
public void pause(TopicPartition tp) { assignedState(tp).pause(); }
public boolean isOffsetResetNeeded(TopicPartition partition) { return assignedState(partition).awaitingReset(); }
public void resetFailed(Set<TopicPartition> partitions, long nextRetryTimeMs) { for (TopicPartition partition : partitions) assignedState(partition).resetFailed(nextRetryTimeMs); }
public void updateLogStartOffset(TopicPartition tp, long logStartOffset) { assignedState(tp).logStartOffset = logStartOffset; }
public Long position(TopicPartition tp) { return assignedState(tp).position; }
public void requestOffsetReset(TopicPartition partition, OffsetResetStrategy offsetResetStrategy) { assignedState(partition).reset(offsetResetStrategy); }
public OffsetResetStrategy resetStrategy(TopicPartition partition) { return assignedState(partition).resetStrategy; }
public void seek(TopicPartition tp, long offset) { assignedState(tp).seek(offset); }
public void position(TopicPartition tp, long offset) { assignedState(tp).position(offset); }
public void updateHighWatermark(TopicPartition tp, long highWatermark) { assignedState(tp).highWatermark = highWatermark; }
public void updateLastStableOffset(TopicPartition tp, long lastStableOffset) { assignedState(tp).lastStableOffset = lastStableOffset; }
public void resume(TopicPartition tp) { assignedState(tp).resume(); }
public boolean isPaused(TopicPartition tp) { return isAssigned(tp) && assignedState(tp).paused; }
public boolean hasValidPosition(TopicPartition tp) { return isAssigned(tp) && assignedState(tp).hasValidPosition(); }
public boolean isFetchable(TopicPartition tp) { return isAssigned(tp) && assignedState(tp).isFetchable(); }