Repository navigation
Replies: 3 comments 2 replies
|
As a small side note, this code seems counter intuitive: error!(
...
is_late = ?msg.is_late,
...
);
increment_late_message_drop_metric("old-message-popped-up");This part of the code can be reached for both Maybe the helper function |
0 replies
|
Looks like a bug to me. Do you see |
1 reply
|
We should avoid old message check for late messages, this PR should fix it. We will track it as part of v1.9.1 release. Thanks for reporting! |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
We use a streamsorter accumulator to sort events.
The source even_times can only be slightly unordered, so we have
maxDelay: 10son the pipeline spec.The accumulator is dropping late events with DEBUG
Late message detected, dropping, and we see theforwarder_drop_metricgrow.We figured out that we were missing the allowedLateness | API setting on the accumulator. So we just set it to a high value
allowedLateness: 10m.But, that caused us to now get a different ERROR
Old message popped up, Watermark has progressed past event time, andforwarder_drop_metricstill high.The code in question should be (unaligned/reducer.rs):
The intent of the first block is the drop
is_lateevents, unless they are still within theallowed_latenessrange.But, the second blok still catches any message
self.current_watermark > msg.event_timewith (includingis_latemessages), despite the events being inside theallowedLatenessrange.So, the
allowed_latenesssetting seems to have no effect for late messages, except for a different log message.All reactions