Uploaded image for project: 'IMPALA'
  2. IMPALA-8203

Revisit disable_codegen docs



    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: Impala 3.1.0
    • Fix Version/s: Impala 3.2.0
    • Component/s: Docs
    • Labels:
    • Epic Color:


      This text is confusing in various ways, someone pointed out to me.

      • We don't need to specifically reference crashes - mostly it's used as a workaround for performance problems. I think we should just say that it's used to work around any issues with Impala's runtime code generation.
      • We should say clearly that most queries will run significantly slower with DISABLE_CODEGEN=true. The current text says this but it's hard to parse because of the implied double negative "do not run with the setting turned on", where "turned on" means "not disabled".
      • It's still worth mentioning that some short-running queries may run faster with DISABLE_CODEGEN=true because of the overhead, but we shouldn't actively suggest users to tweak it in general. In 2.10+, the DISABLE_CODEGEN_ROWS_THRESHOLD optimisation automatically disables codegen for small queries to solve this automatically.
      DISABLE_CODEGEN Query Option
      This is a debug option, intended for diagnosing and working around issues that cause crashes. If a query fails with an "illegal instruction" or other hardware-specific message, try setting DISABLE_CODEGEN=true and running the query again. If the query succeeds only when the DISABLE_CODEGEN option is turned on, submit the problem to <support channel> and include that detail in the problem report. Do not otherwise run with this setting turned on, because it results in lower overall performance.
      Because the code generation phase adds a small amount of overhead for each query, you might turn on the DISABLE_CODEGEN option to achieve maximum throughput when running many short-lived queries against small tables.
      Type: Boolean; recognized values are 1 and 0, or true and false; any other value interpreted as false
      Default: false (shown as 0 in output of SET statement)




            • Assignee:
              arodoni Alexandra Rodoni
              tarmstrong Tim Armstrong
            • Votes:
              0 Vote for this issue
              3 Start watching this issue


              • Created: