Has anyone experienced this or has any clue?

On Tue, Jun 14, 2022 at 6:21 PM bat man <tintin0...@gmail.com> wrote:

> Hi,
>
> We are using flink 12.1 on AWS EMR. The job reads the event stream and
> enrich stream from another topic.
> We extend AssignerWithPeriodicWatermarks to assign watermarks and extract
> timestamp from the event and handle idle source partitions.
> AutoWatermarkInterval set to 5000L.
>  The timestamp extractor looks like below -
>
>         @Override
>         public long extractTimestamp(Raw event, long
> previousElementTimestamp) {
>             lastRecordProcessingTime = System.currentTimeMillis();
>             Double eventTime =
>
> Double.parseDouble(event.getTimestamp().toString()).longValue();
>             long timestamp = Instant.ofEpochMilli(eventTime
> *1_000).toEpochMilli();
>             if (timestamp > currentMaxTimestamp) {
>                 currentMaxTimestamp = timestamp;
>             }
>             return timestamp;
>         }
>
> Second step the rules are joined to events, this is done in keyedprocess
> function.
> What we have observed is that at times when the job starts consuming from
> the beginning of the event source stream, the timestamp accessed in
> the keyedprocess fn using context.timestamp comes as null and the code is
> throwing NPE.
> This happens only for some records intermittently and the same event when
> we try to process in another environment it processes fine, that means the
> event is getting parsed fine.
>
> What could be the issue, anyone has any idea, because as far as timestamp
> goes it could only be null if the timestamp extractor sends null.
>
> Thanks.
>

Reply via email to