This is an automated email from the ASF dual-hosted git repository.
godfrey pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
from d0a5023f989 [FLINK-28632][sql-gateway][hive] Allow to
GetColumns/GetPrimaryKeys/GetTableTypes in the HiveServer2 Endpoint
new 8b25b969d41 [FLINK-28848][table-planner] Introduces LOOKUP join hint
to support delayed retry for lookup join (table alias unsupported in hint)
new fa6d62dd6bb [hotfix][table-planner] Use scala isInstanceOf to check
lookup function type instead of one-level parent class compartion in
LookupJoinCodeGenerator
new 3a2fc5ef34f [hotfix][runtime] Do last attempt without successfully
canceling the retry timer to prevent unexpected incomplete element during
finish phase in AsyncWaitOperator
new c5b5d436843 [FLINK-28849][table-planner] Fix errors when enable retry
on async lookup and add more tests
The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../api/operators/async/AsyncWaitOperator.java | 8 +-
.../table/planner/hint/FlinkHintStrategies.java | 90 ++++++
.../flink/table/planner/hint/FlinkHints.java | 6 +-
.../flink/table/planner/hint/JoinStrategy.java | 11 +-
.../table/planner/hint/LookupJoinHintOptions.java | 139 +++++++++
.../plan/nodes/exec/batch/BatchExecLookupJoin.java | 2 +
.../nodes/exec/common/CommonExecLookupJoin.java | 85 +++---
.../plan/nodes/exec/spec/LookupJoinHintSpec.java | 239 ++++++++++++++++
.../nodes/exec/stream/StreamExecLookupJoin.java | 5 +
.../planner/plan/optimize/JoinHintResolver.java | 20 +-
.../table/planner/plan/utils/LookupJoinUtil.java | 312 +++++++++++++++------
.../planner/codegen/LookupJoinCodeGenerator.scala | 5 +-
.../physical/common/CommonPhysicalLookupJoin.scala | 11 +-
.../physical/stream/StreamPhysicalLookupJoin.scala | 15 +-
.../BatchCommonSubGraphBasedOptimizer.scala | 14 +-
.../optimize/CommonSubGraphBasedOptimizer.scala | 11 +-
.../stream/StreamPhysicalLookupJoinRule.scala | 16 +-
...rJoinHintWithInvalidPropagationShuttleTest.java | 101 +------
...nHintWithInvalidPropagationShuttleTestBase.java | 128 +++++++++
...pJoinHintWithInvalidPropagationShuttleTest.java | 149 ++++++++++
.../factories/TestValuesRuntimeFunctions.java | 91 ++++++
.../planner/factories/TestValuesTableFactory.java | 52 +++-
.../batch}/BroadcastJoinHintTest.java | 2 +-
.../hints => hints/batch}/JoinHintTestBase.java | 4 +-
.../batch}/NestLoopJoinHintTest.java | 2 +-
.../batch}/ShuffleHashJoinHintTest.java | 2 +-
.../batch}/ShuffleMergeJoinHintTest.java | 2 +-
.../exec/serde/LookupJoinHintSpecSerdeTest.java | 51 ++++
.../nodes/exec/spec/LookupJoinHintSpecTest.java | 98 +++++++
.../nodes/exec/stream/LookupJoinJsonPlanTest.java | 68 ++++-
.../optimize/ClearQueryBlockAliasResolverTest.java | 2 +-
.../plan/optimize/JoinHintResolverTest.java | 2 +-
...upJoinHintWithInvalidPropagationShuttleTest.xml | 127 +++++++++
.../batch}/BroadcastJoinHintTest.xml | 0
.../hints => hints/batch}/NestLoopJoinHintTest.xml | 0
.../batch}/ShuffleHashJoinHintTest.xml | 0
.../batch}/ShuffleMergeJoinHintTest.xml | 0
.../testJoinTemporalTable.out | 2 +-
....out => testJoinTemporalTableWithAsyncHint.out} | 10 +-
...out => testJoinTemporalTableWithAsyncHint2.out} | 10 +-
...=> testJoinTemporalTableWithAsyncRetryHint.out} | 14 +-
...> testJoinTemporalTableWithAsyncRetryHint2.out} | 14 +-
...testJoinTemporalTableWithProjectionPushDown.out | 2 +-
....out => testJoinTemporalTableWithRetryHint.out} | 13 +-
.../plan/stream/sql/join/LookupJoinTest.xml | 226 +++++++++++++--
.../plan/metadata/FlinkRelMdHandlerTestBase.scala | 4 +-
.../plan/stream/sql/join/LookupJoinTest.scala | 218 +++++++++++++-
.../runtime/stream/sql/AsyncLookupJoinITCase.scala | 103 ++++++-
.../runtime/stream/sql/LookupJoinITCase.scala | 105 ++++++-
.../operators/join/lookup/ResultRetryStrategy.java | 69 +++++
.../lookup/RetryableLookupFunctionDelegator.java | 83 ++++++
.../join/RetryableLookupFunctionDelegatorTest.java | 103 +++++++
52 files changed, 2541 insertions(+), 305 deletions(-)
create mode 100644
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/hint/LookupJoinHintOptions.java
create mode 100644
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/spec/LookupJoinHintSpec.java
create mode 100644
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/alias/ClearJoinHintWithInvalidPropagationShuttleTestBase.java
create mode 100644
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/alias/ClearLookupJoinHintWithInvalidPropagationShuttleTest.java
rename
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/{batch/sql/join/hints
=> hints/batch}/BroadcastJoinHintTest.java (94%)
rename
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/{batch/sql/join/hints
=> hints/batch}/JoinHintTestBase.java (99%)
rename
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/{batch/sql/join/hints
=> hints/batch}/NestLoopJoinHintTest.java (94%)
rename
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/{batch/sql/join/hints
=> hints/batch}/ShuffleHashJoinHintTest.java (94%)
rename
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/{batch/sql/join/hints
=> hints/batch}/ShuffleMergeJoinHintTest.java (94%)
create mode 100644
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/nodes/exec/serde/LookupJoinHintSpecSerdeTest.java
create mode 100644
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/nodes/exec/spec/LookupJoinHintSpecTest.java
create mode 100644
flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/alias/ClearLookupJoinHintWithInvalidPropagationShuttleTest.xml
rename
flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/{batch/sql/join/hints
=> hints/batch}/BroadcastJoinHintTest.xml (100%)
rename
flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/{batch/sql/join/hints
=> hints/batch}/NestLoopJoinHintTest.xml (100%)
rename
flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/{batch/sql/join/hints
=> hints/batch}/ShuffleHashJoinHintTest.xml (100%)
rename
flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/{batch/sql/join/hints
=> hints/batch}/ShuffleMergeJoinHintTest.xml (100%)
copy
flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/nodes/exec/stream/LookupJoinJsonPlanTest_jsonplan/{testJoinTemporalTable.out
=> testJoinTemporalTableWithAsyncHint.out} (98%)
copy
flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/nodes/exec/stream/LookupJoinJsonPlanTest_jsonplan/{testJoinTemporalTable.out
=> testJoinTemporalTableWithAsyncHint2.out} (98%)
copy
flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/nodes/exec/stream/LookupJoinJsonPlanTest_jsonplan/{testJoinTemporalTable.out
=> testJoinTemporalTableWithAsyncRetryHint.out} (97%)
copy
flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/nodes/exec/stream/LookupJoinJsonPlanTest_jsonplan/{testJoinTemporalTable.out
=> testJoinTemporalTableWithAsyncRetryHint2.out} (97%)
copy
flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/nodes/exec/stream/LookupJoinJsonPlanTest_jsonplan/{testJoinTemporalTable.out
=> testJoinTemporalTableWithRetryHint.out} (97%)
create mode 100644
flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/operators/join/lookup/ResultRetryStrategy.java
create mode 100644
flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/operators/join/lookup/RetryableLookupFunctionDelegator.java
create mode 100644
flink-table/flink-table-runtime/src/test/java/org/apache/flink/table/runtime/operators/join/RetryableLookupFunctionDelegatorTest.java