Hi,
I am in the middle of writing a new KIP to introduced a new interface for
topic updates/creation/description that will allow MM2 to either uses the
default behaviour which uses Kafka AdminClient to create/update topics or
to use a customised one that integrates with the user's ecosystem where
they can call their Kafka resource management service to create a topic or
update the configuration of the topic. Would this be a possible solution
for your use case where you can provide a custom implementation that works
with your ecosystem to create the topic?

--
Omnia

On Mon, Jun 14, 2021 at 2:25 PM Igor Soarez <i...@soarez.me> wrote:

> Maybe it would be nice if it was possible to hook into or extend Admin
> client interactions, to allow for custom logic supporting use cases such as
> this.
> Scenarios where topic/resource management is centralized are probably not
> uncommon.
>
> --
> Igor
>
> On Sat, Jun 12, 2021, at 9:42 AM, Matthew de Detrich wrote:
> > Thanks Ryanne and Mickael
> >
> > I already suspected that something like this (i.e. current behaivior
> being
> > a deliberate design decision) was the case and I just wanted to confirm
> my
> > suspicions.
> >
> > I will relay this internally
> >
> > On Fri, 11 Jun 2021, 18:55 Mickael Maison, <mickael.mai...@gmail.com>
> wrote:
> >
> > > Hi Matthew,
> > >
> > > If an administrator want to control topic creation, they should use
> > > ACLs to prevents users creating topic. Relying on all applications to
> > > not create topics is unlikely to succeed.
> > >
> > > Each refresh.topics.interval.seconds, MM2 checks if it needs to create
> > > topics/partitions by comparing both clusters and also their previous
> > > states. If your automation is able to create new topics on both
> > > clusters, MM2 should detect them correctly and not attempt creating
> > > any topics. If a topic does not exist on the target cluster, MM2 will
> > > try creating it. If it fails, it will retry again at the next
> > > refresh.topics.interval.seconds until the topic gets created. However,
> > > it will also trigger a task reconfiguration each time which may have
> > > an impact on your mirroring throughput.
> > >
> > > On Fri, Jun 11, 2021 at 4:25 PM Ryanne Dolan <ryannedo...@gmail.com>
> > > wrote:
> > > >
> > > > Matthew, I wonder what the expected behavior would be when
> topic-creation
> > > > is disabled and MM is asked to replicate a topic that doesn't exist
> on
> > > the
> > > > target cluster? Maybe the task should fail at that point, or maybe it
> > > > should replicate whatever it can?
> > > >
> > > > I think the current behavior is reasonable, esp considering precedent
> > > from
> > > > Connect and Streams, both of which actively create topics as needed.
> > > >
> > > > But I understand the motivation. Have they considered revoking topic
> > > > creation permission using ACLs?
> > > >
> > > > Ryanne
> > > >
> > > > On Fri, Jun 11, 2021, 3:54 AM Matthew de Detrich
> > > > <matthew.dedetr...@aiven.io.invalid> wrote:
> > > >
> > > > > Hello everyone,
> > > > >
> > > > > We have an interesting feature request from a client regarding
> having
> > > the
> > > > > property of automatic topic creation to be reflected in a MM2.
> > > Specifically
> > > > > the current behaviour where if you have automatic topic creation
> set to
> > > > > false for the original Kafla cluster, MM2 configuration ignores
> this
> > > which
> > > > > means that if Kafka clients send messages to the MM2 then topics
> will
> > > still
> > > > > be automatically created on target cluster. The core problem here
> for
> > > the
> > > > > client is that our client wants to have complete control over how
> > > topics
> > > > > get created (i.e. with terraform setup scripts) and with the
> current
> > > > > behaviour this is not possible.
> > > > >
> > > > > Of course this poses other problems if we did want to change the
> > > behaviour
> > > > > as stated earlier, i.e. if you update the configuration for the
> > > original
> > > > > Kafka cluster then you get into open questions about how to reflect
> > > this
> > > > > configuration onto the mirror maket (this is why its called
> "mirror").
> > > Is
> > > > > making MM2 reflect that flag a feature that makes general or
> > > alternately is
> > > > > there another variation that makes more sense (i.e. having a
> separate
> > > > > specific property rather than reusing the current automatic topic
> > > creation
> > > > > one).
> > > > >
> > > > > There is a currently existing issue on this at
> > > > > https://issues.apache.org/jira/browse/KAFKA-12753
> > > > >
> > > > > @Ryanne @Mickael Since you guys are the main developers on MM/MM2
> what
> > > are
> > > > > your thoughts on this?
> > > > >
> > > > >
> > > > > --
> > > > >
> > > > > Matthew de Detrich
> > > > >
> > > > > *Aiven Deutschland GmbH*
> > > > >
> > > > > Immanuelkirchstraße 26, 10405 Berlin
> > > > >
> > > > > Amtsgericht Charlottenburg, HRB 209739 B
> > > > >
> > > > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen
> > > > >
> > > > > *m:* +491603708037
> > > > >
> > > > > *w:* aiven.io *e:* matthew.dedetr...@aiven.io
> > > > >
> > >
> >
>

Reply via email to