> Didn't get this, can you clarify?

I think I misinterpreted previous reply where I thought we want to add
"eventTIme" field to avoid deserialization of  Message-Metadata so, I asked
question how to retrieve "eventTime" field without deserializing.

> It's certain that an application can use a (string -> string) property,
though it would be a custom field and it will need to be in string format
and also carry the field name.
But now, I understand actual reason for not using properties to avoid extra
"key" in the message and keeping int64 value instead string.

> It's also nice to expose both `getPublishTime()` and `getEventTime()`
directly in a consistent way.
Sure.

Thanks,
Rajan

On Wed, Aug 23, 2017 at 4:31 PM, Matteo Merli <matteo.me...@gmail.com>
wrote:

> > So, I believe in your usecase, we want to skip metadata-deserialization
> and
> > idea is to read only "EventTime" field (field-12) without deserializing
> > message-metada using ByteBuf-offset (eg: read last int64 using end of
> > metadata-index).? Don't you think it will prevent us to add additional
> > String-field in future because then it will be hard to know "EventTime"
> > index?
>
> Didn't get this, can you clarify?
>
> In my view, the event time is a common concept that can be useful in many
> scenarios, every time there is the chance for the message being published
> to refer to some event that happened before the publishing time.
>
> It's also nice to expose both `getPublishTime()` and `getEventTime()`
> directly in a consistent way.
>
> Finally, there will be zero overhead when the field is not set and very
> little when it's set.
>
> It's certain that an application can use a (string -> string) property,
> though it would be a custom field and it will need to be in string format
> and also carry the field name. I think event time is general enough to be
> considered as a built-in field and exposed in API.
>
> Matteo
>
> On Wed, Aug 23, 2017 at 4:23 PM Rajan Dhabalia <rdhaba...@apache.org>
> wrote:
>
> > > because this field might be accessed when processing every message. the
> > overhead in key/value property is much higher than an int64 field.
> >
> > I have the same concern as Andrews mentioned.
> > But a very quick implementation question: properties
> > <
> > https://github.com/apache/incubator-pulsar/blob/master/
> pulsar-common/src/main/proto/PulsarApi.proto#L47
> > >
> > field is also part of message-metadata only.
> > So, I believe in your usecase, we want to skip metadata-deserialization
> and
> > idea is to read only "EventTime" field (field-12) without deserializing
> > message-metada using ByteBuf-offset (eg: read last int64 using end of
> > metadata-index).? Don't you think it will prevent us to add additional
> > String-field in future because then it will be hard to know "EventTime"
> > index?
> >
> > Thanks,
> > Rajan
> >
> >
> > On Wed, Aug 23, 2017 at 3:56 PM, Sijie Guo <guosi...@gmail.com> wrote:
> >
> > > On Wed, Aug 23, 2017 at 3:19 PM, Sahaya Andrews <andr...@apache.org>
> > > wrote:
> > >
> > > > If this is not going to be used by the broker for anything, why can't
> > > > this be set in message property key/value?
> > > >
> > >
> > > Currently it is not used by broker. However, we might leverage field
> > later
> > > on to provide advanced features like event-time based index. It is not
> > > covered by this proposal.
> > >
> > > Also there is another consideration - adding this field to message
> > metadata
> > > is more serialization friendly than putting it into key/value property.
> > > this is important for stream computing,
> > > because this field might be accessed when processing every message. the
> > > overhead in key/value property is much higher than an int64 field.
> > >
> > > Hope this make sense.
> > >
> > > - Sijie
> > >
> > >
> > > >
> > > > Andrews
> > > >
> > > > On Wed, Aug 23, 2017 at 3:03 PM, Matteo Merli <mme...@apache.org>
> > wrote:
> > > > > Proposal looks good to me.
> > > > >
> > > > > Added to wiki:
> > > > > https://github.com/apache/incubator-pulsar/wiki/PIP-5:-Event-time
> > > > >
> > > > > On Wed, Aug 23, 2017 at 2:52 PM Sijie Guo <guosi...@gmail.com>
> > wrote:
> > > > >
> > > > >> Hi pulsar folks,
> > > > >>
> > > > >> Currently Pulsar messages has fields for `publish_time`. However
> in
> > > some
> > > > >> use cases for example stream computing, `event_time` is required.
> > I'd
> > > > like
> > > > >> to start a proposal to add `event_time` support to pulsar
> messages.
> > > > >>
> > > > >> This proposal only covers adding `event_time` to pulsar messages
> and
> > > > make
> > > > >> it available to both producers and subscribers. It doesn't cover
> > > > advanced
> > > > >> features, such as event-time index or rewind subscriptions based
> on
> > > > >> event-time.
> > > > >>
> > > > >> I created the proposal here:
> > > > >> https://gist.github.com/sijie/60324cc892643961b923593a597109ab
> > > > >>
> > > > >> Please go over and provide your feedback/comments.
> > > > >>
> > > > >> Also, since I don't have any permissions on writing pulsar wiki
> > pages,
> > > > can
> > > > >> any pulsar committers help me add this PIP to the wiki pages if it
> > is
> > > > >> accepted?
> > > > >>
> > > > >> - Sijie
> > > > >>
> > > > > --
> > > > > Matteo Merli
> > > > > <mme...@apache.org>
> > > >
> > >
> >
> --
> Matteo Merli
> <mme...@apache.org>
>

Reply via email to