You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by sunild <su...@coreobjects.com> on 2010/01/18 09:20:40 UTC

Problem with datastore and multithreading.

Hi,

I am using jackrabbit 1.5.6 with MSSQL as my persistence manager and 
FileDataStore.

When more than one thread tries to add content to the same versionable 
node, I am getting ItemNotFoundException.

The code responsible for add version is under concurrent lock.

Let me explain the inherent problem --

Let us consider the current base version is v1, there are threads t1 and 
t2 which are trying to add version to v1.

first t1 gets the base version v1 and obtains the lock and adds version 
and the current base version becomes v2 and releases the lock.
then t2 obtains the same lock and attempts to get the current base 
version(which is v2) but it is getting v1 only and try to add the 
version, but on checkout it is resulting in itemNotFoundException.

Is it because of the latency to update the data in DB or some thing.

Please find the piece of code attached.

BR,
Sunil Dhage



Re: Problem with datastore and multithreading.

Posted by sunild <su...@coreobjects.com>.
Hi All,

Did you anybody faced similar problems.  Can you please help in this regard.
> Hi,
>
> I am using jackrabbit 1.5.6 with MSSQL as my persistence manager and 
> FileDataStore.
>
> When more than one thread tries to add content to the same versionable 
> node, I am getting ItemNotFoundException.
>
> The code responsible for add version is under concurrent lock.
>
> Let me explain the inherent problem --
>
> Let us consider the current base version is v1, there are threads t1 and 
> t2 which are trying to add version to v1.
>
> first t1 gets the base version v1 and obtains the lock and adds version 
> and the current base version becomes v2 and releases the lock.
> then t2 obtains the same lock and attempts to get the current base 
> version(which is v2) but it is getting v1 only and try to add the 
> version, but on checkout it is resulting in itemNotFoundException.
>
> Is it because of the latency to update the data in DB or some thing.
>
> Please find the piece of code attached.
>
> BR,
> Sunil Dhage
>
>
>