Repository navigation
Conversation
Header or param. Useful to reach a specific node. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
|
FYI I've been using this for awhile at work. Are there security concerns here? I don't think so. This is live-nodes only. |
code: use Solr's URL param parsing
janhoy
left a comment
There was a problem hiding this comment.
I delegate review to Copilot who is probably better at servlet spec than me. I do like the general solution and I believe the security aspect is handled so so far a LGTM from me from 10.000 ft
janhoy
left a comment
There was a problem hiding this comment.
Some manual review comments as I'm out of copilot credit...
| zkStateReader.getBaseUrlForNodeName(resolvedNode) + ServletUtils.getPathAfterContext(req); | ||
| String queryString = req.getQueryString(); | ||
| if (queryString != null) { | ||
| url = url + "?" + queryString; |
There was a problem hiding this comment.
Should we use the URL class for url manipulation instead of String?
There was a problem hiding this comment.
I'm rather sympathetic. We have an addiction to untyped Strings, and it'd behove us to adopt URI as Jetty has done. I'll push an improvement.
There was a problem hiding this comment.
🟡 Changes recommended
Caller identity preservation and request-routing correctness need correction before approval.
5 open issues
Proxy authentication uses node identity instead of caller identity · New Authentication filter masks proxy errors and response statuses · New Routing directive causes proxy loops on non-replica nodes · New Decoded request paths corrupt upstream URL encoding · New Dotless live-node names are incorrectly expanded · New
Review effort: Balanced
| HttpClient httpClient = | ||
| ((HttpJettySolrClient) cores.getDefaultHttpSolrClient()).getHttpClient(); | ||
| HttpSolrProxy.doHttpProxy(httpClient, req, resp, url); |
There was a problem hiding this comment.
I'm investigating this separately.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
…uting loops Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
…icationFilter Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
… caller Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
|
It's really remarkable how much this PR has improved/evolved as a result of such peer-review/scrutiny. |


https://issues.apache.org/jira/browse/SOLR-18537