Support HTTP QUERY method (RFC 10008) on _search (#22409)#22410
Support HTTP QUERY method (RFC 10008) on _search (#22409)#22410marceloboeira wants to merge 1 commit into
Conversation
PR Reviewer Guide 🔍(Review updated until commit 5a43f8a)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to 5a43f8a Explore these optional code suggestions:
Previous suggestionsSuggestions up to commit 60a4546
Suggestions up to commit 9a5211b
Suggestions up to commit 1fd1d8b
Suggestions up to commit fe2927e
Suggestions up to commit 95c9051
|
|
❌ Gradle check result for a3e34db: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
Persistent review updated to latest commit e32ad6b |
|
❌ Gradle check result for e32ad6b: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Add QUERY method to the search API documentation with RFC 10008 compliance note indicating OpenSearch 2.17 support. Reference: * opensearch-project/OpenSearch#22410 * opensearch-project/OpenSearch#22409 Signed-off-by: Marcelo Boeira <marcelo@boeira.me>
Implement RFC 10008 support by adding the QUERY method to /_search and /{index}/_search endpoints with proper parameter references and response definitions.
Note: Integration tests will be added after client libraries add QUERY support.
Reference:
* opensearch-project/OpenSearch#22410
* opensearch-project/OpenSearch#22409
Signed-off-by: Marcelo Boeira <marcelo@boeira.me>
|
Persistent review updated to latest commit fa8abe4 |
|
❌ Gradle check result for fa8abe4: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
Persistent review updated to latest commit dfb9cd6 |
|
❌ Gradle check result for dfb9cd6: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
@marceloboeira -- It looks like we need to add QUERY as a valid method to some enum: Specifically, I think you need to add QUERY to list of valid methods here: |
2492d68 to
ae71a80
Compare
|
Persistent review updated to latest commit 2492d68 |
|
Persistent review updated to latest commit ae71a80 |
|
❌ Gradle check result for ae71a80: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
Persistent review updated to latest commit 95c9051 |
|
❌ Gradle check result for 95c9051: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
Persistent review updated to latest commit fe2927e |
|
❌ Gradle check result for fe2927e: null Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
93b1381 to
1fd1d8b
Compare
|
Persistent review updated to latest commit 1fd1d8b |
|
❌ Gradle check result for 1fd1d8b: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
Persistent review updated to latest commit 9a5211b |
|
Persistent review updated to latest commit 60a4546 |
|
❌ Gradle check result for 60a4546: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
The failure is a flaky test unrelated to this change.
it fails in This test is already tracked as flaky in #17215 ( |
…22409) Add QUERY as a first-class HTTP method on _search, _msearch routes, and count operations. The method is safe, idempotent, and cacheable per RFC 10008, filling the gap between GET (URI-only) and POST (mutating). Key changes: * RestRequest.Method enum now includes QUERY * RestSearchAction routes register QUERY on _search and /{index}/_search * RestMsearchAction registers QUERY similarly * Netty4HttpRequest and reactor-netty4 HttpConversionUtil handle QUERY without changes (Netty already recognizes HttpMethod.QUERY) * rest-api-spec schema documents QUERY as accepted method * Unit tests added to RestSearchActionTests and RestControllerTests Integration tests deferred: elasticsearch-java and opensearch-java client libraries must add QUERY to their HttpMethod enums first. Coordination tracked in opensearch-project#22409 Backward compatible: GET and POST _search behavior unchanged. QUERY is purely opt-in for new clients that support RFC 10008. Gate the QUERY method out of the yaml REST test method-randomizer when the cluster's minimum node version predates 3.8.0, so mixed-version BWC tests never route QUERY to older nodes that would reject it. Signed-off-by: Marcelo Boeira <marcelo@boeira.me>
|
Persistent review updated to latest commit 5a43f8a |
|
❌ Gradle check result for 5a43f8a: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Description
Add QUERY as a first-class HTTP method on _search, _msearch routes, and count operations. The method is safe, idempotent, and cacheable per RFC 10008, filling the gap between GET (URI-only) and POST (mutating).
Key changes:
Backward compatible: GET and POST _search behavior unchanged. QUERY is purely opt-in for new clients that support RFC 10008.
Related Issues
Integration tests deferred: elasticsearch-java and opensearch-java client libraries must add QUERY to their HttpMethod enums first. Coordination tracked in #22409 and elastic/elasticsearch#153255.
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.