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 2016/11/26 07:10:03 UTC
lucene-solr:branch_6x: SOLR-9784: deprecated uploadconfig
Repository: lucene-solr
Updated Branches:
refs/heads/branch_6x 579813ef1 -> 00dfbafd9
SOLR-9784: deprecated uploadconfig
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/00dfbafd
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/00dfbafd
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/00dfbafd
Branch: refs/heads/branch_6x
Commit: 00dfbafd9aaec2ac73e812635bad23047d4f2be1
Parents: 579813e
Author: Noble Paul <no...@apache.org>
Authored: Sat Nov 26 12:39:50 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Sat Nov 26 12:39:50 2016 +0530
----------------------------------------------------------------------
solr/core/src/java/org/apache/solr/util/SolrCLI.java | 3 ++-
.../apache/solr/client/solrj/impl/CloudSolrClient.java | 6 ++++++
.../solrj/impl/ZkClientClusterStateProvider.java | 13 ++++++++++++-
.../solrj/impl/TestCloudSolrClientConnections.java | 4 ++--
.../java/org/apache/solr/cloud/SolrCloudTestCase.java | 3 ++-
5 files changed, 24 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/00dfbafd/solr/core/src/java/org/apache/solr/util/SolrCLI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/SolrCLI.java b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
index 2c2898d..501b6f3 100644
--- a/solr/core/src/java/org/apache/solr/util/SolrCLI.java
+++ b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
@@ -92,6 +92,7 @@ import org.apache.solr.client.solrj.impl.HttpClientConfigurer;
import org.apache.solr.client.solrj.impl.HttpClientUtil;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.impl.HttpSolrClient.Builder;
+import org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider;
import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrException;
@@ -1515,7 +1516,7 @@ public class SolrCLI {
echo("Uploading " + confPath.toAbsolutePath().toString() +
" for config " + confname + " to ZooKeeper at " + cloudSolrClient.getZkHost());
- cloudSolrClient.uploadConfig(confPath, confname);
+ ((ZkClientClusterStateProvider)cloudSolrClient.getClusterStateProvider()).uploadConfig(confPath, confname);
}
// since creating a collection is a heavy-weight operation, check for existence first
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/00dfbafd/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
index c07e88d..07238c1 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
@@ -649,6 +649,7 @@ public class CloudSolrClient extends SolrClient {
* @param configName the name of the config
* @throws IOException if an IO error occurs
*/
+ @Deprecated
public void uploadConfig(Path configPath, String configName) throws IOException {
stateProvider.connect();
assertZKStateProvider().uploadConfig(configPath, configName);
@@ -668,6 +669,7 @@ public class CloudSolrClient extends SolrClient {
* @param downloadPath the path to write config files to
* @throws IOException if an I/O exception occurs
*/
+ @Deprecated
public void downloadConfig(String configName, Path downloadPath) throws IOException {
assertZKStateProvider().downloadConfig(configName, downloadPath);
}
@@ -1528,6 +1530,10 @@ public class CloudSolrClient extends SolrClient {
return results;
}
+ public ClusterStateProvider getClusterStateProvider(){
+ return stateProvider;
+ }
+
private static boolean hasInfoToFindLeaders(UpdateRequest updateRequest, String idField) {
final Map<SolrInputDocument,Map<String,Object>> documents = updateRequest.getDocumentsMap();
final Map<String,Map<String,Object>> deleteById = updateRequest.getDeleteByIdMap();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/00dfbafd/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ZkClientClusterStateProvider.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ZkClientClusterStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ZkClientClusterStateProvider.java
index 5541186..8ed1b5c 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ZkClientClusterStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ZkClientClusterStateProvider.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-class ZkClientClusterStateProvider implements CloudSolrClient.ClusterStateProvider {
+public class ZkClientClusterStateProvider implements CloudSolrClient.ClusterStateProvider {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -95,6 +95,17 @@ class ZkClientClusterStateProvider implements CloudSolrClient.ClusterStateProvid
zkStateReader.getConfigManager().downloadConfigDir(configName, downloadPath);
}
+ /**
+ * Upload a set of config files to Zookeeper and give it a name
+ *
+ * NOTE: You should only allow trusted users to upload configs. If you
+ * are allowing client access to zookeeper, you should protect the
+ * /configs node against unauthorised write access.
+ *
+ * @param configPath {@link java.nio.file.Path} to the config files
+ * @param configName the name of the config
+ * @throws IOException if an IO error occurs
+ */
public void uploadConfig(Path configPath, String configName) throws IOException {
connect();
zkStateReader.getConfigManager().uploadConfigDir(configPath, configName);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/00dfbafd/solr/solrj/src/test/org/apache/solr/client/solrj/impl/TestCloudSolrClientConnections.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/TestCloudSolrClientConnections.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/TestCloudSolrClientConnections.java
index f3abc26..4fa6d9a 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/TestCloudSolrClientConnections.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/TestCloudSolrClientConnections.java
@@ -68,7 +68,7 @@ public class TestCloudSolrClientConnections extends SolrTestCaseJ4 {
try {
CloudSolrClient client = cluster.getSolrClient();
try {
- client.uploadConfig(configPath, "testconfig");
+ ((ZkClientClusterStateProvider)client.getClusterStateProvider()).uploadConfig(configPath, "testconfig");
fail("Requests to a non-running cluster should throw a SolrException");
} catch (SolrException e) {
assertTrue("Unexpected message: " + e.getMessage(), e.getMessage().contains("cluster not found/not ready"));
@@ -77,7 +77,7 @@ public class TestCloudSolrClientConnections extends SolrTestCaseJ4 {
cluster.startJettySolrRunner();
client.connect(20, TimeUnit.SECONDS);
- client.uploadConfig(configPath, "testconfig");
+ ((ZkClientClusterStateProvider)client.getClusterStateProvider()).uploadConfig(configPath, "testconfig");
ZkConfigManager configManager = new ZkConfigManager(client.getZkStateReader().getZkClient());
assertTrue("List of uploaded configs does not contain 'testconfig'", configManager.listConfigs().contains("testconfig"));
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/00dfbafd/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java b/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java
index 77a527e..9cc4a22 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java
@@ -36,6 +36,7 @@ import org.apache.solr.client.solrj.embedded.JettyConfig;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider;
import org.apache.solr.client.solrj.request.CoreAdminRequest;
import org.apache.solr.client.solrj.request.CoreStatus;
import org.apache.solr.common.cloud.ClusterProperties;
@@ -159,7 +160,7 @@ public class SolrCloudTestCase extends SolrTestCaseJ4 {
cluster = new MiniSolrCloudCluster(nodeCount, baseDir, solrxml, jettyConfig);
CloudSolrClient client = cluster.getSolrClient();
for (Config config : configs) {
- client.uploadConfig(config.path, config.name);
+ ((ZkClientClusterStateProvider)client.getClusterStateProvider()).uploadConfig(config.path, config.name);
}
if (clusterProperties.size() > 0) {