@Override public void onFinishWithKeys(List<? extends PartitionKey> partitionKeys, boolean succeeded) { ConsumerWorkingSet workingSet = readState(); doFinish(workingSet, partitionKeys, succeeded); statePersistor.persistState(workingSet.toBytes()); }
@Override public void untakeWithKeys(List<? extends PartitionKey> partitionKeys) { ConsumerWorkingSet workingSet = readState(); untake(workingSet, partitionKeys); statePersistor.persistState(workingSet.toBytes()); }
@Override public PartitionConsumerResult consumePartitions(PartitionAcceptor acceptor) { ConsumerWorkingSet workingSet = readState(); PartitionConsumerResult partitionsResult = doConsume(workingSet, acceptor); statePersistor.persistState(workingSet.toBytes()); return partitionsResult; }