[
https://issues.apache.org/jira/browse/SOLR-17340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17867836#comment-17867836
]
ASF subversion and git services commented on SOLR-17340:
--------------------------------------------------------
Commit c9da608800e7bd76a6aa7dbd0a753621232cd30d in solr's branch
refs/heads/branch_9x from Pierre Salagnac
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=c9da608800e ]
SOLR-17340: /admin/info/system optimization by caching BeanInfo (#2538)
Note the prefix arg was always null, thus this one-line change is just a
refactoring for correctness.
(cherry picked from commit 0da7a784353eefa9b37832bb6f557be81b7c03cf)
> 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
> 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]