DanielLeens commented on issue #11364: URL: https://github.com/apache/seatunnel/issues/11364#issuecomment-5570390779
Thanks @CryoThrust. I agree that freshness and value quality must remain independent. The current #11512 head already retains `executionAttemptId`, `reportSequence`, and `observedAt` in its coordinator-side envelope, and its latest-report comparison rejects a lower attempt or, within an attempt, a non-increasing sequence. That ordering identity should remain visible in the normalized latest snapshot rather than being discarded during aggregation. For the contract, keep `EXACT`, `BEST_EFFORT`, `UNSUPPORTED`, and `UNAVAILABLE` as per-fact value-quality semantics. Derive freshness separately from observation time and the configured freshness policy: an old exact value must be presented as stale, but its underlying quality must not be rewritten from `EXACT` to `STALE`. A newer report with `BEST_EFFORT` or `UNSUPPORTED` must likewise remain fresh if it was observed within the window. Please add deterministic coverage for an old-attempt report arriving after a newer attempt, an out-of-order sequence within one attempt, an old exact value crossing the freshness boundary, and a fresh best-effort or unsupported value. The metrics boundary should expose only bounded freshness/quality aggregates, never positions or report identities as labels. This is a contract clarification, not a signal to broaden the current implementation. #11512 and its dependent draft #12137 both currently have failed Build checks, so the foundation must first be corrected, independently reviewed, and merged before a validation follow-up or public contract is considered complete. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
