concurrent issues with 7.5 - OverlappingFileLockException

Saturday, 17 November 2012 · 5 messages · last reply 19 Nov 2012
SM
Srinivasan Muthu17 Nov 2012 10:01 #
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
CG
Christian Grün18 Nov 2012 19:42 #
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
Quoted text · Srinivasan Muthu · 47 lines
On Sat, Nov 17, 2012 at 9:01 AM, Srinivasan Muthu <newsrini at 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 at mailman.uni-konstanz.de > https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk >
CG
Christian Grün18 Nov 2012 19:58 #
..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
Quoted text · Christian Grün · 63 lines
On Sun, Nov 18, 2012 at 7:42 PM, Christian Grün <christian.gruen at 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 at 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 at mailman.uni-konstanz.de >> https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk >>
CG
Christian Grün18 Nov 2012 22:02 #
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/
Quoted text · Christian Grün · 74 lines
On Sun, Nov 18, 2012 at 7:58 PM, Christian Grün <christian.gruen at 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 at 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 at 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 at mailman.uni-konstanz.de >>> https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk >>>
SM
Srinivasan Muthu19 Nov 2012 02:14 #
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 at gmail.com>wrote:
Quoted text · Christian Grün · 100 lines
> 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 at 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 at 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 at 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 at mailman.uni-konstanz.de > >>> https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk > >>> >

⚡Generated with XQuery