This issue has been resolved by removing dataDir property from solrconfig.xml
On Wed, Apr 14, 2010 at 10:32 AM, Sergei Goorov <goo...@gmail.com> wrote: > > When solr core is being created (in my case from solrj lib) the parameter > dataDir is ignored, the value from solrconfig.xml is used instead it. > Under debugger I find strange place in org.apache.solr.core.CoreContainer > (solr version 1.4): > > public SolrCore create(CoreDescriptor dcore) throws > ParserConfigurationException, IOException, SAXException { > ... > // my comment: here second parameter (which is null) is dataDir but dcore > has true dataDir value > SolrCore core = new SolrCore(dcore.getName(), null, config, schema, > dcore); > return core; > } > > why dataDir is null in this SolrCore construction? > Or there is another place where dataDir should be properly set, this is in > SolrCore constructor: > > public SolrCore(String name, String dataDir, SolrConfig config, IndexSchema > schema, CoreDescriptor cd) { > ... > if (dataDir == null){ > dataDir = config.getDataDir(); > if(dataDir == null) dataDir = cd.getDataDir(); > } > > dataDir = SolrResourceLoader.normalizeDir(dataDir); > ... > } > > My opinion is when core is creating dataDir should be firstly set from > CoreDescriptor parameter and only if its dataDir is null then retrieve > dataDir from global solr config file. > Is this bug or I insufficiently understand core creating behavior? > > Many thanks, > Sergei