concurrent issues with 7.5 - OverlappingFileLockException
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
Hi Srini, I finally managed to reproduce your issue locally (using Win7). This seems to be related with issue 574 in our issue tracker [1]. Does the problem persist when setting the number of parallel clients to one (PARALLEL: 1) [2]? Best, Christian [1] https://github.com/BaseXdb/basex/issues/574 [2] http://docs.basex.org/wiki/Options#PARALLEL ___________________________ On Sat, Nov 17, 2012 at 9:01 AM, Srinivasan Muthu <newsrini@gmail.com> wrote:
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
_______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
..next, you could try to explicitly close the client that creates the new database (...bc.close() ). Still, the exception is something that should be fixed. I'm not sure, though, if it already happened with Java 6. Did you try? Christian ___________________________ On Sun, Nov 18, 2012 at 7:42 PM, Christian Grün <christian.gruen@gmail.com> wrote:
Hi Srini,
I finally managed to reproduce your issue locally (using Win7). This seems to be related with issue 574 in our issue tracker [1]. Does the problem persist when setting the number of parallel clients to one (PARALLEL: 1) [2]?
Best, Christian
[1] https://github.com/BaseXdb/basex/issues/574 [2] http://docs.basex.org/wiki/Options#PARALLEL ___________________________
On Sat, Nov 17, 2012 at 9:01 AM, Srinivasan Muthu <newsrini@gmail.com> wrote:
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
_______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
Hi Srini, could you check out the latest snapshot [1] and give us some feedback? Thanks in advance, Christian [1] http://files.basex.org/releases/latest/ ___________________________ On Sun, Nov 18, 2012 at 7:58 PM, Christian Grün <christian.gruen@gmail.com> wrote:
..next, you could try to explicitly close the client that creates the new database (...bc.close() ).
Still, the exception is something that should be fixed. I'm not sure, though, if it already happened with Java 6. Did you try?
Christian ___________________________
On Sun, Nov 18, 2012 at 7:42 PM, Christian Grün <christian.gruen@gmail.com> wrote:
Hi Srini,
I finally managed to reproduce your issue locally (using Win7). This seems to be related with issue 574 in our issue tracker [1]. Does the problem persist when setting the number of parallel clients to one (PARALLEL: 1) [2]?
Best, Christian
[1] https://github.com/BaseXdb/basex/issues/574 [2] http://docs.basex.org/wiki/Options#PARALLEL ___________________________
On Sat, Nov 17, 2012 at 9:01 AM, Srinivasan Muthu <newsrini@gmail.com> wrote:
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
_______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
That was quick. Thanks Christian. I tried with PARALLEL=1 + 7.5 snapshot from 2012-11-15 and also with default PARALLEL setting + 7.5 latest snapshot and I didn't see the file overlapping issue in both Windows 7 and Mac (mountain lion). I will test this more in the next two days from our web app and will update you with our results. So far this the latest snapshot seems to have fixed the issue. Thanks again. Srini On Sun, Nov 18, 2012 at 1:02 PM, Christian Grün <christian.gruen@gmail.com>wrote:
Hi Srini,
could you check out the latest snapshot [1] and give us some feedback?
Thanks in advance, Christian
[1] http://files.basex.org/releases/latest/ ___________________________
On Sun, Nov 18, 2012 at 7:58 PM, Christian Grün <christian.gruen@gmail.com> wrote:
..next, you could try to explicitly close the client that creates the new database (...bc.close() ).
Still, the exception is something that should be fixed. I'm not sure, though, if it already happened with Java 6. Did you try?
Christian ___________________________
On Sun, Nov 18, 2012 at 7:42 PM, Christian Grün <christian.gruen@gmail.com> wrote:
Hi Srini,
I finally managed to reproduce your issue locally (using Win7). This seems to be related with issue 574 in our issue tracker [1]. Does the problem persist when setting the number of parallel clients to one (PARALLEL: 1) [2]?
Best, Christian
[1] https://github.com/BaseXdb/basex/issues/574 [2] http://docs.basex.org/wiki/Options#PARALLEL ___________________________
On Sat, Nov 17, 2012 at 9:01 AM, Srinivasan Muthu <newsrini@gmail.com> wrote:
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
_______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
participants (2)
-
Christian Grün -
Srinivasan Muthu