Thanks Gregg - can you file a JIRA issue?

- Mark

On Feb 6, 2013, at 5:57 PM, Gregg Donovan <gregg...@gmail.com> wrote:

> Mark-
> 
> You're right that SolrCore#getIndexDir() did not directly read
> index.properties in 3.6. In 3.6, it gets it indirectly from what is passed
> to the constructor of SolrIndexSearcher. Here's SolrCore#getIndexDir() in
> 3.6:
> 
>  public String getIndexDir() {
>    synchronized (searcherLock) {
>      if (_searcher == null)
>        return dataDir + "index/";
>      SolrIndexSearcher searcher = _searcher.get();
>      return searcher.getIndexDir() == null ? dataDir + "index/" :
> searcher.getIndexDir();
>    }
>  }
> 
> In 3.6 the only time I see a new SolrIndexSearcher created without the
> results of SolrCore#getNewIndexDir() getting passed in somehow would be if
> SolrCore#newSearcher(String, boolean) is called manually before any other
> SolrIndexSearcher. Otherwise, it looks like getNewIndexDir() is getting
> passed to new SolrIndexSearcher which is then reflected back
> in SolrCore#getIndexDir().
> 
> So, in 3.6 we had been able to rely on SolrCore#getIndexDir() giving us
> either the value the index referenced in index.properties OR dataDir +
> "index/" if index.properties was missing. In 4.1, it always gives us
> dataDir + "index/".
> 
> Here's the comment in 3.6 on SolrCore#getNewIndexDir() that I think you
> were referring to. The comment is unchanged in 4.1:
> 
>  /**
>   * Returns the indexdir as given in index.properties. If index.properties
> exists in dataDir and
>   * there is a property <i>index</i> available and it points to a valid
> directory
>   * in dataDir that is returned Else dataDir/index is returned. Only
> called for creating new indexSearchers
>   * and indexwriters. Use the getIndexDir() method to know the active
> index directory
>   *
>   * @return the indexdir as given in index.properties
>   */
>  public String getNewIndexDir() {
> 
> *"Use the getIndexDir() method to know the active index directory"* is the
> behavior that we were reliant on. Since it's now hardcoded to dataDir +
> "index/", it doesn't always return the active index directory.
> 
> --Gregg
> 
> On Wed, Feb 6, 2013 at 5:13 PM, Mark Miller <markrmil...@gmail.com> wrote:
> 
>> 
>> On Feb 6, 2013, at 4:23 PM, Gregg Donovan <gregg...@gmail.com> wrote:
>> 
>>> code we had that relied on the 3.6 behavior of SolrCore#getIndexDir() is
>>> not working the same way.
>> 
>> Can you be very specific about the different behavior that you are seeing?
>> What exactly where you seeing and counting on and what are you seeing now?
>> 
>> - Mark

Reply via email to