<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Thank you Paul for this suggestion. I just commented on the original
    idea.<br>
    <br>
    Anyway, with the suggestion you've proposed, it means that a service
    able to<br>
    provide such advanced/smart sync response would have to:<br>
    <br>
    - either always run the query asynchronously<br>
      (even though the sync layer said it timed out, it would keep
    running in the<br>
       potential hope someone may click on the "wait for the response"
    link and<br>
       switch on the async endpoint)<br>
    <br>
    - or will have to restart the query if the user click on the "wait
    for the response"<br>
      link<br>
    <br>
    Maybe there is another technical server solution. If not, any of
    these solutions<br>
    convince me that this server complexity worth the effort. Let's keep
    things<br>
    simple.<br>
    <br>
    I still think that such behavior should be applied on client side.
    And that would<br>
    be even more possible thanks to what Stelios has just proposed with
    a<br>
    standardized error type in DALI answers. If a sync query fails with
    a time out<br>
    error, the client can propose to try again in async mode. Then, as I
    said, a client<br>
    may also decide to run everything on async mode and show immediately<br>
    the result if it succeeded quickly (as TAPHandle does).<br>
    <br>
    Cheers,<br>
    Grégory<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 15/07/2025 18:22, Paul Harrison
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:E20BE2A3-D7B5-48FF-BC45-EAA9FD39E4C4@manchester.ac.uk">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <br id="lineBreakAtBeginningOfMessage">
      <div><br>
        <blockquote type="cite">
          <div>On 15 Jul 2025, at 14:41, Gregory MANTELET via dal
            <a class="moz-txt-link-rfc2396E" href="mailto:dal@ivoa.net"><dal@ivoa.net></a> wrote:</div>
          <br class="Apple-interchange-newline">
          <div>
            <meta charset="UTF-8">
            <br
style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 15px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">
            <span
style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 15px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">To
              be honest, I don't like either this false-</span><i
style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 15px; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">sync</i><span
style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 15px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;"><span
                class="Apple-converted-space"> </span>endpoint. Changing
              that way</span><br
style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 15px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">
            <span
style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 15px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">the
              behavior of this endpoint is clearly a breaking change</span></div>
        </blockquote>
      </div>
      <br>
      <div>What I suggested is a backwards compatible extension for
        “dumb" clients assuming that they always treat a non-2xx http
        response is an error. It is still a sync endpoint that can
        time-out (which could happen in the current UWS/TAP standard
        definitions) - it is just that the timeout *could* contain
        information that would allow a slightly less dumb client to see
        that it might be possible still to obtain the result if they are
        prepared to wait longer and do the full async protocol. Simple
        clients do not have to do any more work than before.</div>
      <div><br>
      </div>
      <div>Paul.</div>
    </blockquote>
    <br>
  </body>
</html>