frameless
frameless copied to clipboard
UDF fails when subexpression elimination is used in interpreted mode
As UDF expects compilation always this fails when a child cannot compile, such as ExpressionProxy.
If, in interpreted mode, a child is deemed an identical subexpression (as occurs in the UdfTests."multiple two argument udf" test) spark is able to swap the contents as an optimisation to reduce re-calculation.
In the case where the analyser deems compilation the correct approach this isn't an issue. Targeted fix as part of #800.
Known to occur on Databricks 11.3 and other lower runtimes, fixed as part of 3.4 in SPARK-41991 .