You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2011/04/20 18:38:51 UTC

svn commit: r1095455 - in /lucene/dev/trunk/solr: CHANGES.txt src/java/org/apache/solr/core/CoreContainer.java src/test-files/solr/shared/solr.xml src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java

Author: markrmiller
Date: Wed Apr 20 16:38:51 2011
New Revision: 1095455

URL: http://svn.apache.org/viewvc?rev=1095455&view=rev
Log:
SOLR-2324: SolrCloud solr.xml parameters are not persisted by CoreContainer.

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/src/java/org/apache/solr/core/CoreContainer.java
    lucene/dev/trunk/solr/src/test-files/solr/shared/solr.xml
    lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1095455&r1=1095454&r2=1095455&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Wed Apr 20 16:38:51 2011
@@ -105,8 +105,10 @@ New Features
   levenshtein automata.  (rmuir)
    
 * SOLR-1873: SolrCloud - added shared/central config and core/shard managment via zookeeper,
-  built-in load balancing, and infrastructure for future SolrCloud work. 
-  (yonik, Mark Miller)
+  built-in load balancing, and infrastructure for future SolrCloud work. (yonik, Mark Miller)
+  Additional Work:
+  SOLR-2324: SolrCloud solr.xml parameters are not persisted by CoreContainer.
+  (Massimo Schiavon, Mark Miller)
 
 * SOLR-1729: Evaluation of NOW for date math is done only once per request for
   consistency, and is also propagated to shards in distributed search.

Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/core/CoreContainer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/core/CoreContainer.java?rev=1095455&r1=1095454&r2=1095455&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/core/CoreContainer.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/core/CoreContainer.java Wed Apr 20 16:38:51 2011
@@ -79,6 +79,7 @@ public class CoreContainer 
   protected Map<String ,IndexSchema> indexSchemaCache;
   protected String adminHandler;
   protected boolean shareSchema;
+  protected Integer zkClientTimeout;
   protected String solrHome;
   protected String defaultCoreName = "";
   private ZkController zkController;
@@ -313,7 +314,7 @@ public class CoreContainer 
     zkHost = cfg.get("solr/@zkHost" , null);
     adminPath = cfg.get("solr/cores/@adminPath", null);
     shareSchema = cfg.getBool("solr/cores/@shareSchema", false);
-    int zkClientTimeout = cfg.getInt("solr/cores/@zkClientTimeout", 10000);
+    zkClientTimeout = cfg.getInt("solr/cores/@zkClientTimeout", 10000);
 
     hostPort = System.getProperty("hostPort");
     if (hostPort == null) {
@@ -889,6 +890,7 @@ public class CoreContainer 
     if (this.libDir != null) {
       writeAttribute(w,"sharedLib",libDir);
     }
+    if(zkHost != null) writeAttribute(w, "zkHost", zkHost);
     writeAttribute(w,"persistent",isPersistent());
     w.write(">\n");
 
@@ -897,9 +899,13 @@ public class CoreContainer 
     }
     w.write("  <cores");
     writeAttribute(w, "adminPath",adminPath);
-    if(adminHandler != null) writeAttribute(w, "adminHandler",adminHandler);
-    if(shareSchema) writeAttribute(w, "shareSchema","true");
-    if(!defaultCoreName.equals("")) writeAttribute(w, "defaultCoreName",defaultCoreName);
+    if(adminHandler != null) writeAttribute(w, "adminHandler", adminHandler);
+    if(shareSchema) writeAttribute(w, "shareSchema", "true");
+    if(!defaultCoreName.equals("")) writeAttribute(w, "defaultCoreName", defaultCoreName);
+    if(host != null) writeAttribute(w, "host", host);
+    if(hostPort != null) writeAttribute(w, "hostPort", hostPort);
+    if(zkClientTimeout != null) writeAttribute(w, "zkClientTimeout", zkClientTimeout);
+    if(hostContext != null) writeAttribute(w, "hostContext", hostContext);
     w.write(">\n");
 
     synchronized(cores) {

Modified: lucene/dev/trunk/solr/src/test-files/solr/shared/solr.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test-files/solr/shared/solr.xml?rev=1095455&r1=1095454&r2=1095455&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test-files/solr/shared/solr.xml (original)
+++ lucene/dev/trunk/solr/src/test-files/solr/shared/solr.xml Wed Apr 20 16:38:51 2011
@@ -30,7 +30,7 @@
   adminPath: RequestHandler path to manage cores.  
     If 'null' (or absent), cores will not be manageable via REST
   -->
-  <cores adminPath="/admin/cores" defaultCoreName="core0">
+  <cores adminPath="/admin/cores" defaultCoreName="core0" host="127.0.0.1" hostPort="${hostPort:8983}" hostContext="solr" zkClientTimeout="8000">
     <core name="core0" instanceDir="./">
       <property name="version" value="3.5"/>
       <property name="l10n" value="EN"/>

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java?rev=1095455&r1=1095454&r2=1095455&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java Wed Apr 20 16:38:51 2011
@@ -70,11 +70,13 @@ public class TestSolrProperties extends 
   @Before
   public void setUp() throws Exception {
     super.setUp();
+    System.setProperty("solr.solr.home", getSolrHome());
+    
     File home = SolrTestCaseJ4.getFile(getSolrHome());
     System.setProperty("solr.solr.home", home.getAbsolutePath());
 
     log.info("pwd: " + (new File(".")).getAbsolutePath());
-    solrXml = new File(home, "solr.xml");
+    solrXml = new File(home, getSolrXml());
     cores = new CoreContainer(home.getAbsolutePath(), solrXml);
   }
 
@@ -191,12 +193,17 @@ public class TestSolrProperties extends 
 
     mcr = CoreAdminRequest.persist("solr-persist.xml", coreadmin);
     
-    // System.out.println(IOUtils.toString(new FileInputStream(new File(solrXml.getParent(), "solr-persist.xml"))));
+    //System.out.println(IOUtils.toString(new FileInputStream(new File(solrXml.getParent(), "solr-persist.xml"))));
     DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
     FileInputStream fis = new FileInputStream(new File(solrXml.getParent(), "solr-persist.xml"));
     try {
       Document document = builder.parse(fis);
       assertTrue(exists("/solr/cores[@defaultCoreName='core0']", document));
+      assertTrue(exists("/solr/cores[@host='127.0.0.1']", document));
+      assertTrue(exists("/solr/cores[@hostPort='8983']", document));
+      assertTrue(exists("/solr/cores[@zkClientTimeout='8000']", document));
+      assertTrue(exists("/solr/cores[@hostContext='solr']", document));
+      
     } finally {
       fis.close();
     }