-
Notifications
You must be signed in to change notification settings - Fork 6
Description
As it stands and to the best of my knowledge TAP clients cannot reliably distinguish query timeouts from other failures.
Various services will return timeouts in different ways (different HTTP codes, error messages, connection drops).
This makes it very challenging for clients to identify, and perhaps recommend to a user an improved course of action.
An example of why standardizing this would be useful:
Many services have a short timeout for sync queries, but longer for async. A client interacting with this service
would then be able to identify that the sync query timed-out and either recommend use of async or implement some kind of retry logic.
Proposed Solution
Add something like this to DALI section 5.2 (Error Handling):
Services are urged to use HTTP 408 (Request Timeout) status code when a request takes more time to process than the server is willing to allot.
This allows clients to distinguish timeouts from other failures and take an appropriate action.
Context
Emerged from pyvo discussion here:
astropy/pyvo#686