You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2011/11/13 14:52:47 UTC

svn commit: r1201426 - /incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java

Author: andy
Date: Sun Nov 13 13:52:47 2011
New Revision: 1201426

URL: http://svn.apache.org/viewvc?rev=1201426&view=rev
Log:
JENA-158 : Catch query timeout.

Modified:
    incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java

Modified: incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java?rev=1201426&r1=1201425&r2=1201426&view=diff
==============================================================================
--- incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java (original)
+++ incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/SPARQL_ServletBase.java Sun Nov 13 13:52:47 2011
@@ -39,6 +39,8 @@ import org.openjena.fuseki.server.Datase
 import org.openjena.fuseki.server.DatasetRef ;
 import org.slf4j.Logger ;
 
+import com.hp.hpl.jena.query.ARQ;
+import com.hp.hpl.jena.query.QueryCancelledException;
 import com.hp.hpl.jena.query.QueryParseException ;
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
 
@@ -94,11 +96,16 @@ public abstract class SPARQL_ServletBase
             }
             perform(id, dsg, request, response) ;
             //serverlog.info(String.format("[%d] 200 Success", id)) ;
+        } catch (QueryCancelledException ex)
+        {
+        	String message = String.format("The query timed out after %sms.", ARQ.getContext().get(ARQ.queryTimeout));
+        	responseSendError(response, HttpSC.SERVICE_UNAVAILABLE_503, message);
+            // Log message done by printResponse in a moment.
         } catch (ActionErrorException ex)
         {
             if ( ex.exception != null )
                 ex.exception.printStackTrace(System.err) ;
-            // Log mesage done by printResponse in a moment.
+            // Log message done by printResponse in a moment.
             if ( ex.message != null )
                 responseSendError(response, ex.rc, ex.message) ;
             else