Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. a poll loop which:
    1. calls consumer.poll (note: rebalance listener might be called during poll)
    2. start processing received records
    3. commits offsets for records that completed processing
    4. repeat
  2. a rebalance listener. When partitions are revoked it:
    1. waits (blocking) until processing of all consumed records (from revoked partitions) has completed
    2. when the poll-loop commits (step 1.c.) were async, wait for these commits to complete
    3. synchronously commits offsets for records that completed processing

...

To allow a program to stop committing offsets for a lost partition, a new consumer method is introduced that gives the partitions that were lost in the previous poll. This method is used in step 1.e. Note, ideally, this does not happen because the user configures the partition assigner such that a partition is declared lost only after the maximum processing time has passed (this is outside the scope of this KIP).

...