[
https://issues.apache.org/jira/browse/FLINK-38052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18007649#comment-18007649
]
Kartikey Pant edited comment on FLINK-38052 at 7/16/25 7:26 PM:
----------------------------------------------------------------
Hi [~lsy],
I have completed the release testing for this ticket. The feature works as
expected in its primary streaming mode. Detailed test results are below.
* *Tests 1 & 2 (Correctness): Passed.*
** *Method:* A deterministic 3-way join was performed using the
*{{filesystem}}* connector for both {{INNER}} and {{LEFT}} joins.
** *Outcome:* The materialized results were verified to be identical when
running with {{table.optimizer.multi-join.enabled}} set to {{true}} versus
{{{}false{}}}.
* *Test 3 (EXPLAIN Plan): Passed.*
** *Method:* The {{EXPLAIN}} command was used on large {{INNER JOIN}} queries
(from 5-way up to 30-way). This was tested on *{{datagen}}* sources both with
and without a declared primary key.
** *Outcome:* The resulting physical plan correctly contained the
{{MultiJoin}} operator in all cases, confirming the new optimization was being
triggered as expected.
* *Test 4 (Stability): Passed.*
** *Method:* Large-scale joins (up to 30-way) were executed live against
*{{datagen}}* streaming sources.
** *Outcome:* The jobs ran successfully without any logic errors or crashes,
demonstrating the stability of the operator.
As a side note, it was observed that the operator throws a
{{NullPointerException}} when the query source is a batch-style
{{WITH...VALUES}} clause. This may be an expected behavior or an untested edge
case, given the feature's focus on streaming mode, but I wanted to document it.
was (Author: JIRAUSER301503):
Hi team,
I have completed the release testing for this ticket. The feature works as
expected in its primary streaming mode. Detailed test results are below.
h3. *Test Results*
* *Tests 1 & 2 (Correctness): Passed.*
** *Method:* A deterministic 3-way join was performed using the {{filesystem}}
connector for both {{INNER}} and {{LEFT}} joins.
** *Outcome:* The materialized results were verified to be identical when
running with {{table.optimizer.multi-join.enabled}} set to {{true}} versus
{{{}false{}}}.
* *Test 3 (EXPLAIN Plan): Passed.*
** *Method:* The {{EXPLAIN}} command was used on large {{INNER JOIN}} queries
(up to 10-way). This was tested on sources both with and without a declared
primary key.
** *Outcome:* The resulting physical plan correctly contained the
{{MultiJoin}} operator in all cases, confirming the new optimization was being
triggered as expected.
* *Test 4 (Stability): Passed.*
** *Method:* Large-scale joins (up to 30-way) were executed live against
streaming sources.
** *Outcome:* The jobs ran successfully without any logic errors or crashes,
demonstrating the stability of the operator.
> Release Testing: Verify FLIP-516: New Streaming Multi-Way Join Operator
> -----------------------------------------------------------------------
>
> Key: FLINK-38052
> URL: https://issues.apache.org/jira/browse/FLINK-38052
> Project: Flink
> Issue Type: Sub-task
> Components: Table SQL / Planner
> Affects Versions: 2.1.0
> Reporter: dalongliu
> Assignee: Kartikey Pant
> Priority: Blocker
> Labels: release-testing
> Fix For: 2.1.0
>
>
> This issue aims to verify FLIP-516.
> We now support a StreamingMultiJoinOperator that performs a join across N
> tables without intermediate state. We've done some testing and observed
> considerable performance and state improvements for multiple chained joins
> when they record amplification.
>
> Now we'd like to have some cross team testing to validate it. We want to
> cover the following cases
> * Test 1: Enable multi joins, confirm 2/3 way inner joins are supported and
> produce correct results. Materialized results should be the same as binary
> joins.
> * Test 2: Enable multi joins, confirm 2/3 way left joins are supported and
> produce correct results. Materialized results should be the same as binary
> joins.
> * Test 3: Enable 5, 10, 20, x-way joins with/without primary keys and
> confirm output plans look good with `explain`.
> * Test 4: Enable 5, 10, 20, x-way joins with/without primary keys and
> confirm they run as expected - checking results' correctness here is usually
> complicated and not strictly required.
>
> Multi joins can be enabled with ??SET 'table.optimizer.multi-join.enabled' =
> 'true';.?? Currently, we have streaming mode support for inner and left joins.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)