[ https://issues.apache.org/jira/browse/SOLR-11687?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Erick Erickson resolved SOLR-11687. ----------------------------------- Resolution: Fixed Fix Version/s: 7.2 > SolrCore.getNewIndexDir falsely returns {dataDir}/index on any IOException > reading index.properties > --------------------------------------------------------------------------------------------------- > > Key: SOLR-11687 > URL: https://issues.apache.org/jira/browse/SOLR-11687 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Reporter: Erick Erickson > Assignee: Erick Erickson > Fix For: 7.2 > > Attachments: SOLR-11687.patch, SOLR-11687.patch, SOLR-11687.patch, > SOLR-11687_alt.patch > > > I'll link the originating Solr JIRA in a minute (many thanks Nikolay). > right at the top of this method we have this: > {code} > String result = dataDir + "index/"; > {code} > 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: > {code} > 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); > } > {code} > 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? -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org