Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-3122

Changing a session option to default value results in status as changed

    XMLWordPrintableJSON

Details

    Description

      Alter session option hash join to true(which is the default) and the following query shows that the option has changed which could be misleading to users relying on the status field to see if an option has changed or not. Especially in the case of a boolean value.

      0: jdbc:drill:zk=10.10.100.171:5181> select * from sys.options where name like '%hash%';
      +--------------------------------------------+----------+---------+----------+-------------+-------------+-----------+------------+
      |                    name                    |   kind   |  type   |  status  |   num_val   | string_val  | bool_val  | float_val  |
      +--------------------------------------------+----------+---------+----------+-------------+-------------+-----------+------------+
      | exec.max_hash_table_size                   | LONG     | SYSTEM  | DEFAULT  | 1073741824  | null        | null      | null       |
      | exec.min_hash_table_size                   | LONG     | SYSTEM  | DEFAULT  | 65536       | null        | null      | null       |
      | planner.enable_hash_single_key             | BOOLEAN  | SYSTEM  | DEFAULT  | null        | null        | true      | null       |
      | planner.enable_hashagg                     | BOOLEAN  | SYSTEM  | DEFAULT  | null        | null        | true      | null       |
      | planner.enable_hashjoin                    | BOOLEAN  | SYSTEM  | DEFAULT  | null        | null        | true      | null       |
      | planner.enable_hashjoin_swap               | BOOLEAN  | SYSTEM  | DEFAULT  | null        | null        | true      | null       |
      | planner.join.hash_join_swap_margin_factor  | DOUBLE   | SYSTEM  | DEFAULT  | null        | null        | null      | 10.0       |
      | planner.memory.hash_agg_table_factor       | DOUBLE   | SYSTEM  | DEFAULT  | null        | null        | null      | 1.1        |
      | planner.memory.hash_join_table_factor      | DOUBLE   | SYSTEM  | DEFAULT  | null        | null        | null      | 1.1        |
      +--------------------------------------------+----------+---------+----------+-------------+-------------+-----------+------------+
      9 rows selected (0.191 seconds)
      0: jdbc:drill:zk=10.10.100.171:5181> alter session set `planner.enable_hashjoin`=true;
      +-------+-----------------------------------+
      |  ok   |              summary              |
      +-------+-----------------------------------+
      | true  | planner.enable_hashjoin updated.  |
      +-------+-----------------------------------+
      1 row selected (0.083 seconds)
      0: jdbc:drill:zk=10.10.100.171:5181> select * from sys.options where name like '%hash%';
      +--------------------------------------------+----------+----------+----------+-------------+-------------+-----------+------------+
      |                    name                    |   kind   |   type   |  status  |   num_val   | string_val  | bool_val  | float_val  |
      +--------------------------------------------+----------+----------+----------+-------------+-------------+-----------+------------+
      | exec.max_hash_table_size                   | LONG     | SYSTEM   | DEFAULT  | 1073741824  | null        | null      | null       |
      | exec.min_hash_table_size                   | LONG     | SYSTEM   | DEFAULT  | 65536       | null        | null      | null       |
      | planner.enable_hash_single_key             | BOOLEAN  | SYSTEM   | DEFAULT  | null        | null        | true      | null       |
      | planner.enable_hashagg                     | BOOLEAN  | SYSTEM   | DEFAULT  | null        | null        | true      | null       |
      | planner.enable_hashjoin                    | BOOLEAN  | SYSTEM   | DEFAULT  | null        | null        | true      | null       |
      | planner.enable_hashjoin                    | BOOLEAN  | SESSION  | CHANGED  | null        | null        | true      | null       |
      | planner.enable_hashjoin_swap               | BOOLEAN  | SYSTEM   | DEFAULT  | null        | null        | true      | null       |
      | planner.join.hash_join_swap_margin_factor  | DOUBLE   | SYSTEM   | DEFAULT  | null        | null        | null      | 10.0       |
      | planner.memory.hash_agg_table_factor       | DOUBLE   | SYSTEM   | DEFAULT  | null        | null        | null      | 1.1        |
      | planner.memory.hash_join_table_factor      | DOUBLE   | SYSTEM   | DEFAULT  | null        | null        | null      | 1.1        |
      +--------------------------------------------+----------+----------+----------+-------------+-------------+-----------+------------+
      

      Attachments

        1. DRILL-3122.1.patch.txt
          6 kB
          Sudheesh Katkam

        Issue Links

          Activity

            People

              sudheeshkatkam Sudheesh Katkam
              inramana Ramana Inukonda Nagaraj
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: