[ 
https://issues.apache.org/jira/browse/SOLR-17340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17867833#comment-17867833
 ] 

ASF subversion and git services commented on SOLR-17340:
--------------------------------------------------------

Commit 0da7a784353eefa9b37832bb6f557be81b7c03cf in solr's branch 
refs/heads/main from Pierre Salagnac
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=0da7a784353 ]

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.

> 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: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to