Versions Compared

Key

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

...

  • There is currently an implementation of both the original motivation (implemention IdentityReplicationPolicy aka LegacyReplicationPolicy) at https://github.com/apache/kafka/pull/10648. There are not any backwards breaking behavior changes however custom ReplicationPolicies that implement the ReplicationPolicy interface would need to implement the canTrackSource method. For this reason its recommended to do this change in a new release of Kafka (ideally since there is a default implementation however it would be ideal to do this change for Kafka 3.0.0 )since we are doing adjustments to a public interface.

Rejected Alternatives

Although technically not a rejected alternative there is an alternative proposal for a Legacy/Identity ReplicationPolicy at https://github.com/apache/kafka/pull/10652 which attempts to solve the same problem without needing to make adjustments to the ReplicationPolicy. Do note however that this implementation is currently not working (tests are failing) and that arguably the implementation at https://github.com/apache/kafka/pull/10648 is a cleaner solution since doesn't need to back calculate the source from topic names. Hence there is an argument that irrespective of the IdentityReplicationPolicy, adding such a method can make custom implementations of a ReplicationPolicy cleaner