+1 to make the source build+tests pass by default on most machines
without say excessive time or disk requirement (including Windows).

We should however force all tests in the -Papache-release profile -
meaning you have to do the release process with Linux/OSX or (in
theory) on a Windows with a working Hadoop.

On 12 May 2016 at 17:12, Andy Seaborne <[email protected]> wrote:
> The JDBC TDB tests are quite exhaustive but from TDB's point-of-view,
> getting through the jena-tdb tests is enough IMO (if not we need to put a
> test into jena-tdb).  The jena-jdbc-tdb uses TDB a lot in a few predictable
> ways.  I've not looked but it might be possible to use TDB-in-memory for
> them.  Like the hadoop tests - the framework is at fault, not the code being
> tested.
>
>
> I've started a BUILD file to go in the root of the source tree to document
> these findings.
>
>
> On balance, I think a setup whereby the default "mvn clean install" on
> windows does something reasonably safe and reasonably useful is better than
> something that breaks easily.  Maybe that should be bootstrap (shade guava)
> then through to Fuseki2, + build binaries.
>
> Skipping some tests while still building, in the default setup, is a
> possible alternative.  Considering the likely user (e.g. someone picking up
> a bug fix or working on a git-clone) making the basics work well, i.e.
> build-test, seems to me to be a better choice
>
>     Andy
>
>
>
> On 12/05/16 14:56, Osma Suominen wrote:
>>
>> FWIW, I tried building on a Windows 10 VM (this is the 64bit IE11/Win10
>> test image from http://modern.ie that I normally use for browser testing).
>>
>> I couldn't complete the build though. The JDBC TDB Driver tests seemed
>> to consume an enormous amount of disk space. Even though I increased the
>> amount of disk space available to the VM (twice - up to 80GB, of which
>> the jena-3.1.0 folder eventually consumed about 64GB), I ran out of
>> space in the end. I gave up before reaching the Elephas build.
>>
>> I'm probably again doing something stupid though. Someone more familiar
>> with doing Java development on Windows should try this.
>>
>> -Osma
>>
>> On 12/05/16 14:03, Stian Soiland-Reyes wrote:
>>>
>>> Sorry, Windows 10 is not happy in building Elephas - something goes
>>> wrong with the hadoop file system (sounds like a Hadoop bug rather
>>> than Jena)
>>>
>>> mvn clean install fails at:
>>>
>>> [INFO] Apache Jena - Elephas - I/O ........................ FAILURE
>>> [09:44 min]
>>> [INFO] Apache Jena - Elephas - Map/Reduce ................. SKIPPED
>>> [INFO] Apache Jena - Elephas - Statistics Demo App ........ SKIPPED
>>> [INFO] Apache Jena - Distribution ......................... SKIPPED
>>> [INFO] Apache Jena - OSGi ................................. SKIPPED
>>> [INFO] Apache Jena - OSGi bundle .......................... SKIPPED
>>> [INFO] Apache Jena - OSGi Karaf features .................. SKIPPED
>>> [INFO] Apache Jena - Extras ............................... SKIPPED
>>> [INFO] Apache Jena - Extras - Query Builder ............... SKIPPED
>>> [INFO] Apache Jena ........................................ SKIPPED
>>>
>>> (In other words, all the other worked fine :)
>>>
>>>
>>> output_04[3](org.apache.jena.hadoop.rdf.io.output.turtle.StreamedTurtleOutputTest)
>>>
>>>   Time elapsed: 0.017 sec  <<< ERROR!
>>> java.lang.NullPointerException: null
>>>          at java.lang.ProcessBuilder.start(ProcessBuilder.java:1012)
>>>          at org.apache.hadoop.util.Shell.runCommand(Shell.java:482)
>>>          at org.apache.hadoop.util.Shell.run(Shell.java:455)
>>>          at
>>> org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:715)
>>>          at org.apache.hadoop.util.Shell.execCommand(Shell.java:808)
>>>          at org.apache.hadoop.util.Shell.execCommand(Shell.java:791)
>>>          at
>>>
>>> org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:656)
>>>
>>>          at
>>>
>>> org.apache.hadoop.fs.FilterFileSystem.setPermission(FilterFileSystem.java:490)
>>>
>>>          at
>>>
>>> org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:462)
>>>
>>>          at
>>>
>>> org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:428)
>>>
>>>          at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:908)
>>>          at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:889)
>>>          at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:786)
>>>          at
>>>
>>> org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormat.getRecordWriter(AbstractNodeTupleOutputFormat.java:77)
>>>
>>>          at
>>>
>>> org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormatTests.testOutput(AbstractNodeTupleOutputFormatTests.java:199)
>>>
>>>          at
>>>
>>> org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormatTests.output_04(AbstractNodeTupleOutputFormatTests.java:253)
>>>
>>>          at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
>>>          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.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
>>>          at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>>>          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.runners.Suite.runChild(Suite.java:128)
>>>          at org.junit.runners.Suite.runChild(Suite.java:27)
>>>          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.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
>>>
>>>          at
>>>
>>> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
>>>
>>>          at
>>>
>>> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
>>>
>>>          at
>>>
>>> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
>>>
>>>          at
>>>
>>> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
>>>
>>>          at
>>> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
>>>
>>> This is repeated across all the Elephas IO tests.
>>>
>>> Tests run: 984, Failures: 0, Errors: 173, Skipped: 183
>>>
>>>
>>> Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5;
>>> 2015-11-10T16:41:47+00:00)
>>> Maven home: C:\Program Files\apache-maven-3.3.9\bin\..
>>> Java version: 1.8.0_92, vendor: Oracle Corporation
>>> Java home: C:\Program Files\Java\jdk1.8.0_92\jre
>>> Default locale: en_GB, platform encoding: Cp1252
>>> OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"
>>>
>>> BTW, this is not the standard Windows 10, but Windows 10 Pro Insider
>>> Preview Build 14332 - preview of what will become the "Anniersary
>>> Edition" later this summer.
>>>
>>>
>>> This is not a regression as I get the same error when trying to build
>>> jena-elephas 3.0.1.
>>>
>>> Perhaps someone with a normal Windows 10 and JDK 8 could have a go at
>>> compiling jena-elephas? To avoid building all of 3.1.0 RC you can
>>> always try on the 3.0.1 source release from
>>> http://jena.apache.org/download/index.cgi as it seems the problem is
>>> also there.
>>>
>>
>>
>



-- 
Stian Soiland-Reyes
Apache Taverna (incubating), Apache Commons RDF (incubating)
http://orcid.org/0000-0001-9842-9718

Reply via email to