In the process of upgrading from 3.6 to 4.1, we've noticed that much of the
code we had that relied on the 3.6 behavior of SolrCore#getIndexDir() is
not working the same way.

In 3.6, SolrCore#getIndexDir() would get us the index directory read from
index.properties, if it existed, otherwise it would return dataDir +
"index/".  As of svn 1420992 [1], SolrCore#getIndexDir() just
returns dataDir + "index/" and does not take index.properties into account.

This has me wondering what the intended state of support for
index.properties is in 4.1. After reading the code for some of the relevant
components -- Core admin, HTTP Replication, etc. -- I'm somewhat confused.

--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, won't this delete the wrong
directory?

--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, won't this return the
size of the wrong directory?

Seeing these two examples, I wondered if index.properties and the use of
directories other than <dataDir>/index/ was deprecated, but I see that
SnapPuller will create a new directory within <dataDir> and update
index.properties to point to it in cases where isFullCopyNeeded=true.

Our current Solr 3.6 reindexing scheme works by modifying index.properties
to point to a new directory and then doing a core reload. I'm wondering if
this method is intended to be deprecated at this point, or if the SolrCloud
scenarios are just getting more attention and some bugs have slipped into
the older code paths. I can certainly appreciate that it's tough to make
the changes needed for SolrCloud while maintaining perfect compatibility in
pre-Cloud code paths. Would restoring the previous contact of
SolrCore#getIndexDir() break anything in SolrCloud?

Thanks!

--Gregg


Gregg Donovan
Senior Software Engineer, Etsy.com
gr...@etsy.com

[1]
http://svn.apache.org/viewvc?diff_format=h&view=revision&revision=1420992

Reply via email to