Details

    • Type: New Feature
    • Status: Duplicate
    • Resolution: Duplicate
    • Affects Version/s: BLAZEGRAPH_RELEASE_1_5_1
    • Fix Version/s: None
    • Component/s: Query Engine
    • Labels:
      None

      Description

      In our application, we allocated every SPARQL query a maximum time, and use the queryId query hint to enable our own timeout code, via a cancel.

      It would be an improvement if the timeout was performed within blazegraph rather than in our code. In particular we have issues where the timeout occurs, we perform the cancel request, and the query keeps going!

      We would like, e.g.

      hint:Query hint:maxTime 23.4

      to give the query 23.4 seconds

      See BLZG-988 (Set timeout on remote query)

        Issue Links

          Activity

          Hide
          bryanthompson bryanthompson added a comment -

          This can already be done using an HTTP header as follows:

              /**
               * HTTP header may be used to specify the timeout for a query.
               * 
               * @see http://trac.blazegraph.com/ticket/914 (Set timeout on remote query)
               */
              static public final String HTTP_HEADER_BIGDATA_MAX_QUERY_MILLIS = "X-BIGDATA-MAX-QUERY-MILLIS";
          

          The reason for choosing an HTTP header is that it can be imposed by an HTTP proxy and thus can not be defeated by a client.

          Your case is perhaps somewhat different. However, please let me know whether the existing mechanism will work for you.

          Show
          bryanthompson bryanthompson added a comment - This can already be done using an HTTP header as follows: /** * HTTP header may be used to specify the timeout for a query. * * @see http://trac.blazegraph.com/ticket/914 (Set timeout on remote query) */ static public final String HTTP_HEADER_BIGDATA_MAX_QUERY_MILLIS = "X-BIGDATA-MAX-QUERY-MILLIS"; The reason for choosing an HTTP header is that it can be imposed by an HTTP proxy and thus can not be defeated by a client. Your case is perhaps somewhat different. However, please let me know whether the existing mechanism will work for you.
          Hide
          bryanthompson bryanthompson added a comment -

          We support this through an HTTP header rather than a query hint. The use of an HTTP header makes it possible to enforce a timeout using an HTTP proxy.

          This ticket requests the ability for the client to specify a timeout rather than for the server to impose one. The client can do this already using an http header. This issue could be reopened if adding the HTTP header was problematic for the client, but in my experience this is pretty straightforward.

          Show
          bryanthompson bryanthompson added a comment - We support this through an HTTP header rather than a query hint. The use of an HTTP header makes it possible to enforce a timeout using an HTTP proxy. This ticket requests the ability for the client to specify a timeout rather than for the server to impose one. The client can do this already using an http header. This issue could be reopened if adding the HTTP header was problematic for the client, but in my experience this is pretty straightforward.

            People

            • Assignee:
              thompsonbry thompsonbry
              Reporter:
              jeremycarroll jeremycarroll
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: