SolrCore.getSolrCore() may create a SolrCore without a CoreContainer
--------------------------------------------------------------------
Key: SOLR-736
URL: https://issues.apache.org/jira/browse/SOLR-736
Project: Solr
Issue Type: Bug
Affects Versions: 1.3
Reporter: Henri Biestro
The method is deprecated but one can still initialize & start working this way.
Potential fix could be:
{code}
@Deprecated
public static SolrCore getSolrCore() {
synchronized( SolrCore.class ) {
if( instance == null ) {
try {
// sets 'instance' to the latest solr core
final SolrConfig solrConfig = new SolrConfig();
final IndexSchema indexSchema = new IndexSchema(solrConfig,
"schema.xml", null);
CoreContainer.Initializer init = new CoreContainer.Initializer() {
@Override
public CoreContainer initialize() {
CoreContainer container = new CoreContainer(new
SolrResourceLoader(SolrResourceLoader.locateInstanceDir()));
CoreDescriptor dcore = new CoreDescriptor("",
solrConfig.getResourceLoader().getInstanceDir());
dcore.setCoreContainer(container);
dcore.setConfigName(solrConfig.getResourceName());
dcore.setSchemaName(indexSchema.getResourceName());
SolrCore core = new SolrCore(null, null, solrConfig, indexSchema,
dcore);
container.register(null, core, false);
return container;
}
};
instance = init.initialize().getCore("");
} catch(Exception xany) {
throw new SolrException( SolrException.ErrorCode.SERVER_ERROR,
"error creating core", xany );
}
}
}
return instance;
}
{code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.