Mike Drob created SOLR-15009: -------------------------------- Summary: DirectoryFactory exists masks IOExceptions Key: SOLR-15009 URL: https://issues.apache.org/jira/browse/SOLR-15009 Project: Solr Issue Type: Bug Security Level: Public (Default Security Level. Issues are Public) Affects Versions: 8.4.1 Reporter: Mike Drob
This NPE was seen on a cluster running 8.4.1 - {noformat} o.a.s.h.RequestHandlerBase java.lang.NullPointerException at org.apache.solr.core.StandardDirectoryFactory.exists(StandardDirectoryFactory.java:92) at org.apache.solr.core.SolrCore.getIndexSize(SolrCore.java:462) at org.apache.solr.core.SolrCore.lambda$initializeMetrics$8(SolrCore.java:1200) at org.apache.solr.metrics.SolrMetricManager$GaugeWrapper.getValue(SolrMetricManager.java:711) at org.apache.solr.util.stats.MetricUtils.convertGauge(MetricUtils.java:488) at org.apache.solr.util.stats.MetricUtils.convertMetric(MetricUtils.java:274) at org.apache.solr.util.stats.MetricUtils.lambda$toMaps$4(MetricUtils.java:213) {noformat} The problem comes from an IOException from list, which gets turned into a null return. In this case, we do want the IOException to bubble so that we can catch and log in getIndexSize. Aside from that, if all we really care about is whether there are files, then we could do a much more efficient check than requiring the whole directory to be listed. This is especially problematic when the directory is large or remote. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org