SOLR-18161: improve node system response#4240
Open
igiguere wants to merge 31 commits intoapache:mainfrom
Open
Conversation
Add NodeSystemIfoApi (notice the lower-case last chars), to (eventually) replace Endpoint NodeSystemIfoAPI. Lo warning about deprecation. Add GetNodeSystemInfo, move the info-gathering logic to a separate class NodeSystemInfoProvider, adjust SystemInfoHandler. Known Issue: NodeSystemInfoResponse does not support responses from multiple nodes. More testing and clean-up to do.
Fix NodeSystemResponse to contain a map of node name to node info. Fix responses for Json and XML. TODO : nodes=all is ignored
Clean-up unused imports
forgot those in the previous commit
Fix log calls. Add unit tests for HTTP call.
Remove the Map from NodeSystemInfoResponse: the AdminHandlersProxy wraps all nodes responses into a map, it should not belong to the response class.
Replace the Map wrapper by just a single object wrapper: NodeSystemInfo. It provides some separation between the response header and the actual node info.
Ensure back-compatible response from V1 path (and from old V2 path)
Add method getSpecificNodeSystemInfo, with path parameter, to get only selected info. Add query param "nodes": not used, because AdminHandlersProxy does not support V2 yet.
Merge remote-tracking branch 'origin-solr/main' into NodeSystemInfoApi-JerseyResource
Merge remote-tracking branch 'origin-solr/main' into NodeSystemInfoApi-JerseyResource
Commented-out for now. Revert to class name NodeSystemResponse
Split core info response into a different model class. Place the getCoreInfo method in the utility class, to re-use in back-compatible /admin/info/system response. Rename a few classes Adjust documentation
…guere/solr.git into NodeSystemInfoApi-JerseyResource
using the PR rather that the mixed-up Jira ticket
Wrap node info into "nodeInfo" field, to separate from the response headers. Add a method to get specific node info (gpu, lucence, jvm,...) Other modifications as previously discussed on PR apache#4078 Relevant unit tests pass, functional test and gradlew check to do...
gradlew tidy gradlew clean check one unrelated unit test (JWT) failing
changelog!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://issues.apache.org/jira/browse/SOLR-18161
Description
Follow-up on PR #4078. These changes were originally part of that PR, but made it difficult to review and merge.
Solution
Wrap the V2 system info in "nodeInfo", to separate the system info from the response header:
Add a method to NodeSystemInfoApi that takes a path parameter to return the select info:
lucene,jvm,gpu, orsecurityTests
Unit tests added or adapted for the wrapped response and the path parameter.
Functional test on "devSlim", running with the "cloud" example.
Checklist
Please review the following and check all that apply:
mainbranch../gradlew check.