Table of Contents |
---|
Status
Current state: Adopted
Under Discussion thread: here
Discussion Voting thread: pending here
JIRA:
Jira | ||||||
---|---|---|---|---|---|---|
|
...
Currently there are two mirror-maker implementations, the original MirrorMaker and MirrorMaker 2 (MM2), the latter being a complete rewrite leveraging the Connect framework. While the original MirrorMaker remains useful, we want to take advantage of the upcoming 3.0 major release to officially deprecate this legacy code 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.
Public Interfaces
No API changes are proposed.
...
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.
Rejected Alternatives
- We could provide a shim between the legacy command-line tool and the new connect-based implementation, as originally proposed in KIP-382. However, given the length of time between major releases, it doesn't seem necessary to make the transition between MM1 and MM2 quite so frictionless. Instead, users will have a long time and ample warning to transition away from MM1 at their own pace. If, for some reason, a new major release lands sooner than expected, we can revisit this decision.