You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2015/01/05 10:19:54 UTC

svn commit: r1649487 - in /lucene/dev/branches/branch_5x: ./ solr/ solr/core/ solr/core/src/java/org/apache/solr/cloud/ solr/core/src/java/org/apache/solr/handler/ solr/core/src/java/org/apache/solr/schema/ solr/core/src/test/org/apache/solr/core/ solr...

Author: noble
Date: Mon Jan  5 09:19:54 2015
New Revision: 1649487

URL: http://svn.apache.org/r1649487
Log:
SOLR-6533 , changed the node name from solrConfig to config. handle empty command list

Modified:
    lucene/dev/branches/branch_5x/   (props changed)
    lucene/dev/branches/branch_5x/solr/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/schema/SchemaManager.java   (contents, props changed)
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java?rev=1649487&r1=1649486&r2=1649487&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java Mon Jan  5 09:19:54 2015
@@ -2119,10 +2119,9 @@ public final class ZkController {
    *
    * @return true on success
    */
-  public static boolean persistConfigResourceToZooKeeper( SolrResourceLoader loader, int znodeVersion ,
+  public static boolean persistConfigResourceToZooKeeper( ZkSolrResourceLoader zkLoader, int znodeVersion ,
                                                           String resourceName, byte[] content,
                                                           boolean createIfNotExists) {
-    final ZkSolrResourceLoader zkLoader = (ZkSolrResourceLoader)loader;
     final ZkController zkController = zkLoader.getZkController();
     final SolrZkClient zkClient = zkController.getZkClient();
     final String resourceLocation = zkLoader.getConfigSetZkPath() + "/" + resourceName;
@@ -2130,12 +2129,12 @@ public final class ZkController {
     try {
       try {
         zkClient.setData(resourceLocation , content,znodeVersion, true);
-        zkClient.setData(zkLoader.getConfigSetZkPath(),new byte[]{0},true);
+        touchConfDir(zkLoader);
       } catch (NoNodeException e) {
         if(createIfNotExists){
           try {
             zkClient.create(resourceLocation,content, CreateMode.PERSISTENT,true);
-            zkClient.setData(zkLoader.getConfigSetZkPath(), new byte[]{0}, true);
+            touchConfDir(zkLoader);
           } catch (KeeperException.NodeExistsException nee) {
             try {
               Stat stat = zkClient.exists(resourceLocation, null, true);
@@ -2174,6 +2173,21 @@ public final class ZkController {
     return true;
   }
 
+  public static void touchConfDir(ZkSolrResourceLoader zkLoader)  {
+    SolrZkClient zkClient = zkLoader.getZkController().getZkClient();
+    try {
+      zkClient.setData(zkLoader.getConfigSetZkPath(),new byte[]{0},true);
+    } catch (Exception e) {
+      if (e instanceof InterruptedException) {
+        Thread.currentThread().interrupt(); // Restore the interrupted status
+      }
+      final String msg = "Error 'touching' conf location " + zkLoader.getConfigSetZkPath();
+      log.error(msg, e);
+      throw new SolrException(ErrorCode.SERVER_ERROR, msg, e);
+
+    }
+  }
+
   public static  class ResourceModifiedInZkException extends SolrException {
     public ResourceModifiedInZkException(ErrorCode code, String msg) {
       super(code, msg);

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java?rev=1649487&r1=1649486&r2=1649487&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java Mon Jan  5 09:19:54 2015
@@ -99,7 +99,7 @@ public class SolrConfigHandler extends R
 
     private void handleGET() {
       if(parts.size() == 1) {
-        resp.add("solrConfig", req.getCore().getSolrConfig().toMap());
+        resp.add("config", req.getCore().getSolrConfig().toMap());
       } else {
         if(ConfigOverlay.NAME.equals(parts.get(1))){
           resp.add(ConfigOverlay.NAME, req.getCore().getSolrConfig().getOverlay().toMap());
@@ -119,7 +119,7 @@ public class SolrConfigHandler extends R
 
         } else {
           Map<String, Object> m = req.getCore().getSolrConfig().toMap();
-          resp.add("solrConfig", ZkNodeProps.makeMap(parts.get(1),m.get(parts.get(1))));
+          resp.add("config", ZkNodeProps.makeMap(parts.get(1),m.get(parts.get(1))));
         }
       }
     }
@@ -236,8 +236,13 @@ public class SolrConfigHandler extends R
 
       SolrResourceLoader loader = req.getCore().getResourceLoader();
       if (loader instanceof ZkSolrResourceLoader) {
-        ZkController.persistConfigResourceToZooKeeper(loader,params.getZnodeVersion(),
-            RequestParams.RESOURCE,params.toByteArray(),true);
+        ZkSolrResourceLoader zkLoader = (ZkSolrResourceLoader) loader;
+        if(ops.isEmpty()) {
+          ZkController.touchConfDir(zkLoader);
+        }else {
+          ZkController.persistConfigResourceToZooKeeper(zkLoader, params.getZnodeVersion(),
+              RequestParams.RESOURCE, params.toByteArray(), true);
+        }
 
       } else {
         SolrResourceLoader.persistConfLocally(loader, ConfigOverlay.RESOURCE_NAME, params.toByteArray());
@@ -278,7 +283,7 @@ public class SolrConfigHandler extends R
 
     SolrResourceLoader loader = req.getCore().getResourceLoader();
     if (loader instanceof ZkSolrResourceLoader) {
-      ZkController.persistConfigResourceToZooKeeper(loader,overlay.getZnodeVersion(),
+      ZkController.persistConfigResourceToZooKeeper((ZkSolrResourceLoader) loader,overlay.getZnodeVersion(),
           ConfigOverlay.RESOURCE_NAME,overlay.toByteArray(),true);
 
     } else {

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/schema/SchemaManager.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/schema/SchemaManager.java?rev=1649487&r1=1649486&r2=1649487&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/schema/SchemaManager.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/schema/SchemaManager.java Mon Jan  5 09:19:54 2015
@@ -134,7 +134,7 @@ public class SchemaManager {
       if (!errs.isEmpty()) return errs;
       SolrResourceLoader loader = req.getCore().getResourceLoader();
       if (loader instanceof ZkSolrResourceLoader) {
-
+        ZkSolrResourceLoader zkLoader = (ZkSolrResourceLoader) loader;
         StringWriter sw = new StringWriter();
         try {
           managedIndexSchema.persist(sw);
@@ -145,7 +145,7 @@ public class SchemaManager {
         }
 
         try {
-          ZkController.persistConfigResourceToZooKeeper(loader,
+          ZkController.persistConfigResourceToZooKeeper(zkLoader,
               managedIndexSchema.getSchemaZkVersion(),
               managedIndexSchema.getResourceName(),
               sw.toString().getBytes(StandardCharsets.UTF_8),

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java?rev=1649487&r1=1649486&r2=1649487&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java Mon Jan  5 09:19:54 2015
@@ -103,7 +103,7 @@ public class TestSolrConfigHandler exten
     assertEquals("100",  String.valueOf(getObjectByPath(props, true, ImmutableList.of("updateHandler", "autoCommit", "maxDocs")) ));
     assertEquals("10",  String.valueOf(getObjectByPath(props, true, ImmutableList.of("updateHandler", "autoCommit", "maxTime")) ));
 
-    m = (Map) getRespMap("/config?wt=json" ,harness).get("solrConfig");
+    m = (Map) getRespMap("/config?wt=json" ,harness).get("config");
     assertNotNull(m);
 
     assertEquals( "100",String.valueOf(getObjectByPath(m, true, ImmutableList.of("updateHandler", "autoCommit", "maxDocs"))));

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java?rev=1649487&r1=1649486&r2=1649487&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java Mon Jan  5 09:19:54 2015
@@ -72,7 +72,7 @@ public class TestBlobHandler extends Abs
     Map map = TestSolrConfigHandlerConcurrent.getAsMap(url, cloudClient);
     assertNotNull(map);
     assertEquals("solr.BlobHandler", getObjectByPath(map, true, Arrays.asList(
-        "solrConfig",
+        "config",
         "requestHandler",
         "/blob",
         "class")));

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java?rev=1649487&r1=1649486&r2=1649487&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java Mon Jan  5 09:19:54 2015
@@ -81,7 +81,7 @@ public class TestConfigReload extends Ab
     log.info("live_nodes_count :  " + cloudClient.getZkStateReader().getClusterState().getLiveNodes());
     String confPath = ZkController.CONFIGS_ZKNODE+"/conf1/";
 //    checkConfReload(client, confPath + ConfigOverlay.RESOURCE_NAME, "overlay");
-    checkConfReload(client, confPath + SolrConfig.DEFAULT_CONF_FILE,"solrConfig", "/config");
+    checkConfReload(client, confPath + SolrConfig.DEFAULT_CONF_FILE,"config", "/config");
 
   }