epugh opened a new pull request, #5058: URL: https://github.com/apache/solr/pull/5058
## Description Demonstrates sending read-only SQL requests using HTTP QUERY without changes to Jetty. The Admin UI SQL screen offers GET, POST, and QUERY, with POST as the default. GET sends `stmt` in the URL; POST and QUERY send it in a form-encoded body. ## Solution Adds QUERY to Solr's HTTP method handling and the Jetty-backed SolrJ client, defines a JAX-RS `@QUERY` annotation, and adds a test-only V2 Jersey endpoint to prove JSON body handling over HTTP/1.1 and HTTP/2. Developer documentation describes when QUERY is appropriate. This is an experiment, not complete public API support. Other SolrJ transports, distributed forwarding, authorization policies, OpenAPI generation, and QUERY caching still need validation. **Dependency:** this branch is based on `SOLR-16640`. Its diff against `main` currently includes the SQL screen's missing-module error handling, clickable documentation link, and techproducts SQL-module enablement. The isolated QUERY demonstration is commit `0b81777fef9`; those prerequisite changes can be removed from this PR's diff after they land separately. Implemented with Codex assistance. ## Tests - Seven headless Chrome SQL screen tests passed, covering actual GET/POST/QUERY verbs, body versus URL parameters, 20 KB SQL statements, and the documentation link. - Twelve core tests passed: `HttpQueryIntegrationTest` and `SolrRequestParserTest`. - `./gradlew tidy` and `./gradlew check -x test` passed. - The focused `SOLR-16640` base was separately validated with its three SQL browser tests and `check -x test`. ## Checklist - [x] Added tests for the demonstrated behavior. - [x] Added developer documentation. - [ ] Assigned a dedicated JIRA issue to the QUERY experiment. - [ ] Ready for production use or merge. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
