[
https://issues.apache.org/jira/browse/SOLR-4413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13574650#comment-13574650
]
Mark Miller commented on SOLR-4413:
-----------------------------------
AFAICT this changed when I finished making Directory first class. You can't so
easily get the index dir from the searcher (which got it from the fs
directory). I'll see what we can do to improve it for 4.2.
> SolrCore#getIndexDir() contract change between 3.6 and 4.1
> ----------------------------------------------------------
>
> Key: SOLR-4413
> URL: https://issues.apache.org/jira/browse/SOLR-4413
> Project: Solr
> Issue Type: Bug
> Affects Versions: 4.0, 4.1
> Reporter: Gregg Donovan
> Assignee: Mark Miller
> Fix For: 4.2, 5.0
>
>
> In [SVN 1420992|http://svn.apache.org/viewvc?view=revision&revision=1420992],
> {{SolrCore#getIndexDir()}} changed it's implementation from a version that
> would reflect the value of the index property in {{index.properties}} to one
> that does not.
> In 3.6, {{SolrCore#getIndexDir()}} was:
> {code:java}
> public String getIndexDir() {
> synchronized (searcherLock) {
> if (_searcher == null)
> return dataDir + "index/";
> SolrIndexSearcher searcher = _searcher.get();
> return searcher.getIndexDir() == null ? dataDir + "index/" :
> searcher.getIndexDir();
> }
> {code}
> In 3.6, {{SolrIndexSearcher}} would be passed the value of
> {{SolrCore#getNewIndexDir()}} -- which reads index.properties -- in its
> constructor and return it when {{SolrIndexSearcher#getIndexDir()}} was called.
>
> In 4.1, {{SolrCore#getIndexDir()}} is:
> {code:java}
> public String getIndexDir() {
> return dataDir + "index/";
> }
> {code}
> Clients of {{SolrCore#getIndexDir()}} that were expecting the previous
> behavior are likely to have issues. E.g.:
> --In {{CoreAdminHandler#handleUnloadAction(SolrQueryRequest,
> SolrQueryResponse)}} if the {{deleteIndex}} flag is set to true, it calls
> {{core.getDirectoryFactory().remove(core.getIndexDir())}}. If a value other
> than {{index/}} is set in {{index.properties}}, the wrong directory will be
> deleted.
> --In {{CoreAdminHandler#getIndexSize(SolrCore)}}, the existence of
> {{SolrCore#getIndexDir()}} is checked before {{SolrCore#getNewIndexDir()}}.
> If a value other than {{index/}} is set in {{index.properties}}, this will
> return the size of the wrong directory.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]