Description
I'll link the originating Solr JIRA in a minute (many thanks Nikolay).
right at the top of this method we have this:
String result = dataDir + "index/";
If, for any reason, the method doesn't complete properly, the "result" is still returned. Now for instance, down in SolrCore.cleanupOldIndexDirectories the "old" directory is dataDir/index which may point to the current index.
This seems particularly dangerous:
try { p.load(new InputStreamReader(is, StandardCharsets.UTF_8)); String s = p.getProperty("index"); if (s != null && s.trim().length() > 0) { result = dataDir + s; } } catch (Exception e) { log.error("Unable to load " + IndexFetcher.INDEX_PROPERTIES, e); } finally { IOUtils.closeQuietly(is); }
Should "p.load" fail for any reason whatsoever, we'll still return dataDir/index.
Anyone want to chime on on what the expectations are here before I dive in?
Attachments
Attachments
Issue Links
- contains
-
SOLR-11625 Solr may remove live index on Solr shutdown
- Resolved
- is related to
-
SOLR-11625 Solr may remove live index on Solr shutdown
- Resolved