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

Reply via email to