Skip to content

[Bug] Session Var disable_join_reorder for CREATE TABLE AS SELECT behaves different on master/non-master fe #53895

@dh-cloud

Description

@dh-cloud

Search before asking

  • I had searched in the issues and found no similar issues.

Version

2.1.7

What's Wrong?

set disable_join_reorder=true for CREATE TABLE AS SELECT behaves different on master/non-master fe.

On master fe, disable_join_reorder can successfully disable the join reorder.
On non-master fe, disable_join_reorder does not work, joins can be reordered.

What You Expected?

No matter master fe or non-master fe, set disable_join_reorder=true should successfully disable the join reorder for CREATE TABLE AS SELECT. (NOTE: maybe more session variables have the same flaw)

How to Reproduce?

SQLs:

create table t1(id int, dd datetime);
insert into t1 select number, now() from numbers(number = 10000000);

create table t2(id int, dd datetime);
insert into t2 values(1, now());

-- Open  __internal_schema.audit_log
set global enable_audit_plugin = true;

Run on non-master fe::

set disable_join_reorder = true;
set enable_profile=true;
create table tt_notmaster as select t2.id,t1.dd from t2 JOIN t1 on t1.id=t2.id;

Run on master fe:

set disable_join_reorder = true;
set enable_profile=true;
create table tt_master as select t2.id,t1.dd from t2 JOIN t1 on t1.id=t2.id;

Wait a minute...

 select * from __internal_schema.audit_log where stmt like 'create table tt%'

We can see different memory usage:

 peak_memory_bytes: 154994656
 stmt: create table tt_master as select t2.id,t1.dd from t2 JOIN t1 on t1.id=t2.id

 peak_memory_bytes: 2181264
 stmt: create table tt_notmaster as select t2.id,t1.dd from t2 JOIN t1 on t1.id=t2.id

Anything Else?

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions