Skip to content

SOLR-18091: Separate out core specific info into CoreInfoHandler#4084

Open
epugh wants to merge 18 commits intoapache:mainfrom
epugh:SOLR-18091
Open

SOLR-18091: Separate out core specific info into CoreInfoHandler#4084
epugh wants to merge 18 commits intoapache:mainfrom
epugh:SOLR-18091

Conversation

@epugh
Copy link
Contributor

@epugh epugh commented Jan 28, 2026

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

Description

Instead of having SystemInfoHandler accessible at two different URLS, and serving different data, just split them and have proper names.

V1: http://localhost:8983/solr/admin/info/system
V2: http://localhost:8983/api/node/system

and

http://localhost:8983/solr/techproducts/admin/info

There appears to be no V2 for the core level

Solution

Make loading pattern clearer. CoreInfoHandler is in ImplicitPlugins.json, while SystemInfoHandler is part of InfoHandler loaded in CoreContainer.

Tests

manual and unit

I still need to check the solr Admin UI to make sure the new /solr/techproducts/admin/info url makes.

@epugh epugh requested review from dsmiley and gerlowskija January 28, 2026 04:29

@Override
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {
rsp.setHttpCaching(false);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this request handler need if (AdminHandlersProxy.maybeProxyToNodes(req, rsp, getCoreContainer(req))) { like SystemInfoHandler has? Is that soemthing every class needs?

@epugh epugh changed the title Seperate out core specific info into CoreInfoHandler SOLR-18091: Separate out core specific info into CoreInfoHandler Jan 31, 2026
@epugh
Copy link
Contributor Author

epugh commented Jan 31, 2026

@gerlowskija @igiguere you may be interested in this PR with your work on the V2 apis...

@github-actions github-actions bot added the tests label Jan 31, 2026
@github-actions github-actions bot added documentation Improvements or additions to documentation client:solrj cat:api labels Jan 31, 2026
@epugh
Copy link
Contributor Author

epugh commented Jan 31, 2026

I think this could go to 10x as it turns out the Admin UI, which is the primary consumer, was easy to update.

@epugh
Copy link
Contributor Author

epugh commented Feb 3, 2026

I think that the fact that you got system info at the core level was a bug... not a feature. And that by seperating them and making the urls endpoints clearer, I fixed the bug, and therefore this can be backported to branch_10x.... Thoughts?

@igiguere
Copy link
Contributor

igiguere commented Feb 3, 2026

@gerlowskija @igiguere you may be interested in this PR with your work on the V2 apis...

@gerlowskija @igiguere you may be interested in this PR with your work on the V2 apis...

I was working on #4078 instead. Draft... a couple of questions before I make it official.
I agree that system info should not need the core info. (I think I commented about in a unit test somewhere.)
See NodeSystemInfoProvider in #4078 : it gathers the methods to get the info, including core info... so maybe that could be elsewhere when core info is separate from system info

@epugh
Copy link
Contributor Author

epugh commented Feb 4, 2026

Okay, this looks ready for final review and hopefully a merge!

@epugh
Copy link
Contributor Author

epugh commented Feb 6, 2026

I'd like to merge this on Monday....

Copy link
Contributor

@dsmiley dsmiley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth mentioning in the upgrade guide. Technically a back-compat break but I'm +1 for 10.1.

@@ -0,0 +1,8 @@
# See https://github.com/apache/solr/blob/main/dev-docs/changelog.adoc
title: Seperate the node/container level info from the core level info for the admin end points.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'd be more helpful to list the actual affected endpoints

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

dirs.add("data", core.getDirectoryFactory().normalize(core.getDataDir()));
} catch (IOException e) {
log.warn("Problem getting the normalized data directory path", e);
dirs.add("data", "N/A");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yuck; lets not add dummy/invalid values

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!

dirs.add("index", core.getDirectoryFactory().normalize(core.getIndexDir()));
} catch (IOException e) {
log.warn("Problem getting the normalized index directory path", e);
dirs.add("index", "N/A");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

again; dummy is bad

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'm happy to make this change, just FYI that is a change compared to 9x and 10.0... I was just moving things, not redoing things...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and done!

@epugh
Copy link
Contributor Author

epugh commented Feb 7, 2026

Okay, I think i've responded to feedback and I am looking to merge this on Monday. Hopefully all of this goes away as our V2 API's come online!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

admin-ui cat:api client:solrj documentation Improvements or additions to documentation tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants