Current state: Adopted
Discussion thread: here
Voting thread: here
JIRA:
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Currently there are two mirror-maker implementations, the original MirrorMaker and MirrorMaker 2 (MM2), the latter being a complete rewrite leveraging the Connect framework. We believe MirrorMaker 2 is an improvement over the original MirrorMaker when it comes to reliability and functionality for the majority of use cases. We intend to focus on MirrorMaker 2 for future development and hence we propose deprecating the original first version of MirrorMaker with the intention to remove it completely in the future.
No API changes are proposed.
Legacy MirrorMaker classes will be marked deprecated but kept in-place. The mirror-maker.sh command-line tool will be modified to include a deprecation warning.
No functional changes at this point. In the subsequent major release (4.0), we can remove the legacy mirror-maker.sh command-line tool and related code entirely.
N.B. prior to removing MM1 (in v4.0) we will need to land IdentityReplicationPolicy (aka LegacyReplicationPolicy), as described in KIP-382, which provides for use-cases that MM2 cannot otherwise handle out-of-the-box. Various IdentityReplicationPolicy implementations can be found floating around in the meantime.