Skip to content

feat(eap): drop out of range data. - #8566

Open
tryangul wants to merge 2 commits into
masterfrom
rbroughan/filter-out-of-range-data
Open

tryangul wants to merge 2 commits into
masterfrom
rbroughan/filter-out-of-range-data

Conversation

@tryangul

@tryangul tryangul commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

What

Re-adds the out-of-range timestamp drop removed in #8222, but bounded by item retention instead of a flat 30 days.

How

  • eap_items_drop_invalid_timestamps option is back, default false
  • eap-items processor drops items older than retention_days or >7d in the future, before the age DLQ check
  • Accepted outcomes aggregator applies the same check so dropped items aren't billed
  • *.dropped_out_of_range_timestamp{reason, item_type} metrics restored. reason:past_ts|future_ts matches dlqed_prior_partition
  • out_of_valid_interval_secs rewritten for readability. Boundaries are the same (exactly-at-retention / exactly +7d are kept)

Why

  • Reduces load on CH and ZK caused by tiny parts for old data that's dropped by TTLs immediately
  • We have backlog of old date in the DLQ we need to burn down which would otherwise inflict a bunch of tiny part load on us

Notes

  • Known limitation, same as before ref(eap-items): remove eap_items_drop_invalid_timestamps #8222: both consumers check against their own Utc::now() and read the option independently. Different lag means a message can be dropped by one and kept by the other around the flip or right at a boundary. Should be negligible.

Links

@tryangul
tryangul requested a review from a team as a code owner October 19, 2026 21:49
@linear-code

linear-code Bot commented Oct 19, 2026

Copy link
Copy Markdown

INC-2585

metadata: &KafkaMessageMetadata,
config: &ProcessorConfig,
) -> anyhow::Result<ProcessedItem> {
) -> anyhow::Result<Option<ProcessedItem>> {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: Result<Option< is a bit of a code smell, but this keeps the diff tight and unblocks us in the interest of time / effort (things will start aging out the the DLQ in a little over 24 hours)

@tryangul
tryangul requested a review from a team October 19, 2026 22:43

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant