Hello Florian,

Thanks for the KIP. I have some meta feedbacks on the proposal:

1. You mentioned that this `Processed` object will be added to a new
overloaded variant of all the stateless operators, what about the stateful
operators? Would like to hear your opinions if you have thought about that:
note for stateful operators they will usually be mapped to multiple
processor node names, so we probably need to come up with some ways to
define all their names.

2. I share the same concern with Bill as for adding lots of new overload
functions into the stateless operators, as we have just spent quite some
effort in trimming them since 1.0.0 release. If the goal is to just provide
some "hints" on the generated processor node names, not strictly enforcing
the exact names that to be generated, then how about we just add a new
function to `KStream` and `KTable` classes like: "as(Processed)", with the
semantics as "the latest operators that generate this KStream / KTable will
be named accordingly to this hint".

The only caveat, is that for all operators like `KStream#to` and
`KStream#print` that returns void, this alternative would not work. But for
the current operators:

a. KStream#print,
b. KStream#foreach,
c. KStream#to,
d. KStream#process

I personally felt that except `KStream#process` users would not usually
bother to override their names, and for `KStream#process` we could add an
overload variant with the additional Processed object.


3. In your example, the processor names are still added with a suffix like "
-0000000000", is this intentional? If yes, why (I thought with user
specified processor name hints we will not add suffix to distinguish
different nodes of the same type any more)?


Guozhang


On Tue, May 29, 2018 at 6:47 AM, Bill Bejeck <bbej...@gmail.com> wrote:

> Hi Florian,
>
> Thanks for the KIP.  I think being able to add more context to the
> processor names would be useful.
>
> I like the idea of adding a "withProcessorName" to Produced, Consumed and
> Joined.
>
> But instead of adding the "Processed" parameter to a large percentage of
> the methods, which would result in overloaded methods (which we removed
> quite a bit with KIP-182) what do you think of adding a method
> to the AbstractStream class "withName(String processorName)"? BTW I"m not
> married to the method name, it's the best I can do off the top of my head.
>
> For the methods that return void, we'd have to add a parameter, but that
> would at least cut down on the number of overloaded methods in the API.
>
> Just my 2 cents.
>
> Thanks,
> Bill
>
> On Sun, May 27, 2018 at 4:13 PM, Florian Hussonnois <fhussonn...@gmail.com
> >
> wrote:
>
> > Hi,
> >
> > I would like to start a new discussion on following KIP :
> > https://cwiki.apache.org/confluence/display/KAFKA/KIP-
> > 307%3A+Allow+to+define+custom+processor+names+with+KStreams+DSL
> >
> > This is still a draft.
> >
> > Looking forward for your feedback.
> > --
> > Florian HUSSONNOIS
> >
>



-- 
-- Guozhang

Reply via email to