Hi,
We started having some thread hanging issues when concurrent calls were being made to our basex 7.3 database (client-server mode) from java 6 web app on Mac (less prominent in Windows). We extracted the code into a simple java app to test this in two threads executing a simple doc('blah') command several times and were able to reproduce the thread hanging issue easily in basex 7.3.
After Christian's suggestion in another forum conversation to use 7.5, we tried with 7.5, now the code does not hang but it throws java.nio.channels.OverlappingFileLockException frequently for some of the db requests. I am attaching the sample java program here as a jar file (source code inside as well). Here is a sample output of this program:
Srini-MacBook-Pro:Downloads srini$ java -jar BasexTest.jar the time the xxxxxxxx 1 time the time the xxxxxxxx 2 time . . (some output lines hidden here for brevity) . the time the xxxxxxxx 30 time the time the xxxxxxxx 31 time java.io.IOException: java.nio.channels.OverlappingFileLockException at com.vmware.gts.vha.basex.BaseXClient$Query.exec(BaseXClient.java:446) at com.vmware.gts.vha.basex.BaseXClient$Query.execute(BaseXClient.java:405) at com.vmware.gts.vha.test.ParallelExecution.runXQuery(ParallelExecution.java:33) at com.vmware.gts.vha.test.ParallelExecution.access$0(ParallelExecution.java:30) at com.vmware.gts.vha.test.ParallelExecution$SampleRunnable.run(ParallelExecution.java:13) at java.lang.Thread.run(Thread.java:680)
Is this a potential bug in BaseX 7.5? This issue is more prominent (happens frequently) in Mac than Windows. We tried with both DBLocking=true and false and the issue remains.
Thanks, Srini