[ 
https://issues.apache.org/jira/browse/SPARK-44616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy Grove updated SPARK-44616:
-------------------------------
    Description: 
PR https://github.com/apache/spark/pull/39555 changed DeferredObject to no 
longer contain a function, and instead contains a value. This removes the 
deferred evaluation capability and means that HiveGenericUDF implementations 
can no longer short-circuit the evaluation of their arguments, which could be a 
performance issue for some users.

Here is a relevant javadoc comment from the Hive source for DeferredObject:

{{{
  /**
   * A Defered Object allows us to do lazy-evaluation and short-circuiting.
   * GenericUDF use DeferedObject to pass arguments.
   */
  public static interface DeferredObject {
}}}

  was:PR https://github.com/apache/spark/pull/39555 changed DeferredObject to 
no longer contain a function, and instead contains a value. This removes the 
deferred evaluation capability and means that HiveGenericUDF implementations 
can no longer short-circuit the evaluation of their arguments, which could be a 
performance issue for some users.


> Hive Generic UDF support no longer supports short-circuiting of argument 
> evaluation
> -----------------------------------------------------------------------------------
>
>                 Key: SPARK-44616
>                 URL: https://issues.apache.org/jira/browse/SPARK-44616
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 3.5.0
>            Reporter: Andy Grove
>            Priority: Major
>
> PR https://github.com/apache/spark/pull/39555 changed DeferredObject to no 
> longer contain a function, and instead contains a value. This removes the 
> deferred evaluation capability and means that HiveGenericUDF implementations 
> can no longer short-circuit the evaluation of their arguments, which could be 
> a performance issue for some users.
> Here is a relevant javadoc comment from the Hive source for DeferredObject:
> {{{
>   /**
>    * A Defered Object allows us to do lazy-evaluation and short-circuiting.
>    * GenericUDF use DeferedObject to pass arguments.
>    */
>   public static interface DeferredObject {
> }}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to