Versions Compared

Key

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

...

Public Interfaces

The KIP proposes add adding flexibility to how MM2 manage Kafka resources. 

...

  1. Adding a new interface called KafkaResourceManager ("the original proposal") that defines how MM2 will create, modify, and list any Kafka topics and ACLs. MirrorMaker2’s original behaviour will be kept in DefaultResourceManager.

    The implemented class can be overridden using the following configurations.

    • resource.manager.class default value will be set to DefaultResourceManager
    • or can be configured based on cluster aliases using <cluster_alias>.resource.manager.class
    The downside with this is it may create confusing for users between Admin and ResourceManager 
  2. Allow MM2 to load different implementation of Admin interface

...

      1.  The Admin interface has 86 methods, and MM2 depends on 13 of them; this means any custom implementation of the Admin interface will be humongous. The user will need to return "NotImplementedException" for 73 methods that MM2 does not use. 
      2. MM2 interactions with AdminClient is not listed in one place, so it's bit hard to list what interfaces you need to implement to MM2. 
      3. Keeping up with the AdminClient interface which is enormous. 


Proposed Changes

There're 2 potential solutions under discussion now: 

1. Add new interface for MM2 to manage resources KafkaResourceManager 

...