The goal of key-based retention is to keep the latest record for a given
key within a topic. This is the same as Kafka’s key-based retention and
effectively makes the commit log a key value store.
Returned by a compaction reducer function when there is no capacity
to process any more keys. A compactor will use this information to
determine whether another compaction pass is required.
A compactor strategy’s role is to be fed consumer records for a single topic
and ultimately determine, for each record key, what the earliest offset is
that may be retained. Upon the consumer completing, logged will then proceed
to remove unwanted records from the commit log.