Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-25140

Add optional logging to UnsafeProjection.create when it falls back to interpreted mode

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.4.0
    • Fix Version/s: 2.4.0
    • Component/s: SQL
    • Labels:
      None
    • Target Version/s:

      Description

      SPARK-23711 implemented a nice graceful handling of allowing UnsafeProjection to fall back to an interpreter mode when codegen fails. That makes Spark much more usable even when codegen is unable to handle the given query.

      But in its current form, the fallback handling can also be a mystery in terms of performance cliffs. Users may be left wondering why a query runs fine with some expressions, but then with just one extra expression the performance goes 2x, 3x (or more) slower.

      It'd be nice to have optional logging of the fallback behavior, so that for users that care about monitoring performance cliffs, they can opt-in to log when a fallback to interpreter mode was taken. i.e. at
      https://github.com/apache/spark/blob/a40ffc656d62372da85e0fa932b67207839e7fde/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Projection.scala#L183

        Attachments

          Activity

            People

            • Assignee:
              maropu Takeshi Yamamuro
              Reporter:
              rednaxelafx Kris Mok
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: