[ 
https://issues.apache.org/jira/browse/CALCITE-6390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17841633#comment-17841633
 ] 

Sergey Nuyanzin edited comment on CALCITE-6390 at 4/28/24 11:20 AM:
--------------------------------------------------------------------

A couple of observations 
search across the internet shows that it might be JUnit5/Windows issue 
[https://github.com/junit-team/junit5/issues/2811] which is not fixed yet

I tried to replace {{TempDir}} with {{deleteOnExit}} as mentioned in some 
comments of the JUnit5 issue

 after that it started to fail as 
{noformat}
FAILURE   0.2sec, org.apache.calcite.adapter.arrow.ArrowAdapterTest > 
testCastDecimalToFloat()
    java.sql.SQLException: Error while executing SQL "select CAST(LOSAL AS 
FLOAT) as "extra" from SALGRADE": x86_64/gandiva_jni.dll was not found inside 
JAR.
        at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
        at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
        at 
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:164)
        at 
org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:228)
        at 
org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:566)
        at 
org.apache.calcite.test.CalciteAssert$AssertQuery.lambda$typeIs$5(CalciteAssert.java:1554)
        at 
org.apache.calcite.test.CalciteAssert$AssertQuery.withConnection(CalciteAssert.java:1434)
        at 
org.apache.calcite.test.CalciteAssert$AssertQuery.typeIs(CalciteAssert.java:1553)
        at 
org.apache.calcite.adapter.arrow.ArrowAdapterTest.testCastDecimalToFloat(ArrowAdapterTest.java:508)
        Suppressed: org.apache.calcite.util.TestUtil$ExtraInformation: With 
materializationsEnabled=false, limit=-1
            at org.apache.calcite.util.TestUtil.rethrow(TestUtil.java:389)
            at 
org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:598)
            ... 4 more
        Next exception 1: [CIRCULAR REFERENCE SQLException]
        Next exception 2: java.lang.RuntimeException: x86_64/gandiva_jni.dll 
was not found inside JAR.
            at org.apache.calcite.util.Util.toUnchecked(Util.java:989)
            at 
org.apache.calcite.adapter.arrow.ArrowTable.query(ArrowTable.java:113)
            at 
org.apache.calcite.jdbc.CalcitePrepare$CalciteSignature.enumerable(CalcitePrepare.java:364)
            at 
org.apache.calcite.jdbc.CalciteConnectionImpl.enumerable(CalciteConnectionImpl.java:326)
            at 
org.apache.calcite.jdbc.CalciteMetaImpl._createIterable(CalciteMetaImpl.java:657)
            at 
org.apache.calcite.jdbc.CalciteMetaImpl.createIterable(CalciteMetaImpl.java:648)
            at 
org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:184)
            at 
org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:64)
            at 
org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:43)
            at 
org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:669)
            at 
org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:717)
            at 
org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:677)
            at 
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:157)
            ... 6 more
            Caused by: x86_64/gandiva_jni.dll was not found inside JAR.
                at 
org.apache.arrow.gandiva.evaluator.JniLoader.moveFileFromJarToTemp(JniLoader.java:100)
                at 
org.apache.arrow.gandiva.evaluator.JniLoader.loadGandivaLibraryFromJar(JniLoader.java:75)
                at 
org.apache.arrow.gandiva.evaluator.JniLoader.setupInstance(JniLoader.java:64)
                at 
org.apache.arrow.gandiva.evaluator.JniLoader.getInstance(JniLoader.java:54)
                at 
org.apache.arrow.gandiva.evaluator.JniLoader.getDefaultConfiguration(JniLoader.java:160)
                at 
org.apache.arrow.gandiva.evaluator.Projector.make(Projector.java:78)
                at 
org.apache.calcite.adapter.arrow.ArrowTable.query(ArrowTable.java:111)
                ... 17 more
        Next exception 3: [CIRCULAR REFERENCE PlaceholderException]
        Caused by: [CIRCULAR REFERENCE RuntimeException]
{noformat}
Again it continues passing on gha Windows Server (windows-latest) and fails on 
Windows 11...


was (Author: sergey nuyanzin):
A couple of observations 
search across the internet shows that it might be JUnit5/Windows issue 
[https://github.com/junit-team/junit5/issues/2811] which is not fixed yet

I tried to replace {{TempDir}} with {{deleteOnExit}} as mentioned in some 
comments of the JUnit5 issue

 after that it started to fail as 
{noformat}
FAILURE   0.2sec, org.apache.calcite.adapter.arrow.ArrowAdapterTest > 
testCastDecimalToFloat()
    java.sql.SQLException: Error while executing SQL "select CAST(LOSAL AS 
FLOAT) as "extra" from SALGRADE": x86_64/gandiva_jni.dll was not found inside 
JAR.
        at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
        at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
        at 
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:164)
        at 
org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:228)
        at 
org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:566)
        at 
org.apache.calcite.test.CalciteAssert$AssertQuery.lambda$typeIs$5(CalciteAssert.java:1554)
        at 
org.apache.calcite.test.CalciteAssert$AssertQuery.withConnection(CalciteAssert.java:1434)
        at 
org.apache.calcite.test.CalciteAssert$AssertQuery.typeIs(CalciteAssert.java:1553)
        at 
org.apache.calcite.adapter.arrow.ArrowAdapterTest.testCastDecimalToFloat(ArrowAdapterTest.java:508)
        Suppressed: org.apache.calcite.util.TestUtil$ExtraInformation: With 
materializationsEnabled=false, limit=-1
            at org.apache.calcite.util.TestUtil.rethrow(TestUtil.java:389)
            at 
org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:598)
            ... 4 more
        Next exception 1: [CIRCULAR REFERENCE SQLException]
        Next exception 2: java.lang.RuntimeException: x86_64/gandiva_jni.dll 
was not found inside JAR.
            at org.apache.calcite.util.Util.toUnchecked(Util.java:989)
            at 
org.apache.calcite.adapter.arrow.ArrowTable.query(ArrowTable.java:113)
            at 
org.apache.calcite.jdbc.CalcitePrepare$CalciteSignature.enumerable(CalcitePrepare.java:364)
            at 
org.apache.calcite.jdbc.CalciteConnectionImpl.enumerable(CalciteConnectionImpl.java:326)
            at 
org.apache.calcite.jdbc.CalciteMetaImpl._createIterable(CalciteMetaImpl.java:657)
            at 
org.apache.calcite.jdbc.CalciteMetaImpl.createIterable(CalciteMetaImpl.java:648)
            at 
org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:184)
            at 
org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:64)
            at 
org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:43)
            at 
org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:669)
            at 
org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:717)
            at 
org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:677)
            at 
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:157)
            ... 6 more
            Caused by: x86_64/gandiva_jni.dll was not found inside JAR.
                at 
org.apache.arrow.gandiva.evaluator.JniLoader.moveFileFromJarToTemp(JniLoader.java:100)
                at 
org.apache.arrow.gandiva.evaluator.JniLoader.loadGandivaLibraryFromJar(JniLoader.java:75)
                at 
org.apache.arrow.gandiva.evaluator.JniLoader.setupInstance(JniLoader.java:64)
                at 
org.apache.arrow.gandiva.evaluator.JniLoader.getInstance(JniLoader.java:54)
                at 
org.apache.arrow.gandiva.evaluator.JniLoader.getDefaultConfiguration(JniLoader.java:160)
                at 
org.apache.arrow.gandiva.evaluator.Projector.make(Projector.java:78)
                at 
org.apache.calcite.adapter.arrow.ArrowTable.query(ArrowTable.java:111)
                ... 17 more
        Next exception 3: [CIRCULAR REFERENCE PlaceholderException]
        Caused by: [CIRCULAR REFERENCE RuntimeException]
{noformat}

> ArrowAdapterTest fails on Windows 11
> ------------------------------------
>
>                 Key: CALCITE-6390
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6390
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Sergey Nuyanzin
>            Priority: Major
>
> That's seems somehow highlights the difference between Windows Server and non 
> Server
> we have tests against Windows Server on gha (windows-latest) and they are 
> green
> At the same time local tests on Windows 11 show that {{ArrowAdapterTest}} 
> fails like 
> {noformat}
> FAILURE   0.0sec, org.apache.calcite.adapter.arrow.ArrowAdapterTest > 
> executionError
>     java.io.IOException: Failed to delete temp directory 
> D:\MyConfiguration\cancai.cai\AppData\Local\Temp\junit5105379620525559011. 
> The following paths could not be deleted (see suppressed exceptions for 
> details): , arrow
>         at 
> org.junit.jupiter.engine.extension.TempDirectory$CloseablePath.createIOExceptionWithAttachedFailures(TempDirectory.java:350)
>         at 
> org.junit.jupiter.engine.extension.TempDirectory$CloseablePath.close(TempDirectory.java:251)
>         at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>         at 
> org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda$closeAllStoredCloseableValues$3(ExtensionValuesStore.java:68)
>         at 
> java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
>         at 
> java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
>         at java.util.ArrayList.forEach(ArrayList.java:1259)
>         at java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:390)
>         at java.util.stream.Sink$ChainedReference.end(Sink.java:258)
>         at 
> java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483)
>         at 
> java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
>         at 
> java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
>         at 
> java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
>         at 
> java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>         at 
> java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
>         at 
> org.junit.jupiter.engine.execution.ExtensionValuesStore.closeAllStoredCloseableValues(ExtensionValuesStore.java:68)
>         at 
> org.junit.jupiter.engine.descriptor.AbstractExtensionContext.close(AbstractExtensionContext.java:80)
>         at 
> org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.close(JupiterEngineExecutionContext.java:53)
>         at 
> org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.cleanUp(JupiterTestDescriptor.java:222)
>         at 
> org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.cleanUp(JupiterTestDescriptor.java:57)
>         at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$cleanUp$10(NodeTestTask.java:167)
>         at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>         at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.cleanUp(NodeTestTask.java:167)
>         at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:98)
>         at 
> org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
>         at 
> org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)
>         at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
>         at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>         at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
>         at 
> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
>         at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
>         at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>         at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
>         at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
>         Suppressed: java.nio.file.DirectoryNotEmptyException: 
> D:\MyConfiguration\cancai.cai\AppData\Local\Temp\junit5105379620525559011
> {noformat}



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

Reply via email to