We started receiving this same exception after we recently upgraded from 1.2.5 to 1.3dev in our test environment. I believe the problem stems from the reset method getting invoked on the watch dog of the top-level context instead of the context itself. This becomes a problem when executing queries that import modules. The context will iterate through nested contexts and reset them but the watch dog does not so basically the timer continues to run on module contexts. You can read my original post on the problem here:
http://sourceforge.net/mailarchive/forum.php?thread_name=1B700CF271115444B0DFCBFD2CA234AC56E14F620C%40MEWMAD0PC01G01.accounts.wistate.us&forum_name=exist-openI patched our eXist locally simply by changing the reset method invocation like this:
org.exist.xquery.XQuery:
217: // context.getWatchDog().reset();
218: context.reset()
This fixed the problem for us. However, I don't yet fully understand the dependencies between contexts and modules so I'm not sure if this is correct and won't cause other issues. If any other developers could validate this that would be great.
Thanks,
--Tony
------------------------------
Message: 6
Date: Tue, 30 Jun 2009 08:05:49 -0400
From: "Michael Sokolov" <
sokolov@...>
Subject: Re: [Exist-open] query timeout bug
To: "'Andrew Hart CEMS Staff'" <
Andrew2.Hart@...>, "'exist'"
<
exist-open@...>
Message-ID: <
200906301147.n5UBlaKJ001264@...>
Content-Type: text/plain; charset="us-ascii"
I had a similar issue (1.3-dev version on linux). Queries would randomly
die immediately, with the message that they had taken too long: sorry don't
have the details, but it really did sound like they had been killed
explicitly by the watchdog. I had set the watchdog timer to 30 seconds.
-Mike
> -----Original Message-----
> From: Andrew Hart CEMS Staff [mailto:
Andrew2.Hart@...]
> Sent: Tuesday, June 30, 2009 6:03 AM
> To: exist
> Subject: [Exist-open] query timeout bug
>
> I recently tried to use
> - query-timeout
> this attribute sets the maximum amount of
> time (expressed in
> milliseconds) that the query can take before
> it is killed..
> from conf.xml to limit queries to 5 minutes or less. This
> was because some of our scripts get data from an external
> source through a proxy, either of which can take forever to
> respond...Anyway it worked well apart from the fact that it
> randomly kills xqueries immediately (and gives the query
> timed out error).
>
> Anyone else get this? I am on Solaris 10 java 1.5.0_01 eXist says
> 8849-20090416 but this may be wrong as I have to remember to
> type it in before build.sh
>
> I am asking because it could be something local - like our
> http proxy - causing the problem.
>
------------------------------------------------------------------------------
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open