btw I have just noticed that while doing a build on a windows box (haven't done so in a decade or so...) with "mvn clean install" for the Apache Jena 3.17.0-SNAPSHOT that it builds fine but leaves a data footprint to tune of 48.5GB on disk after the build.
mostly in jena-tdb (22.7GB), jena-jdbc (18.8GB) and jena-tdb2 (5.88GB) on the linux box it's "only" a residual footprint of 1.4GB that includes the targets . On Sun, Oct 14, 2018 at 4:12 PM Andy Seaborne <[email protected]> wrote: > And the error message would be different. > > Windows issues? > > Andy > > On 14/10/18 15:54, ajs6f wrote: > > Just for a data point, I just ran a full `mvn clean install` from > current master in 512MB heap. > > > > Of course, TDB1 (and I assume 2 as well) can use significant amounts of > off-heap memory. > > > > ajs6f > > > >> On Oct 14, 2018, at 10:02 AM, Claude Warren <[email protected]> wrote: > >> > >> I did have Eclipse running but shut it down and executed "mvn clean > install > >> -Pdev" but get the problems mentioned above. > >> > >> Is there a minimal memory required for compilation? This is an old > system > >> so perhaps I am hitting that. > >> > >> On Sun, Oct 14, 2018 at 1:48 PM Andy Seaborne <[email protected]> wrote: > >> > >>> On 14/10/18 10:13, Claude Warren wrote: > >>>> OK. I have maven produce a classpath file for me so I know what > >>>> classpath it is using. > >>> > >>> How are you running tests and your IDE? > >>> I use the mavenr nature of projects, not the old command line "generate > >>> .classpath" etc. > >>> > >>> For a new version, in Eclipse you must do Alt-F5 (Maven update) for > >>> everything; it is also good to do maven and also it is cleaner to do a > >>> maven build locally beforehand. This puls down the non-java POMS which > >>> get out of step is the parent is not open in Eclipse. > >>> > >>> No producing .classpaths etc m2e does it automatically. > >>> > >>> On 14/10/18 10:13, Claude Warren wrote: > >>>> So does the TDB2 system somehow build a new classpath? > >>> > >>> No. > >>> > >>>> Does the test system create a new classpath? > >>> > >>> No. > >>> > >>>> Is there some way the original classpath > >>>> could have been modified before the test was called? > >>> > >>> I don't see how it could. > >>> > >>> "mvn clean install -Pdev" works for me locally. > >>> > >>> Andy > >>> > >>> > >>> > >>> > >>> On 14/10/18 10:13, Claude Warren wrote: > >>>> OK. I have maven produce a classpath file for me so I know what > >>> classpath > >>>> it is using. > >>>> I created a shell script to execute a single junit test outside of > maven. > >>>> Using org.junit.runner.JUnitCore I am executing > >>>> org.apache.jena.tdb2.assembler.TestTDBAssembler > >>>> > >>>> I get: > >>>> .E.E.E.E.E.E.org.apache.jena.dboe.base.file.AlreadyLocked: Failed to > get > >>> a > >>>> lock: > >>>> > >>> > file='/home/claude/apache/jena/jena-db/jena-tdb2/target/tdb-testing/DB/tdb.lock': > >>>> Lock already held at > >>>> > >>> > org.apache.jena.dboe.base.file.ProcessFileLock.lockOperation(ProcessFileLock.java:187) > >>>> at > >>>> > >>> > org.apache.jena.dboe.base.file.ProcessFileLock.lockEx(ProcessFileLock.java:125) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.DatabaseConnection.buildForCache(DatabaseConnection.java:88) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.DatabaseConnection.lambda$0(DatabaseConnection.java:76) > >>>> at > >>>> > >>> > java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.DatabaseConnection.make(DatabaseConnection.java:76) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.DatabaseConnection.connectCreate(DatabaseConnection.java:61) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.DatabaseConnection.connectCreate(DatabaseConnection.java:52) > >>>> at > >>>> org.apache.jena.tdb2.DatabaseMgr.DB_ConnectCreate(DatabaseMgr.java:39) > >>>> .... > >>>> > >>>> The tdb.lock file does not exists before or after the run so it does > get > >>>> cleaned up. > >>>> > >>>> At the bottom of the above exception the output goes on with: > >>>> > >>>> E > >>>> Time: 1.254 > >>>> There were 7 failures: > >>>> 1) > createDatasetDirect(org.apache.jena.tdb2.assembler.TestTDBAssembler) > >>>> java.lang.NoClassDefFoundError: > >>>> org/apache/jena/dboe/trans/bplustree/BPlusTreeFactory > >>>> at > >>>> > org.apache.jena.tdb2.setup.TDBBuilder.buildRangeIndex(TDBBuilder.java:89) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.setup.TDBBuilder.buildBaseNodeTable(TDBBuilder.java:97) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.setup.AbstractTDBBuilder.buildNodeTable(AbstractTDBBuilder.java:219) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.setup.AbstractTDBBuilder.build$(AbstractTDBBuilder.java:94) > >>>> at > org.apache.jena.tdb2.setup.TDBBuilder.build(TDBBuilder.java:65) > >>>> at > >>>> org.apache.jena.tdb2.sys.StoreConnection.make(StoreConnection.java:93) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.StoreConnection.connectCreate(StoreConnection.java:61) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.StoreConnection.connectCreate(StoreConnection.java:52) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.DatabaseOps.createSwitchable(DatabaseOps.java:99) > >>>> at > org.apache.jena.tdb2.sys.DatabaseOps.create(DatabaseOps.java:78) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.DatabaseConnection.buildForCache(DatabaseConnection.java:90) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.DatabaseConnection.lambda$0(DatabaseConnection.java:76) > >>>> at > >>>> > >>> > java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.DatabaseConnection.make(DatabaseConnection.java:76) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.DatabaseConnection.connectCreate(DatabaseConnection.java:61) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.sys.DatabaseConnection.connectCreate(DatabaseConnection.java:52) > >>>> at > >>>> org.apache.jena.tdb2.DatabaseMgr.DB_ConnectCreate(DatabaseMgr.java:39) > >>>> at > >>>> > org.apache.jena.tdb2.DatabaseMgr.connectDatasetGraph(DatabaseMgr.java:44) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.assembler.DatasetAssemblerTDB.make(DatasetAssemblerTDB.java:59) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.assembler.DatasetAssemblerTDB.createDataset(DatasetAssemblerTDB.java:50) > >>>> at > >>>> > >>> > org.apache.jena.sparql.core.assembler.DatasetAssembler.open(DatasetAssembler.java:43) > >>>> at > >>>> > >>> > org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:157) > >>>> at > >>>> > >>> > org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:144) > >>>> at > >>>> > >>> > org.apache.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:93) > >>>> at > >>>> > >>> > org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:39) > >>>> at > >>>> > >>> > org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:35) > >>>> at > >>>> > >>> > org.apache.jena.sparql.core.assembler.AssemblerUtils.build(AssemblerUtils.java:126) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.assembler.TestTDBAssembler.createTest(TestTDBAssembler.java:76) > >>>> at > >>>> > >>> > org.apache.jena.tdb2.assembler.TestTDBAssembler.createDatasetDirect(TestTDBAssembler.java:67) > >>>> 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.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) > >>>> 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.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) > >>>> at > >>>> > >>> > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) > >>>> 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.junit.runner.JUnitCore.run(JUnitCore.java:137) > >>>> at org.junit.runner.JUnitCore.run(JUnitCore.java:115) > >>>> at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77) > >>>> at org.junit.runner.JUnitCore.main(JUnitCore.java:36) > >>>> Caused by: java.lang.ClassNotFoundException: > >>>> org.apache.jena.dboe.trans.bplustree.BPlusTreeFactory > >>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > >>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) > >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > >>>> ... 61 more > >>>> > >>>> > >>>> errors 1 through 6 are the NoClassDefFoundErrors all missing > >>>> BPlusTreeFactory while error 7 is the existence of the lock file. I > >>>> suspect the first reporting of the error simply shows the last error > and > >>>> then lists all the errors. > >>>> > >>>> I have checked and the jar with BPlusTreeFactory > >>>> (jena-dboe-trans-data-3.10.0-SNAPSHOT.jar) is on the classpath and > does > >>>> contain the BPlusTreeFactory. > >>>> > >>>> So does the TDB2 system somehow build a new classpath? Does the test > >>>> system create a new classpath? Is there some way the original > classpath > >>>> could have been modified before the test was called? > >>>> > >>>> Any assistance is appreciated. > >>>> Claude > >>>> > >>>> > >>>> > >>>> On Sat, Oct 13, 2018 at 8:52 PM Claude Warren <[email protected]> > wrote: > >>>> > >>>>> I shut down Eclipse. No joy. > >>>>> > >>>>> On Sat, Oct 13, 2018 at 8:03 PM Andy Seaborne <[email protected]> > wrote: > >>>>> > >>>>>> Do you have Eclipse running as well? > >>>>>> > >>>>>> I have found that sometimes, Eclipse notices changes due "mvn clean" > >>>>>> then Eclipse and mvn compete to build things. Generally, leaving > the > >>>>>> Eclipse UI alone is OK (not perfect). > >>>>>> > >>>>>> Andy > >>>>>> > >>>>>> On 13/10/18 17:45, Claude Warren wrote: > >>>>>>> When I execute > >>>>>>> > >>>>>>> mvn clean install -Pdev > >>>>>>> > >>>>>>> I get errors in TDB2 build along the line of: > >>>>>>> > >>>>>>> TEST-org.apache.jena.tdb2.sys.TestDatabaseOps.xml: <error > >>>>>> message="Could > >>>>>>> not initialize class org.apache.jena.tdb2.sys.SystemTDB" > >>>>>>> > type="java.lang.NoClassDefFoundError">java.lang.NoClassDefFoundError: > >>>>>> Could > >>>>>>> not initialize class org.apache.jena.tdb2.sys.SystemTDB > >>>>>>> > >>>>>>> The list of classes not found seems to be: > >>>>>>> > >>>>>>> org.apache.jena.tdb2.assembler.TestTDBAssembler" > >>>>>>> org.apache.jena.tdb2.ConfigTest" > >>>>>>> org.apache.jena.tdb2.loader.AbstractTestLoader" > >>>>>>> org.apache.jena.tdb2.setup.StoreParamsConst" > >>>>>>> org.apache.jena.tdb2.setup.TestStoreParamsChoose" > >>>>>>> org.apache.jena.tdb2.setup.TestStoreParamsCreate" > >>>>>>> org.apache.jena.tdb2.solver.TestStats" > >>>>>>> org.apache.jena.tdb2.store.NodeId" > >>>>>>> org.apache.jena.tdb2.store.nodetable.TestNodeTableStored" > >>>>>>> org.apache.jena.tdb2.store.nodetable.TestNodeTableStoredBase" > >>>>>>> org.apache.jena.tdb2.sys.SystemTDB" > >>>>>>> org.apache.jena.tdb2.TDB2" > >>>>>>> > >>>>>>> (The above was extracted using grep NoClassDefFound * | cut -d' ' > >>> -f10 | > >>>>>>> sort | uniq) > >>>>>>> > >>>>>>> java -version > >>>>>>> openjdk version "1.8.0_181" > >>>>>>> OpenJDK Runtime Environment (build > >>>>>> 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13) > >>>>>>> OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode) > >>>>>>> > >>>>>>> any ideas what might be wrong? > >>>>>>> > >>>>>>> > >>>>>>> Any ideas what > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>> > >>>>> > >>>>> > >>>>> -- > >>>>> I like: Like Like - The likeliest place on the web > >>>>> <http://like-like.xenei.com> > >>>>> LinkedIn: http://www.linkedin.com/in/claudewarren > >>>>> > >>>> > >>>> > >>> > >> > >> > >> -- > >> I like: Like Like - The likeliest place on the web > >> <http://like-like.xenei.com> > >> LinkedIn: http://www.linkedin.com/in/claudewarren > > > -- --- Marco Neumann KONA
