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 2012/02/16 23:02:40 UTC

svn commit: r1245202 - in /lucene/dev/trunk/solr: cloud-dev/ core/src/java/org/apache/solr/cloud/ core/src/test/org/apache/solr/cloud/ solrj/src/java/org/apache/solr/client/solrj/request/ solrj/src/java/org/apache/solr/common/params/ solrj/src/test-fil...

Author: markrmiller
Date: Thu Feb 16 22:02:39 2012
New Revision: 1245202

URL: http://svn.apache.org/viewvc?rev=1245202&view=rev
Log:
SOLR-3138: Add node roles to core admin handler 'create core' and solrj.

Modified:
    lucene/dev/trunk/solr/cloud-dev/solrcloud-start.sh
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkController.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
    lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java
    lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/params/CoreAdminParams.java
    lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/shared/solr.xml

Modified: lucene/dev/trunk/solr/cloud-dev/solrcloud-start.sh
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/cloud-dev/solrcloud-start.sh?rev=1245202&r1=1245201&r2=1245202&view=diff
==============================================================================
--- lucene/dev/trunk/solr/cloud-dev/solrcloud-start.sh (original)
+++ lucene/dev/trunk/solr/cloud-dev/solrcloud-start.sh Thu Feb 16 22:02:39 2012
@@ -22,7 +22,7 @@ cp -r -f example example4
 cp -r -f example example5
 cp -r -f example example6
 
-java -classpath lib/*:dist/*:build/lucene-libs/* org.apache.solr.cloud.ZkController 127.0.0.1:9983 example/solr 8983 example/solr/conf conf1
+java -classpath lib/*:dist/*:build/lucene-libs/* org.apache.solr.cloud.ZkController 127.0.0.1:9983 8983 example/solr/conf conf1 example/solr
 
 cd example
 java -DzkRun -DnumShards=2 -DSTOP.PORT=7983 -DSTOP.KEY=key -jar start.jar 1>example.log 2>&1 &

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java?rev=1245202&r1=1245201&r2=1245202&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/CloudDescriptor.java Thu Feb 16 22:02:39 2012
@@ -23,7 +23,7 @@ public class CloudDescriptor {
   private String shardId;
   private String collectionName;
   private SolrParams params;
-  private String roles = "";
+  private String roles = null;
   private Integer numShards;
   
   public void setShardId(String shardId) {

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkController.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkController.java?rev=1245202&r1=1245201&r2=1245202&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkController.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkController.java Thu Feb 16 22:02:39 2012
@@ -110,15 +110,21 @@ public final class ZkController {
     // start up a tmp zk server first
     String zkServerAddress = args[0];
     
-    String solrHome = args[1];
-    String solrPort = args[2];
+    String solrPort = args[1];
     
-    String confDir = args[3];
-    String confName = args[4];
+    String confDir = args[2];
+    String confName = args[3];
     
-    SolrZkServer zkServer = new SolrZkServer("true", null, solrHome, solrPort);
-    zkServer.parseConfig();
-    zkServer.start();
+    String solrHome = null;
+    if (args.length == 5) {
+      solrHome = args[4];
+    }
+    SolrZkServer zkServer = null;
+    if (solrHome != null) {
+      zkServer = new SolrZkServer("true", null, solrHome, solrPort);
+      zkServer.parseConfig();
+      zkServer.start();
+    }
     
     SolrZkClient zkClient = new SolrZkClient(zkServerAddress, 15000, 5000,
         new OnReconnect() {
@@ -127,8 +133,9 @@ public final class ZkController {
           }});
     
     uploadConfigDir(zkClient, new File(confDir), confName);
-    
-    zkServer.stop();
+    if (solrHome != null) {
+      zkServer.stop();
+    }
   }
 
   /**
@@ -861,6 +868,9 @@ public final class ZkController {
   private void publishState(CoreDescriptor cd, String shardZkNodeName, String coreName,
       Map<String,String> props) {
     CloudDescriptor cloudDesc = cd.getCloudDescriptor();
+    if (cloudDesc.getRoles() != null) {
+      props.put(ZkStateReader.ROLES_PROP, cloudDesc.getRoles());
+    }
     
     if (cloudDesc.getShardId() == null && needsToBeAssignedShardId(cd, zkStateReader.getCloudState(), shardZkNodeName)) {
       // publish with no shard id so we are assigned one, and then look for it

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java?rev=1245202&r1=1245201&r2=1245202&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java Thu Feb 16 22:02:39 2012
@@ -33,6 +33,8 @@ import org.apache.solr.client.solrj.impl
 import org.apache.solr.client.solrj.request.CoreAdminRequest.Create;
 import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.common.cloud.Slice;
+import org.apache.solr.common.cloud.ZkStateReader;
 import org.apache.solr.common.params.CommonParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
 
@@ -302,7 +304,13 @@ public class BasicDistributedZkTest exte
     assertNotSame(oneDocs, twoDocs);
     assertEquals(3, allDocs);
     
-
+    // we added a role of none on these creates - check for it
+    ZkStateReader zkStateReader = solrj.getZkStateReader();
+    zkStateReader.updateCloudState(true);
+    Map<String,Slice> slices = zkStateReader.getCloudState().getSlices(oneInstanceCollection2);
+    assertNotNull(slices);
+    String roles = slices.get("shard1").getShards().values().iterator().next().get(ZkStateReader.ROLES_PROP);
+    assertEquals("none", roles);
   }
 
   private void testSearchByCollectionName() throws SolrServerException {
@@ -375,6 +383,7 @@ public class BasicDistributedZkTest exte
     CommonsHttpSolrServer server = new CommonsHttpSolrServer(
         baseUrl);
     Create createCmd = new Create();
+    createCmd.setRoles("none");
     createCmd.setCoreName(collection + num);
     createCmd.setCollection(collection);
     createCmd.setNumShards(2);

Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java?rev=1245202&r1=1245201&r2=1245202&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java Thu Feb 16 22:02:39 2012
@@ -53,6 +53,7 @@ public class CoreAdminRequest extends So
     protected String collection;
     private Integer numShards;
     private String shardId;
+    private String roles;
 
     public Create() {
       action = CoreAdminAction.CREATE;
@@ -65,6 +66,7 @@ public class CoreAdminRequest extends So
     public void setCollection(String collection) { this.collection = collection; }
     public void setNumShards(int numShards) {this.numShards = numShards;}
     public void setShardId(String shardId) {this.shardId = shardId;}
+    public void setRoles(String roles) {this.roles = roles;}
     
     public String getInstanceDir() { return instanceDir; }
     public String getSchemaName()  { return schemaName; }
@@ -72,6 +74,7 @@ public class CoreAdminRequest extends So
     public String getDataDir() { return dataDir; }
     public String getCollection() { return collection; }
     public String getShardId() { return shardId; }
+    public String getRoles() { return roles; }
     
     @Override
     public SolrParams getParams() {
@@ -104,6 +107,9 @@ public class CoreAdminRequest extends So
       if (shardId != null) {
         params.set( ZkStateReader.SHARD_ID_PROP, shardId);
       }
+      if (roles != null) {
+        params.set( CoreAdminParams.ROLES, roles);
+      }
       return params;
     }
 

Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/params/CoreAdminParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/params/CoreAdminParams.java?rev=1245202&r1=1245201&r2=1245202&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/params/CoreAdminParams.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/params/CoreAdminParams.java Thu Feb 16 22:02:39 2012
@@ -69,12 +69,15 @@ public interface CoreAdminParams 
   /** The shard id in solr cloud */
   public final static String SHARD = "shard";
   
+  public static final String ROLES = "roles";
+  
   /** Prefix for core property name=value pair **/
   public final static String PROPERTY_PREFIX = "property.";
 
   /** If you unload a core, delete the index too */
   public final static String DELETE_INDEX = "deleteIndex";
 
+
   public enum CoreAdminAction {
     STATUS,  
     LOAD,

Modified: lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/shared/solr.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/shared/solr.xml?rev=1245202&r1=1245201&r2=1245202&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/shared/solr.xml (original)
+++ lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/shared/solr.xml Thu Feb 16 22:02:39 2012
@@ -31,11 +31,11 @@
     If 'null' (or absent), cores will not be manageable via REST
   -->
   <cores adminPath="/admin/cores" defaultCoreName="core0" host="127.0.0.1" hostPort="${hostPort:8983}" hostContext="solr" zkClientTimeout="8000">
-    <core name="core0" instanceDir="./">
+    <core name="core0" instanceDir="${theInstanceDir:./}" collection="${collection:acollection}">
       <property name="version" value="3.5"/>
       <property name="l10n" value="EN"/>
       <property name="ctlField" value="core0"/>
-      <property name="comment" value="This is a sample"/>
+      <property name="comment" value="This is a sample with a sys prop ${sysprop:default}"/>
     </core>
     <core name="core1" instanceDir="./">
       <property name="version" value="2.4"/>