Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-32333

The same SQL statement, sql-client and sql-gateway give different execution plans

    XMLWordPrintableJSON

Details

    Description

      We have a SQL job, like this
      select ... from prod_kafka.f_alarm_tag_dev /*+ OPTIONS('scan.startup.mode' = 'latest-offset') */ as f
      left join mysql_bnpmp.gem_bnpmp.f_a_alarm_filter
      /*+ OPTIONS('lookup.cache.max-rows' = '5000', 'lookup.cache.ttl' = '30s') */
      FOR SYSTEM_TIME AS OF f.proctime ff  on ff.rule_type = 0 and f.ne_ip = ff.ip
      We submit to flink 1.17.1 cluster with sql-gateway. We found that the execution plan ignores the filter condition (rule_type=0),  and we could not get the expected query results

         +- [1196]:LookupJoin(table=[mysql_bnpmp.gem_bnpmp.f_a_alarm_filter], joinType=[LeftOuterJoin], lookup=[ip=ne_ip], select=[event_id, severity

      We submit same sql to flink 1.17.1 cluster with sql-client. We found that the execution plan contains the filter condition ( lookup=[rule_type=0, ip=ne_ip], where=[(rule_type = 0)] ), and we got the expected query results

         +- [3]:LookupJoin(table=[mysql_bnpmp.gem_bnpmp.f_a_alarm_filter], joinType=[LeftOuterJoin], lookup=[rule_type=0, ip=ne_ip], where=[(rule_type = 0)], select=[event_id, severity,

      We think this issue is related to https://issues.apache.org/jira/browse/FLINK-32321

      Attachments

        Activity

          People

            Unassigned Unassigned
            macdoor615 macdoor615
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: