Repository navigation
SOLR-16396 | Migrate GET config sections updateHandler, directoryFactory, indexConfig, and codecFactory to JAX-RS. - #5023
Conversation
Testing for indexConfig
v1 API gives 404 for /indexConfig in production as well, its missing in the subpath registration done in SolrConfigHandler, @epugh lmk if we should fix it? I will create jira for it & raise minor fix PR for the same. since, v2 is the new future & it works there, so not raising any PR before confirmation. that 404 behaviour remains the same in this PR right now. |
Testing for query
UpdateEncountered cases like: which i came to know via failing test in TestPackages query would be migrated to V2 alongside others of its own type. Moving out query from this PR scope for now. |
|
|
||
| // TODO: Keep this regex in sync with GetConfig.MIGRATED_CONFIG_COMPONENTS | ||
| @GET | ||
| @Path("/{component:updateHandler|directoryFactory|indexConfig|codecFactory}") |
There was a problem hiding this comment.
interesting! I mean, why not...




















https://issues.apache.org/jira/browse/SOLR-16396
Description
Part of SOLR-16396 (Config GET → JAX-RS)
This PR: migrate the five same-shape section GETs to JAX-RS:
Already landed / related:
Solution
Add ConfigApi.Get#getConfigComponent with an allow-listed @path regex for those five names & reused ConfigInfoResponse.
Implement on GetConfig: convert SolrConfig, slice one section, wrap with NullKeyTolerantMap (shared solrConfigAsMap / jsonSafeCopy with full getConfig). Do not run implicit-handler / expandParams logic — those sections never had it.
V1 SolrConfigHandler.handleGET squashes these five through the same Jersey method (MIGRATED_CONFIG_COMPONENTS). Other sections stay on the legacy branch.
Leave AnnotatedApi GET /config/{component} in place for unmigrated names.
TODOs: keep the path regex in sync with the Set; drop the Set when remaining sections migrate.
AI Disclaimer: Used Cursor for Approach formulation, code is fully vetted & reviewed by me.
Tests
migrated section; assert single-key config map.
to exercise squash.
Checklist
Please review the following and check all that apply:
mainbranch../gradlew check.