[ 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