-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SQL: request timeout is not honoured #72151
Comments
Pinging @elastic/es-ql (Team:QL) |
Loosely related #52207. |
This parameter isn't shown into the translation either, worth looking into adding it. |
From what I've found in the docs, the expected behavior of the timeout parameters in
So, the current state seems to be that |
This seems to be the case indeed @Luegg. |
Resolves #72151 The _sql endpoint offers a `page_timeout` parameter for customizing how long scroll contexts should be kept open (if needed) and a `request_timeout` parameter which the docs describe as "Timeout before the request fails.". Currently, the value of the `page_timeout` parameter is used as the `timeout` in subsequent _search requests and not as the timeout in the `scroll` configuration. For the `scroll` configuration, SQL uses the `request_timeout` parameter. This PR addresses the issue by swapping the uses of `page_timeout` and `request_timeout` in querier. Additionally, the PR removes some unused artifacts that might have caused some confusion: - The `timeout` and `keepAlive` fields in `Querier`. Instead, `Querier` directly uses the according fields in `SqlConfiguration`. - The `SqlConfiguration` parameter from `ScrollCursor.clear`, it's not used but required an instance of `SqlConfiguration` with all default values. - One overloaded constructor of `SqlConfiguration` that was only used for calling `ScrollCursor.clear` (and some tests) and used default values for an (arbitrary?) subset of the fields. - The fields related to async requests in `SqlConfiguration`. I'm a bit unsure about this one but the fields are never read and it does not seem like an SQL specific concern. The whole creation of the async tasks is handled in `TransportSqlQueryAction` and the downstream components do not require the information.
…tic#79360) Resolves elastic#72151 The _sql endpoint offers a `page_timeout` parameter for customizing how long scroll contexts should be kept open (if needed) and a `request_timeout` parameter which the docs describe as "Timeout before the request fails.". Currently, the value of the `page_timeout` parameter is used as the `timeout` in subsequent _search requests and not as the timeout in the `scroll` configuration. For the `scroll` configuration, SQL uses the `request_timeout` parameter. This PR addresses the issue by swapping the uses of `page_timeout` and `request_timeout` in querier. Additionally, the PR removes some unused artifacts that might have caused some confusion: - The `timeout` and `keepAlive` fields in `Querier`. Instead, `Querier` directly uses the according fields in `SqlConfiguration`. - The `SqlConfiguration` parameter from `ScrollCursor.clear`, it's not used but required an instance of `SqlConfiguration` with all default values. - One overloaded constructor of `SqlConfiguration` that was only used for calling `ScrollCursor.clear` (and some tests) and used default values for an (arbitrary?) subset of the fields. - The fields related to async requests in `SqlConfiguration`. I'm a bit unsure about this one but the fields are never read and it does not seem like an SQL specific concern. The whole creation of the async tasks is handled in `TransportSqlQueryAction` and the downstream components do not require the information.
…) (#79915) Resolves #72151 The _sql endpoint offers a `page_timeout` parameter for customizing how long scroll contexts should be kept open (if needed) and a `request_timeout` parameter which the docs describe as "Timeout before the request fails.". Currently, the value of the `page_timeout` parameter is used as the `timeout` in subsequent _search requests and not as the timeout in the `scroll` configuration. For the `scroll` configuration, SQL uses the `request_timeout` parameter. This PR addresses the issue by swapping the uses of `page_timeout` and `request_timeout` in querier. Additionally, the PR removes some unused artifacts that might have caused some confusion: - The `timeout` and `keepAlive` fields in `Querier`. Instead, `Querier` directly uses the according fields in `SqlConfiguration`. - The `SqlConfiguration` parameter from `ScrollCursor.clear`, it's not used but required an instance of `SqlConfiguration` with all default values. - One overloaded constructor of `SqlConfiguration` that was only used for calling `ScrollCursor.clear` (and some tests) and used default values for an (arbitrary?) subset of the fields. - The fields related to async requests in `SqlConfiguration`. I'm a bit unsure about this one but the fields are never read and it does not seem like an SQL specific concern. The whole creation of the async tasks is handled in `TransportSqlQueryAction` and the downstream components do not require the information.
All requests, initial or subsequent paginations, use the
page_timeout
, whose value's either taken from the config/request or default.Expected is to have the
request_timeout
config's value used for the initial request timeout.The text was updated successfully, but these errors were encountered: