[FLINK-39785][table] Add e2e tests for LateralSnapshotJoin#28713
Open
fhueske wants to merge 5 commits into
Open
[FLINK-39785][table] Add e2e tests for LateralSnapshotJoin#28713fhueske wants to merge 5 commits into
fhueske wants to merge 5 commits into
Conversation
…OAD/JOIN execution Stateful keyed two-input operator backing LATERAL SNAPSHOT joins. * Two phases (LOAD/JOIN) gated by an operator UnionListState; mixed-phase rescale collapses to LOAD. Flip triggers: build-side WM reaches loadCompletedTime, or a processing-time idle-timeout fallback. * Probe records are buffered in LOAD and joined on flip. Build-side changes are buffered per-key and applied lazily in event-time order on the next per-key access once the build-side WM advanced, preserving atomic -U/+U visibility. * Watermarks: build-side absorbed; probe-side held back in LOAD, forwarded in JOIN. NULL equi-keys filtered via JoinConditionWithNullFilters. * State TTL via keyed processing-time timers with a post-flip grace window; rearms are amortized so effective time-to-eviction is in [1.0×, 1.5×] stateTtlMs. Generated-By: Claude Opus 4.7 (1M context)
… operator Rewrites a join over a SNAPSHOT table function in a LATERAL clause into a dedicated FlinkLogicalLateralSnapshotJoin and converts it to a StreamPhysicalLateralSnapshotJoin / StreamExecLateralSnapshotJoin backed by the LateralSnapshotJoinOperator. The nodes derive their own output row type (materializing the build-side rowtime) and carry the SNAPSHOT arguments as fields. Generated-By: Claude Opus 4.8 (1M context)
Adds ForbidSnapshotOutsideLateralRule, which rejects any SNAPSHOT scan that survives the LATERAL SNAPSHOT rewrite with a clear message instead of failing later in the generic PTF translation. Generated-By: Claude Opus 4.8 (1M context)
…h-down source Wire the existing source.sleep-after-elements / source.sleep-time options into TestValuesScanTableSourceWithWatermarkPushDown Generated-By: Claude Opus 4.8 (1M context)
Adds end-to-end coverage for the LATERAL SNAPSHOT processing-time temporal join: * LateralSnapshotJoinITCase: result tests over HEAP and ROCKSDB backends covering different configurations and input scenarios * LateralSnapshotJoinRestoreTest / LateralSnapshotJoinTestPrograms: savepoint restore tests Generated-By: Claude Opus 4.8 (1M context)
Collaborator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is the purpose of the change
This PR adds end-2-end and restore tests for the LATERAL SNAPSHOT join.
This PR builds on the following PRs: #28329, #28664, and #28674.
Only the last two commits are part of this PR.
Brief change log
LateralSnapshotJoinITCaseLateralSnapshotJoinTestProgramsVerifying this change
This is a tests-only PR.
Does this pull request potentially affect one of the following parts:
@Public(Evolving): noDocumentation
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code 2.1.200 (Opus 4.8)