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

Aleksander Eskilson updated SPARK-18118:
----------------------------------------
    Description: 
For sufficiently wide or nested Java Objects, when SpecificSafeProjection 
attempts to recreate the object from an InternalRow, the generated 
SpecificSafeProjection.apply method is larger than allowed: 

{code}
Caused by: org.codehaus.janino.JaninoRuntimeException: Code of method 
"apply(Ljava/lang/Object;)Ljava/lang/Object;" of class 
"org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificSafeProjection"
 grows beyond 64 KB
{code}

Although related, this issue appears not to have been resolved by SPARK-15285. 
Since there is only one top-level object when projecting, splitExpressions 
finds no additional Expressions to split. The result is a single large, nested 
Expression that forms the apply code.

See the reproducer for an example [1].

[1] - https://github.com/bdrillard/specific-safe-projection-error

  was:
For sufficiently wide or nested Java Objects, when SpecificSafeProjection 
attempts to recreate the object from an InternalRow, the generated 
SpecificSafeProjection.apply method is larger than allowed: 

{code}
Caused by: org.codehaus.janino.JaninoRuntimeException: Code of method 
"apply(Ljava/lang/Object;)Ljava/lang/Object;" of class 
"org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificSafeProjection"
 grows beyond 64 KB
{code}

Although related, this issue appears not to have been resolved by SPARK-15285, 
as there is only one top-level object when projecting, so splitExpressions 
finds no additional Expressions on which to split. The result is a single 
large, nested Expression that forms the apply code.

See the reproducer for an example [1].

[1] - https://github.com/bdrillard/specific-safe-projection-error


> SpecificSafeProjection.apply of Java Object from Dataset to JavaRDD Grows 
> Beyond 64 KB
> --------------------------------------------------------------------------------------
>
>                 Key: SPARK-18118
>                 URL: https://issues.apache.org/jira/browse/SPARK-18118
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 2.1.0
>            Reporter: Aleksander Eskilson
>
> For sufficiently wide or nested Java Objects, when SpecificSafeProjection 
> attempts to recreate the object from an InternalRow, the generated 
> SpecificSafeProjection.apply method is larger than allowed: 
> {code}
> Caused by: org.codehaus.janino.JaninoRuntimeException: Code of method 
> "apply(Ljava/lang/Object;)Ljava/lang/Object;" of class 
> "org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificSafeProjection"
>  grows beyond 64 KB
> {code}
> Although related, this issue appears not to have been resolved by 
> SPARK-15285. Since there is only one top-level object when projecting, 
> splitExpressions finds no additional Expressions to split. The result is a 
> single large, nested Expression that forms the apply code.
> See the reproducer for an example [1].
> [1] - https://github.com/bdrillard/specific-safe-projection-error



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to