Hi Vincent,

sorry for the belated reply. It's difficult to give general advise on
this. If the problem still persists, could you try to build a little,
self-contained example that allows us to reproduce the problem?

Thanks in advance,
Christian


On Thu, Aug 7, 2014 at 12:47 AM, Lizzi, Vincent
<vincent.li...@taylorandfrancis.com> wrote:
> I've written a process using the Java BaseXClient to load XML documents to 
> one database (A) and save a small amount of data about each document in a 
> second database (B) using a parallel document path. The data in (B) includes 
> a sha1 hash which is used to determine if the source XML document has changed 
> or not to avoid unnecessary reloading. With database (A) the replace command 
> is used to import documents. With database (B) a query is run to get the 
> current sha1 hash (if any) and the db:replace() function is used to 
> create/update a document for each document in (A). This works well for small 
> sets of documents, often loading several documents per second. However after 
> 1,000 - 4,000 documents it eventually crashes with this exception:
>
> [bxerr:BXDB0002] Database (B) is being updated, or update was not completed.
>
> The exception is thrown when reading the sha1 hash from (B). After this 
> exception, it's not possible to connect to database (B) even with the BaseX 
> GUI unless I manually delete the upd.basex file. I have to delete both 
> databases and try again. No other processes are accessing the databases.
>
> It seems like this problem is related to the high number of reads and writes 
> happening on (B).
>
> Has anyone encountered a similar problem or have any suggestions?
>
> Thanks,
> Vincent

Reply via email to