GitHub user kiszk opened a pull request:

    https://github.com/apache/spark/pull/22317

    ArraysOverlap may throw a CompilationException

    ## What changes were proposed in this pull request?
    
    ArraysOverlap may throw a CompilationException
    
    This PR fixes a problem that `ArraysOverlap` function throws a 
`CompilationException` with non-nullable array type.
    
    The following is the stack trace of the original problem:
    
    ```
    Code generation of arrays_overlap([1,2,3], [4,5,3]) failed:
    java.util.concurrent.ExecutionException: 
org.codehaus.commons.compiler.CompileException: File 'generated.java', Line 56, 
Column 11: failed to compile: org.codehaus.commons.compiler.CompileException: 
File 'generated.java', Line 56, Column 11: Expression "isNull_0" is not an 
rvalue
    java.util.concurrent.ExecutionException: 
org.codehaus.commons.compiler.CompileException: File 'generated.java', Line 56, 
Column 11: failed to compile: org.codehaus.commons.compiler.CompileException: 
File 'generated.java', Line 56, Column 11: Expression "isNull_0" is not an 
rvalue
        at 
com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:306)
        at 
com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:293)
        at 
com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
        at 
com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:135)
        at 
com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2410)
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2380)
        at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
        at com.google.common.cache.LocalCache.get(LocalCache.java:4000)
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$.compile(CodeGenerator.scala:1305)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.GenerateMutableProjection$.create(GenerateMutableProjection.scala:143)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.GenerateMutableProjection$.create(GenerateMutableProjection.scala:48)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.GenerateMutableProjection$.create(GenerateMutableProjection.scala:32)
        at 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.generate(CodeGenerator.scala:1260)
    ```
    
    ## How was this patch tested?
    
    Added test in `CollectionExpressionSuite`.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/kiszk/spark SPARK-25310

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/22317.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #22317
    
----
commit eab17a1dd2d1bae7d520697e9a1eade331b47323
Author: Kazuaki Ishizaki <ishizaki@...>
Date:   2018-09-02T17:04:15Z

    initial commit

----


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to