Kafka binding internally uses progress offset to represent where the client should recover from after receiving a DATA frame.
However, this is then inconsistent with FLUSH frame which represents current position in the stream.
Review the use of partitionOffset vs progressOffset, also BEGIN partitionOffset vs DATA partitionOffset to determine if this can be further simplified.