This is not included in this KIP, but I'm wondering if we should still
support forwarding to a child with index.

Because 1) if users are using DSL, they would probably never use this API
since the ordering of the child is hard to reason from a DSL anyways.
               2) if users are using PAPI, they would just use the other
overload with child name.

In fact the index currently is only used at KStream.branch internally, and
maybe we can just keep a map from predicate to child name inside Filter
operator, so that we do not use it at all. Just as a hindsight, I feel this
overloading API is not useful to users at all.


Guozhang


On Thu, Feb 1, 2018 at 5:05 PM, Matthias J. Sax <matth...@confluent.io>
wrote:

> Thanks.
>
> I updated the KIP accordingly and started work on the PR to see if this
> `To` interface work nicely.
>
> -Matthias
>
> On 2/1/18 4:00 PM, Ted Yu wrote:
> > Yeah.
> > Cleaner in this formation.
> >
> > On Thu, Feb 1, 2018 at 3:59 PM, Bill Bejeck <bbej...@gmail.com> wrote:
> >
> >> `To` works for me.
> >>
> >> Thanks,
> >> Bill
> >>
> >> On Thu, Feb 1, 2018 at 6:47 PM, Matthias J. Sax <matth...@confluent.io>
> >> wrote:
> >>
> >>> @Paolo:
> >>>
> >>> The timestamp will be used to set the message/record metadata timestamp
> >>> on `Producer.send(new ProducerRecord(...,timestamp,...))`.
> >>>
> >>> @Bill,Ted:
> >>>
> >>> Might be a good idea. I was thinking about the name, and came up with
> >> `To`:
> >>>
> >>>> context.forward(key, value, To.child("processorX").withTimestamp(5));
> >>>> context.forward(key, value, To.child(1).withTimestamp(10));
> >>>
> >>> Without specifying the downstream child processor:
> >>>
> >>>> context.forward(key, value, To.all().withTimestamp(5));
> >>>
> >>> WDYT?
> >>>
> >>>
> >>> -Matthias
> >>>
> >>> On 2/1/18 8:45 AM, Ted Yu wrote:
> >>>> I like Bill's idea (pending a better name for the Forwarded).
> >>>>
> >>>> Cheers
> >>>>
> >>>> On Thu, Feb 1, 2018 at 7:47 AM, Bill Bejeck <bbej...@gmail.com>
> wrote:
> >>>>
> >>>>> Hi Matthias,
> >>>>>
> >>>>> Thanks for the KIP!
> >>>>>
> >>>>> Could we consider taking an approach similar to what was done in
> >> KIP-182
> >>>>> with regards to overloading?
> >>>>>
> >>>>> Meaning we could add a "Forwarded" object (horrible name I know) with
> >>>>> methods withTimestamp, withChildName, and withChildIndex. To handle
> >> the
> >>>>> case when both a child-name and child-index is provided we could
> throw
> >>> an
> >>>>> exception.
> >>>>>
> >>>>> Then we could reduce the overloaded {{forward}} methods from 6 to 2.
> >>>>>
> >>>>> Thanks,
> >>>>> Bill
> >>>>>
> >>>>>
> >>>>> On Thu, Feb 1, 2018 at 3:49 AM, Paolo Patierno <ppatie...@live.com>
> >>> wrote:
> >>>>>
> >>>>>> Hi Matthias,
> >>>>>>
> >>>>>> just a question : what will be the timestamp "type" in the new
> >> message
> >>> on
> >>>>>> the wire ?
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Paolo.
> >>>>>> ________________________________
> >>>>>> From: Matthias J. Sax <matth...@confluent.io>
> >>>>>> Sent: Wednesday, January 31, 2018 2:06 AM
> >>>>>> To: dev@kafka.apache.org
> >>>>>> Subject: [DISCUSS] KIP-251: Allow timestamp manipulation in
> Processor
> >>> API
> >>>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> I want to propose a new KIP for Kafka Streams that allows timestamp
> >>>>>> manipulation at Processor API level.
> >>>>>>
> >>>>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-
> >>>>>> 251%3A+Allow+timestamp+manipulation+in+Processor+API
> >>>>>>
> >>>>>> Looking forward to your feedback.
> >>>>>>
> >>>>>>
> >>>>>> -Matthias
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>>
> >>
> >
>
>


-- 
-- Guozhang

Reply via email to