You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Aleksander Eskilson (JIRA)" <ji...@apache.org> on 2016/10/26 18:09:59 UTC

[jira] [Created] (SPARK-18118) SpecificSafeProjection.apply of Java Object from Dataset to JavaRDD Grows Beyond 64 KB

Aleksander Eskilson created SPARK-18118:
-------------------------------------------

             Summary: 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, 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



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org