DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Although the new field deliverAfter is specified on the record/message level, Kafka systems mostly work with the messages in batches for performance reasons. We will also propose setting a deliverAfter field in RecordBatch level. The messages in the same batch will satisfy the deliverAfter constraint on the batch level. For example, for message 1 with deliverAfter set to 10:42 and message 2 with deliverAfter set to 10:44, the batch level deliverAfter will be set to 10:44 so both messages in the batch will be satisfying the constraint. During message prodding time, the producer will either set the batch level deliverAfter explicitly or implicitly (meaning the producerBatch code will set/adjust the batch level deliverAfter based on the message's deliverAfter inside the batch and in some cases it might decide to split the batch if the message level deliverAfter are too far apart.)
Performance
The enqueue of delayed topics will be a bit slower than the regular topic since we need to build the extra DeliverAfterIndex file.
...