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");
}