Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A specific scenario where this really matters the current behavior causes date "loss" is when a MirrorMaker is subscribed to a regex pattern. If auto-topic creation is enabled on the cluster, and you start producing to a non-existent topic that matches the regex, then there will be a period of time where the producer is producing before the new topic's partitions have been picked up by the MirrorMaker. Those messages will never be consumed by the MirrorMaker because it will start from latest, ignoring those just-produced messages.

...

This will be a silent breaking change since it flips the behavior around. 

Existing mirrormakers will be unaffected for any topics they are currently consuming since they already have a saved offset.

Mirrormakers that start consuming topics for which they don't have a saved offset will start replicating the partitions from the beginning, rather than from the partition's current highwater mark. If the mirrormaker starts consuming a very large partition/topic, it will replicate far more data than expectedpreviously. This has relatively low probability since most of these topics are going to be topics that get replicated are newly-created topics anyway, so most of the time , in which case starting from the earliest simply prevents skipping the first few seconds/minutes of data written to the topic.Existing mirrormakers will be unaffected for any topics they are currently consuming since they already have a saved offset.

Since MirrorMaker 2.0 already behaves this way, this change will make future migrations from MM1 to MM2 easier for folks since the behavior will stop changing between them.

...