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

Reply via email to