Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-4779

Conditional functions isfalse(), istrue(), isnotfalse() and isnottrue() don't work with codegen

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: Impala 2.3.0, Impala 2.5.0, Impala 2.4.0, Impala 2.6.0, Impala 2.7.0, Impala 2.8.0
    • Fix Version/s: Impala 2.9.0
    • Component/s: Backend
    • Labels:

      Description

      As titled, the conditional functions isfalse(), istrue(), isnotfalse(), isnottrue() can only be interpreted as they are cross-compiled. This will lead to unexpected query failure when they are used in expressions in ExecNodes which are codegen'ed.

      [localhost:21000] > select isfalse(true);
      Query: select isfalse(true)
      Query submitted at: 2017-01-18 10:24:52 (Coordinator: http://kwho-desktop:25000)
      Query progress can be monitored at: http://kwho-desktop:25000/query_plan?query_id=a3455b5e54215a5c:2468bbc00000000
      +---------------+
      | isfalse(true) |
      +---------------+
      | false         |
      +---------------+
      Fetched 1 row(s) in 0.17s
      [localhost:21000] > set enable_expr_rewrites=0;
      ENABLE_EXPR_REWRITES set to 0
      [localhost:21000] > set EXEC_SINGLE_NODE_ROWS_THRESHOLD=0;
      EXEC_SINGLE_NODE_ROWS_THRESHOLD set to 0
      [localhost:21000] > select isfalse(true);
      Query: select isfalse(true)
      Query submitted at: 2017-01-18 10:25:31 (Coordinator: http://kwho-desktop:25000)
      ERROR: Builtin 'isfalse' with symbol '_ZN6impala20ConditionalFunctions7IsFalseEPN10impala_udf15FunctionContextERKNS1_10BooleanValE' does not exist. Verify that all your impalads are the same version.
      
      [localhost:21000] > select isnotfalse(true);
      Query: select isnotfalse(true)
      Query submitted at: 2017-01-18 10:25:46 (Coordinator: http://kwho-desktop:25000)
      ERROR: Builtin 'isnotfalse' with symbol '_ZN6impala20ConditionalFunctions10IsNotFalseEPN10impala_udf15FunctionContextERKNS1_10BooleanValE' does not exist. Verify that all your impalads are the same version.
      
      [localhost:21000] > select istrue(true);
      Query: select istrue(true)
      Query submitted at: 2017-01-18 10:25:51 (Coordinator: http://kwho-desktop:25000)
      ERROR: Builtin 'istrue' with symbol '_ZN6impala20ConditionalFunctions6IsTrueEPN10impala_udf15FunctionContextERKNS1_10BooleanValE' does not exist. Verify that all your impalads are the same version.
      
      [localhost:21000] > select isnottrue(true);
      Query: select isnottrue(true)
      Query submitted at: 2017-01-18 10:25:55 (Coordinator: http://kwho-desktop:25000)
      ERROR: Builtin 'isnottrue' with symbol '_ZN6impala20ConditionalFunctions9IsNotTrueEPN10impala_udf15FunctionContextERKNS1_10BooleanValE' does not exist. Verify that all your impalads are the same version.
      

        Attachments

          Activity

            People

            • Assignee:
              kwho Michael Ho
              Reporter:
              kwho Michael Ho
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: