[FLINK-40466][table] Refactor defining table arguments in PTF Test Harness for more complex table arguments - #29018
Merged
fhueske merged 1 commit intoSep 3, 2026
Conversation
Collaborator
autophagy
force-pushed
the
FLINK-40466-harness-table-argument-builder
branch
2 times, most recently
from
August 25, 2026 21:03
d7160ff to
ccebaea
Compare
fhueske
approved these changes
Sep 3, 2026
fhueske
left a comment
Contributor
There was a problem hiding this comment.
Thanks for the refactoring.
I agree, it's much nicer this way. Backwards compatibility is not an issue since this feature has not been released yet.
I left one bikeshedding comment, feel free to ignore if you disagree.
Just let me know if you'd like to adjust or merge as is.
Cheers, Fabian
| ProcessTableFunctionTestHarness.ofClass(DoublePTF.class) | ||
| .withTableArgument("input", DataTypes.of("ROW<value INT>")) | ||
| .withTableArgument( | ||
| TableArgument.forArgument("input") |
Contributor
There was a problem hiding this comment.
nit
TableArgument.forArgument() reads a bit repetitive. What do you think about this:
Suggested change
| TableArgument.forArgument("input") | |
| TableArgument.name("input") |
or forName()?
Contributor
Author
There was a problem hiding this comment.
I think forName is great (and yes, less repetitive 😅 )
…rness for more complex table arguments
autophagy
force-pushed
the
FLINK-40466-harness-table-argument-builder
branch
from
September 3, 2026 11:42
ccebaea to
65b320c
Compare
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
While working on extending
ProcessTableFunctionTestHarnessto better support changelog processing modes and order by/late data handling, I noticed the current way of building table arguments started suffer from duplicated effort. For example, it started resulting in an API surface shape that looked like:Defining these features of the table argument, reusing the same string table argument id over and over again, seemed fragile and repetitious. This PR replaces this way of defining table arguments with a builder, so the above example might look like this instead:
This change removes the previous API surface for defining a table argument, plus removes the old partition by method. I figured since this is still public evolving and unreleased, mutating the api surface here is still okay. Happy to be corrected though!
Brief change log
Verifying this change
This change is already covered by existing tests, such as the
ProcessTableFunctionTestHarnessTestclass.Does this pull request potentially affect one of the following parts:
@Public(Evolving): (yes)Documentation