weiqingy opened a new pull request, #29497: URL: https://github.com/apache/flink/pull/29497
This is the last PR of the FLIP-497 implementation stack under umbrella [FLINK-36953](https://issues.apache.org/jira/browse/FLINK-36953). Landing order: | Step | Sub-task | Scope | | --- | --- | --- | | PR-1a | [FLINK-40167](https://issues.apache.org/jira/browse/FLINK-40167) | EARLY_FIRE hint surface + option validation (#28353, merged) | | PR-1b | [FLINK-40168](https://issues.apache.org/jira/browse/FLINK-40168) | Thread the hint into the interval join (#28796, merged) | | PR-2 | [FLINK-40169](https://issues.apache.org/jira/browse/FLINK-40169) | `target` option (#28827, merged) | | PR-3 | [FLINK-40170](https://issues.apache.org/jira/browse/FLINK-40170) | Update-producing changelog mode + insert-only guard (#28877, merged) | | PR-4 | [FLINK-40171](https://issues.apache.org/jira/browse/FLINK-40171) | Runtime early-fire emit + retraction (#28952, merged) | | PR-5 | [FLINK-40172](https://issues.apache.org/jira/browse/FLINK-40172) | Processing-time early fire on an event-time join (#28953, merged) | | PR-6 | [FLINK-40173](https://issues.apache.org/jira/browse/FLINK-40173) | State restore coverage (#29045, merged) | | **PR-7 (this PR)** | [FLINK-40174](https://issues.apache.org/jira/browse/FLINK-40174) | User-facing documentation | ## What is the purpose of the change Documents the `EARLY_FIRE` hint for SQL interval joins, which shipped in PR-1a to PR-6 but has no user-facing docs yet. ## Brief change log - Add an "Early Fire for Outer Interval Joins" subsection under Interval Joins in `joins.md`, EN and ZH. It covers the speculative null-padded emission and its `-U`/`+U` correction, the `target`/`delay`/`time-mode` options, the outer-join-only scope, and that the hint is unrelated to the window-aggregation `table.exec.emit.early-fire.*` options. - The example reuses the Orders/Shipments shape from the existing interval join example on the same page. ## Verifying this change This change is documentation only. Every claim was checked against the merged code: - `delay` is required and must be at least 1 ms (`FlinkHintStrategies`). It is measured from the row's time attribute in `rowtime` mode and from processing time in `proctime` mode (`TimeIntervalJoin#scheduleEarlyFire`). - `target` accepts only `interval_join` (`FlinkHintStrategies`). `time-mode` defaults to the join's own time domain, and `rowtime` on a processing-time join fails planning (`StreamPhysicalIntervalJoinRule`). - Early fire is armed only for outer joins with a non-negative window, and each outer row fires at most once (`TimeIntervalJoin`). - The `proctime`-on-event-time mode keeps extra per-input schedule state (`IntervalJoinLeft/RightEarlyFireSchedule`). The Hugo build and link check run in CI for `docs/**` changes. ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): no - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: no - The serializers: no - The runtime per-record code paths (performance sensitive): no - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no - The S3 file system connector: no ## Documentation - Does this pull request introduce a new feature? no (documents the FLIP-497 hint) - If yes, how is the feature documented? docs --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes (please specify the tool below) Generated-by: Claude Code (Anthropic) -- 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]
