Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-2369

Fix OsAdapterTest failure on windows

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.17.0
    • None
    • None

    Description

      testDu and testDuFilterSortLimit are failing like
      As I understand the reason is absence of du in Windows. So just setting tests in ignore in case of Windows (like it is already done for others in the same OsAdapterTest) resolves the issue.
      The trace from tests

      java.lang.RuntimeException: With materializationsEnabled=false, limit=0
      	at org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:605)
      	at org.apache.calcite.test.CalciteAssert$AssertQuery.returns(CalciteAssert.java:1351)
      	at org.apache.calcite.test.CalciteAssert$AssertQuery.returns(CalciteAssert.java:1334)
      	at org.apache.calcite.adapter.os.OsAdapterTest.testDu(OsAdapterTest.java:95)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
      	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
      	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
      	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
      	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
      Caused by: java.sql.SQLException: Error while executing SQL "select * from du": while creating process: [du, -ak]
      	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:163)
      	at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:227)
      	at org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:573)
      	... 25 more
      Caused by: java.lang.RuntimeException: while creating process: [du, -ak]
      	at org.apache.calcite.adapter.os.Processes$ProcessFactory.get(Processes.java:198)
      	at org.apache.calcite.adapter.os.Processes$ProcessFactory.get(Processes.java:185)
      	at org.apache.calcite.adapter.os.Processes$ProcessLinesEnumerator.enumerator(Processes.java:83)
      	at org.apache.calcite.linq4j.EnumerableDefaults$15$1.<init>(EnumerableDefaults.java:1893)
      	at org.apache.calcite.linq4j.EnumerableDefaults$15.enumerator(EnumerableDefaults.java:1892)
      	at Baz$1$1.<init>(Unknown Source)
      	at Baz$1.enumerator(Unknown Source)
      	at org.apache.calcite.linq4j.AbstractEnumerable.iterator(AbstractEnumerable.java:33)
      	at org.apache.calcite.avatica.MetaImpl.createCursor(MetaImpl.java:90)
      	at org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:184)
      	at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:67)
      	at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:44)
      	at org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:667)
      	at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:627)
      	at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:675)
      	at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
      	... 27 more
      Caused by: java.io.IOException: Cannot run program "du": CreateProcess error=2, The system cannot find the file specified
      	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
      	at org.apache.calcite.adapter.os.Processes$ProcessFactory.get(Processes.java:195)
      	... 42 more
      Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
      	at java.lang.ProcessImpl.create(Native Method)
      	at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
      	at java.lang.ProcessImpl.start(ProcessImpl.java:137)
      	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
      	... 43 more
      
      java.lang.RuntimeException: exception while executing [select * from du]
      
      	at org.apache.calcite.test.CalciteAssert$AssertQuery.returns(CalciteAssert.java:1356)
      	at org.apache.calcite.test.CalciteAssert$AssertQuery.returns(CalciteAssert.java:1334)
      	at org.apache.calcite.adapter.os.OsAdapterTest.testDu(OsAdapterTest.java:95)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
      	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
      	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
      	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
      	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
      Caused by: java.lang.RuntimeException: With materializationsEnabled=false, limit=0
      	at org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:605)
      	at org.apache.calcite.test.CalciteAssert$AssertQuery.returns(CalciteAssert.java:1351)
      	... 24 more
      Caused by: java.sql.SQLException: Error while executing SQL "select * from du": while creating process: [du, -ak]
      	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:163)
      	at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:227)
      	at org.apache.calcite.test.CalciteAssert.assertQuery(CalciteAssert.java:573)
      	... 25 more
      Caused by: java.lang.RuntimeException: while creating process: [du, -ak]
      	at org.apache.calcite.adapter.os.Processes$ProcessFactory.get(Processes.java:198)
      	at org.apache.calcite.adapter.os.Processes$ProcessFactory.get(Processes.java:185)
      	at org.apache.calcite.adapter.os.Processes$ProcessLinesEnumerator.enumerator(Processes.java:83)
      	at org.apache.calcite.linq4j.EnumerableDefaults$15$1.<init>(EnumerableDefaults.java:1893)
      	at org.apache.calcite.linq4j.EnumerableDefaults$15.enumerator(EnumerableDefaults.java:1892)
      	at Baz$1$1.<init>(Unknown Source)
      	at Baz$1.enumerator(Unknown Source)
      	at org.apache.calcite.linq4j.AbstractEnumerable.iterator(AbstractEnumerable.java:33)
      	at org.apache.calcite.avatica.MetaImpl.createCursor(MetaImpl.java:90)
      	at org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:184)
      	at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:67)
      	at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:44)
      	at org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:667)
      	at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:627)
      	at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:675)
      	at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
      	... 27 more
      Caused by: java.io.IOException: Cannot run program "du": CreateProcess error=2, The system cannot find the file specified
      	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
      	at org.apache.calcite.adapter.os.Processes$ProcessFactory.get(Processes.java:195)
      	... 42 more
      Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
      	at java.lang.ProcessImpl.create(Native Method)
      	at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
      	at java.lang.ProcessImpl.start(ProcessImpl.java:137)
      	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
      	... 43 more

      PS: does it make sense to create a ticket for similar functions support for Windows?

      Attachments

        Activity

          People

            julianhyde Julian Hyde
            Sergey Nuyanzin Sergey Nuyanzin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: