Hi Happy,
I didn’t have time to check out your example (just a warning: we received several mail provider warning because of your large attachments..), but it may be worth to have a look at our Wiki page on transaction management [1], which refers to our current locking mechanism (multiple readers, single writer).
However, we (i.e. our team member Jens) has recently been working on a more fine granular locking (database-wise), and the documentation is supposed to capture that pretty soon. In a nutshell: in the .basex configuration file [2], you can switch the DBLOCKING flag to true in order to deactivate process locking and turn on database-wise locking. If everything works out as planned, the first version of database-wise locking will be part of our next release due to XMLPrague.
Christian
[1] http://docs.basex.org/wiki/Transaction_Management [2] http://docs.basex.org/wiki/Configuration ___________________________
On Fri, Jan 4, 2013 at 7:04 PM, happy somani happysomani@gmail.com wrote:
Hey Guys,
I was trying a scenario out today and wanted to see if I could query two different databases in parallel. I tried out using the code attached and found that while one of the program was trying to write data to a database the other program waits for the write to the database to finish before it could read data from a database. I am attaching the code in this email and here are the steps that you would need to take to reproduce this issue.
- Run the UploadFileTest class. (This class is trying to create a db
using a large xml file) 2. Run the GetData class (This class is trying to read from a small database called sam. The sam database is being created in this program).
I would appreciate if somebody could help me in setting up this concurrent query execution framework or if I have been doing something in the wrong way. Thanks.
-- Regards Happy
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk