Inside our application it looks like we are able to reproduce it, but
I am not sure how to extract a testcase. Here is a short summary of
how we can reproduce it:

a method that executes a query a hundred of times and 2 parallel
threads. Finally this results in the provided exception.

The code of our method is quite standard:

[code]
publi void doInJcr(Session session) {
QueryManager queryMgr = session.getWorkspace().getQueryManager();
Query query = queryMgr.createQuery(queryString, Query.XPATH);
NodeIterator iterator = query.execute().getNodes();
}
[/code]

I reconfirm that the session is always a new one obtained through
repository.login().

And weirdly enough: the content is not modified when this occurs. The
problem occurs in a piece of our product that does NO writes.  We have
a single writting point which is synchronized. And as I mentioned,
when this exception occurs there are definitely no writes around.

Please help. I am starting to pull out my hair because this renders
unusable a whole application.

many many thanks,

./alex
--
.w( the_mindstorm )p.


On 5/17/06, Jukka Zitting <[EMAIL PROTECTED]> wrote:
Hi,

On 5/17/06, Alexandru Popescu <[EMAIL PROTECTED]> wrote:
> This looks like serious problem in multi-thread application. I am
> getting the feeling that this is happening when 2 threads are
> executing the same Query. And I am 1000% that each thread has its own
> javax.jcr.Session, so the problem looks to be somewhere deeper.

Can you distill the problem into a standalone test case? The problem
sounds quite serious, but I couldn't replicate it with a quick test
case. Does it only happen when content is concurrently being modified?

BR,

Jukka Zitting

--
Yukatan - http://yukatan.fi/ - [EMAIL PROTECTED]
Software craftsmanship, JCR consulting, and Java development

Reply via email to