Hi,
We are adding number of documents concurrently to the Basex database using basex java api. Our application runs three threads in which each thread is adding documents to it by executing following instructions in java as given below.
new Add("",new File(source).getAbsolutePath()).execute(context);
while running our application sometimes throws the following error
Java: Oracle Corporation, 1.7.0_71 OS: Windows 7, amd64 Stack Trace: java.lang.ArrayIndexOutOfBoundsException: 8 at org.basex.util.hash.TokenSet.index(TokenSet.java:161) at org.basex.util.hash.TokenSet.put(TokenSet.java:97) at org.basex.data.Namespaces.open(Namespaces.java:319) at org.basex.data.NSScope.open(NSScope.java:72) at org.basex.data.Data.insert(Data.java:775) at org.basex.query.up.atomic.Insert.apply(Insert.java:44) at org.basex.query.up.atomic.AtomicUpdateCache.applyUpdates(AtomicUpdateCache.java:297) at org.basex.query.up.atomic.AtomicUpdateCache.execute(AtomicUpdateCache.java:281) at org.basex.core.cmd.Add.run(Add.java:66) at org.basex.core.Command.run(Command.java:398) at org.basex.core.Command.execute(Command.java:100) at org.basex.core.Command.execute(Command.java:123) at com.myapp.MyDataBase.addSource(MyDataBase.java:85)
at com.myapp.ProcessorLoader$1.run(ProcessorLoader.java:132) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
thanks, Anky