...
To overcome these challenges, we propose to expose this fetched metadata in a new method on ConsumerRecords: ConsumerRecords#metadata(): Map<TopicPartition, Metadata>
, where Metadata
includes the receivedTime
, position
, lag
, startOffset
beginningOffset
, and endOffset
information.
...
- Change "max.task.idle.ms" to accept "-1" as a flag to disable task idling entirely
- Change the semantics of the default of "max.task.idle.ms" ("0") so that Streams will deterministically fetch all available partitions before deciding to proceed with enforced processing.
- Add
ConsumerRecords#metadata(): Map<TopicPartition, Metadata>
, whereMetadata
includesreceivedTime
,position
,lag
,startOffset
beginningOffset
, andendOffset
information
...
Code Block |
---|
public class ConsumerRecords<K, V> implements Iterable<ConsumerRecord<K, V>> { ... public static final class Metadata { public long receivedTimestamp() public long position() public long lag() public long startOffsetbeginningOffset() public long endOffset() } ... public Map<TopicPartition, Metadata> metadata() ... } |
...