You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2013/07/06 00:45:28 UTC
svn commit: r1500156 - in /lucene/dev/trunk/solr: CHANGES.txt
core/src/java/org/apache/solr/cloud/ZkCLI.java
core/src/java/org/apache/solr/core/ConfigSolr.java
core/src/java/org/apache/solr/core/CoreContainer.java
Author: uschindler
Date: Fri Jul 5 22:45:28 2013
New Revision: 1500156
URL: http://svn.apache.org/r1500156
Log:
SOLR-5002: Don't create multiple SolrResourceLoaders for same Solr home, wasting resources and slowing down startup. This fixes the problem where the loader was not correctly closed, making tests fail on Windows.
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkCLI.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/ConfigSolr.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/CoreContainer.java
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1500156&r1=1500155&r2=1500156&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Fri Jul 5 22:45:28 2013
@@ -253,6 +253,10 @@ Bug Fixes
* SOLR-5000: ManagedIndexSchema doesn't persist uniqueKey tag after calling addFields
method. (Jun Ohtani, Steve Rowe)
+* SOLR-5002: Don't create multiple SolrResourceLoaders for same Solr home, wasting
+ resources and slowing down startup. This fixes the problem where the loader was
+ not correctly closed, making tests fail on Windows. (Steve Rowe, Uwe Schindler)
+
Optimizations
----------------------
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkCLI.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkCLI.java?rev=1500156&r1=1500155&r2=1500156&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkCLI.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkCLI.java Fri Jul 5 22:45:28 2013
@@ -176,7 +176,7 @@ public class ZkCLI {
SolrResourceLoader loader = new SolrResourceLoader(solrHome);
solrHome = loader.getInstanceDir();
- ConfigSolr cfg = ConfigSolr.fromSolrHome(solrHome);
+ ConfigSolr cfg = ConfigSolr.fromSolrHome(loader, solrHome);
if(!ZkController.checkChrootPath(zkServerAddress, true)) {
System.out.println("A chroot was specified in zkHost but the znode doesn't exist. ");
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/ConfigSolr.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/ConfigSolr.java?rev=1500156&r1=1500155&r2=1500156&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/ConfigSolr.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/ConfigSolr.java Fri Jul 5 22:45:28 2013
@@ -46,11 +46,9 @@ public abstract class ConfigSolr {
public final static String SOLR_XML_FILE = "solr.xml";
- public static ConfigSolr fromFile(File configFile) {
+ public static ConfigSolr fromFile(SolrResourceLoader loader, File configFile) {
log.info("Loading container configuration from {}", configFile.getAbsolutePath());
- String solrHome = configFile.getParent();
- SolrResourceLoader loader = new SolrResourceLoader(solrHome);
InputStream inputStream = null;
try {
@@ -87,8 +85,8 @@ public abstract class ConfigSolr {
}
}
- public static ConfigSolr fromSolrHome(String solrHome) {
- return fromFile(new File(solrHome, SOLR_XML_FILE));
+ public static ConfigSolr fromSolrHome(SolrResourceLoader loader, String solrHome) {
+ return fromFile(loader, new File(solrHome, SOLR_XML_FILE));
}
public static ConfigSolr fromConfig(Config config) {
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/CoreContainer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/CoreContainer.java?rev=1500156&r1=1500155&r2=1500156&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/CoreContainer.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/CoreContainer.java Fri Jul 5 22:45:28 2013
@@ -129,7 +129,7 @@ public class CoreContainer
* @see #load()
*/
public CoreContainer() {
- this(SolrResourceLoader.locateSolrHome());
+ this(new SolrResourceLoader(SolrResourceLoader.locateSolrHome()));
}
/**
@@ -139,7 +139,7 @@ public class CoreContainer
* @see #load()
*/
public CoreContainer(SolrResourceLoader loader) {
- this(loader, ConfigSolr.fromSolrHome(loader.getInstanceDir()));
+ this(loader, ConfigSolr.fromSolrHome(loader, loader.getInstanceDir()));
}
/**
@@ -149,7 +149,7 @@ public class CoreContainer
* @see #load()
*/
public CoreContainer(String solrHome) {
- this(new SolrResourceLoader(solrHome), ConfigSolr.fromSolrHome(solrHome));
+ this(new SolrResourceLoader(solrHome));
}
/**
@@ -172,7 +172,8 @@ public class CoreContainer
* @return a loaded CoreContainer
*/
public static CoreContainer createAndLoad(String solrHome, File configFile) {
- CoreContainer cc = new CoreContainer(new SolrResourceLoader(solrHome), ConfigSolr.fromFile(configFile));
+ SolrResourceLoader loader = new SolrResourceLoader(solrHome);
+ CoreContainer cc = new CoreContainer(loader, ConfigSolr.fromFile(loader, configFile));
cc.load();
return cc;
}