Reason for this issue is most likely due to Kafka's internal cleanup. The Kafka broker config log.retention.check.interval.ms (which is set to 5 minutes per default) controls how often expired records are deleted. Since we set log retention time to 10 seconds, every 5 minutes all record which are older than 10 seconds are deleted. This causes the consumer to skip a lot of offsets, resulting in a significant increase in the lag.
We have yet to explore why this happens only with the new workload generator.
The issue arise due to a bug in AbstractWorkloadGenerator.java#L101, where the message (and thus its timestamp) is only generated once instead of a new message, whenever it should be sent.