Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

LookupJoinRules would check whether FlinkLogicalJoin contain USE_HASH Hint. If yes, and the rules require the input must have hash distribution on join keys when converting FlinkLogicalJoin to LookupJoin .

Note: If the input stream is not an insert stream, which means, it could contain update_before, update_after or delete record, if it's upsert key is different with join key, update before and update may be sent to different tasks after hash partition which may leads to wrong result.

So hash lookup Join requires that the input stream should be insert_only stream or it's upsert keys contains hash keys.

Compatibility, Deprecation, and Migration Plan

...