[
https://issues.apache.org/jira/browse/SOLR-17340?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Smiley resolved SOLR-17340.
---------------------------------
Fix Version/s: 9.7
Resolution: Fixed
Thanks; well done.
> Call to /solr/admin/info/system is abnormally slow
> --------------------------------------------------
>
> Key: SOLR-17340
> URL: https://issues.apache.org/jira/browse/SOLR-17340
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Affects Versions: 9.6
> Reporter: Pierre Salagnac
> Priority: Minor
> Labels: pull-request-available
> Fix For: 9.7
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> Solr endpoint {{/solr/admin/info/system}} is used to return some generic
> system metrics (memory, JVM...)
> This endpoint is also used by {{solr-operator}} by default for start-up probe
> and liveness probe. (details
> [here|https://github.com/apache/solr-operator/blob/5fec11f8ef181a58b1f72123b44ae6532c49b62d/controllers/util/solr_security_util.go#L44]).
> Very long runtime can cause failures of the probes.
> Runtime is abnormally slow because of the time spent in introspecting beans
> to create {{BeanInfo}} instances. Most of the time is spent here:
> {code}
> java.lang.Exception: Stack trace
> at
> java.desktop/java.beans.Introspector.getBeanInfo(Introspector.java:279)
> at
> org.apache.solr.util.stats.MetricUtils.addMXBeanMetrics(MetricUtils.java:777)
> at
> org.apache.solr.util.stats.MetricUtils.addMXBeanMetrics(MetricUtils.java:841)
> at
> org.apache.solr.handler.admin.SystemInfoHandler.getSystemInfo(SystemInfoHandler.java:223)
> at
> org.apache.solr.handler.admin.SystemInfoHandler.handleRequestBody(SystemInfoHandler.java:156)
> at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:248)
> at org.apache.solr.handler.admin.InfoHandler.handle(InfoHandler.java:96)
> at
> org.apache.solr.handler.admin.InfoHandler.handleRequestBody(InfoHandler.java:84)
> at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:248)
> {code}
> There is no need to execute the bean introspection at each call. We could
> lazily instantiate them and keep them in memory for efficiency.
> Note: I haven't been able to figure out the exact cause, but the runtime can
> exponentially increase under heady querying load.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]