Paolo Castagna wrote: > With tdbloader2 I had a java.lang.OutOfMemoryError: > > Mar 5 05:22:30 ip-10-53-58-155 build: Add: 618,450,000 Data (Batch: 6,547 / > Avg: 21,206) > Mar 5 05:35:10 ip-10-53-58-155 build: Exception in thread "main" > java.lang.OutOfMemoryError: Java heap space > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > java.util.HashMap.<init>(HashMap.java:209) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > org.apache.xerces.impl.validation.ValidationState.<init>(Unknown Source) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.datatypes.xsd.XSDDatatype.parse(XSDDatatype.java:270) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.datatypes.xsd.impl.XSDBaseNumericType.parse(XSDBaseNumericType.java:165) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.graph.impl.LiteralLabelImpl.setValue(LiteralLabelImpl.java:213) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.graph.impl.LiteralLabelImpl.setLiteralLabel_1(LiteralLabelImpl.java:107) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.graph.impl.LiteralLabelImpl.<init>(LiteralLabelImpl.java:96) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.graph.impl.LiteralLabelFactory.createLiteralLabel(LiteralLabelFactory.java:28) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.graph.Node.createLiteral(Node.java:103) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.sparql.util.NodeFactory.intToNode(NodeFactory.java:79) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.tdb.solver.stats.Stats.format(Stats.java:195) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.tdb.solver.stats.Stats.write(Stats.java:72) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.tdb.store.bulkloader2.CmdNodeTableBuilder.exec(CmdNodeTableBuilder.java:178) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > arq.cmdline.CmdMain.mainMethod(CmdMain.java:97) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > arq.cmdline.CmdMain.mainRun(CmdMain.java:59) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > arq.cmdline.CmdMain.mainRun(CmdMain.java:46) > Mar 5 05:35:10 ip-10-53-58-155 build: #011at > com.hp.hpl.jena.tdb.store.bulkloader2.CmdNodeTableBuilder.main(CmdNodeTableBuilder.java:79) > > I'll try giving the JVM more RAM.
The tdbloader2 script now allows users to specify JVM arguments via JVM_ARGS environment variable (as the others TDB or ARQ scripts). However, I am having a strange problem, this is what I do: cd /mnt/data svn co https://svn.apache.org/repos/asf/incubator/jena/Jena2/TDB/trunk/ tdb cd tdb mvn package export TDBROOT=/mnt/data/tdb export JVM_ARGS="-Xmx2048m -server" wget http://www.w3.org/2000/10/rdf-tests/rdfcore/ntriples/test.nt ./bin/tdbloader2 --loc /tmp/test test.nt If I run this locally, everything works. But, I have this error when I run on an EC2 instance: 08:15:34 -- TDB Bulk Loader Start 08:15:34 Data phase Exception in thread "main" java.lang.NoClassDefFoundError: arq/cmdline/CmdGeneral #011at java.lang.ClassLoader.defineClass1(Native Method) #011at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) #011at java.lang.ClassLoader.defineClass(ClassLoader.java:615) #011at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) #011at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) #011at java.net.URLClassLoader.access$000(URLClassLoader.java:58) #011at java.net.URLClassLoader$1.run(URLClassLoader.java:197) #011at java.security.AccessController.doPrivileged(Native Method) #011at java.net.URLClassLoader.findClass(URLClassLoader.java:190) #011at java.lang.ClassLoader.loadClass(ClassLoader.java:306) #011at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) #011at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Caused by: java.lang.ClassNotFoundException: arq.cmdline.CmdGeneral #011at java.net.URLClassLoader$1.run(URLClassLoader.java:202) #011at java.security.AccessController.doPrivileged(Native Method) #011at java.net.URLClassLoader.findClass(URLClassLoader.java:190) #011at java.lang.ClassLoader.loadClass(ClassLoader.java:306) #011at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) #011at java.lang.ClassLoader.loadClass(ClassLoader.java:247) #011... 12 more Could not find the main class: com.hp.hpl.jena.tdb.store.bulkloader2.CmdNodeTableBuilder. Program will exit. What I don't understand is why mvn package succeed, there are the TDB classes in the classpath, but there seems not to be ARQ in the classpath. Paolo
