raminqaf commented on code in PR #26775:
URL: https://github.com/apache/flink/pull/26775#discussion_r2209455299
##########
docs/content/docs/dev/table/tuning.md:
##########
@@ -302,3 +302,69 @@ The execution of mini-batch join operator are as shown in
the figure below.
MiniBatch optimization is disabled by default for regular join. In order to
enable this optimization, you should set options
`table.exec.mini-batch.enabled`, `table.exec.mini-batch.allow-latency` and
`table.exec.mini-batch.size`. Please see [configuration]({{< ref
"docs/dev/table/config" >}}#execution-options) page for more details.
{{< top >}}
+
+## Multiple Regular Joins
+
+{{< label Streaming >}}
+
+Streaming Flink jobs with multiple non-temporal regular joins often experience
operational instability and performance degradation due to large state sizes.
This is often because the intermediate state created by a chain of joins is
much larger than the input state itself. In Flink 2.1, we introduce a new
multi-join operator, an optimization designed to significantly reduce state
size and improve performance for join pipelines that involve record
amplification and large intermediate state. This new operator eliminates the
need to store intermediate state for joins across multiple tables by processing
joins across various input streams simultaneously. This "zero intermediate
state" approach primarily targets state reduction, offering substantial
benefits in resource consumption and operational stability.
Review Comment:
I think the "multi-join (MultiJoin)" combined with "operator" is well
understood in the docs. Moreover, the system option can be set as
```
SET 'table.optimizer.multi-join.enabled' = 'true';
```
Which uses `multi-join` and keeps the consistency.
--
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]