You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by an...@apache.org on 2014/12/18 23:27:39 UTC
svn commit: r1646558 - in /lucene/dev/trunk/solr: CHANGES.txt
core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java
solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
Author: anshum
Date: Thu Dec 18 22:27:38 2014
New Revision: 1646558
URL: http://svn.apache.org/r1646558
Log:
SOLR-6523: Provide SolrJ support for specifying stateFormat while creating Collections
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1646558&r1=1646557&r2=1646558&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Thu Dec 18 22:27:38 2014
@@ -510,6 +510,9 @@ Other Changes
* SOLR-5922: Add support for adding core properties to SolrJ Collection Admin Request calls.
(Varun Thacker via Anshum Gupta).
+* SOLR-6523: Provide SolrJ support for specifying stateFormat while creating Collections.
+ (Anshum Gupta)
+
================== 4.10.3 ==================
Bug Fixes
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java?rev=1646558&r1=1646557&r2=1646558&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java Thu Dec 18 22:27:38 2014
@@ -85,6 +85,7 @@ import org.apache.solr.core.SolrResource
import org.apache.solr.servlet.SolrDispatchFilter;
import org.apache.solr.update.DirectUpdateHandler2;
import org.apache.solr.util.DefaultSolrThreadFactory;
+import org.apache.zookeeper.data.Stat;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -335,6 +336,31 @@ public class CollectionsAPIDistributedZk
coresStatus = response.getCollectionCoresStatus();
assertEquals(2, coresStatus.size());
+ // Test Creating a collection with new stateformat.
+ String collectionName = "solrj_newstateformat";
+ createCollectionRequest = new CollectionAdminRequest.Create();
+ createCollectionRequest.setCollectionName(collectionName);
+ createCollectionRequest.setNumShards(2);
+ createCollectionRequest.setConfigName("conf1");
+ createCollectionRequest.setStateFormat(2);
+
+ response = createCollectionRequest.process(server);
+ assertEquals(0, response.getStatus());
+ assertTrue(response.isSuccess());
+ CollectionAdminRequest requestStatusRequest = new CollectionAdminRequest.RequestStatus();
+ requestStatusRequest.setCollectionName(collectionName);
+
+ waitForRecoveriesToFinish(collectionName, false);
+ assertTrue("Collection state does not exist",
+ cloudClient.getZkStateReader().getZkClient()
+ .exists(ZkStateReader.getCollectionPath(collectionName), true));
+ Stat stat = new Stat();
+ ClusterState clusterState = cloudClient.getZkStateReader().getClusterState();
+ assertEquals("The zkversion of the nodes must be same zkver:" + stat.getVersion() ,
+ stat.getVersion(),clusterState.getCollection(collectionName).getZNodeVersion() );
+ assertTrue("DocCollection#getStateFormat() must be > 1",
+ cloudClient.getZkStateReader().getClusterState().getCollection(collectionName).getStateFormat() > 1);
+
CollectionAdminRequest.CreateShard createShardRequest = new CollectionAdminRequest
.CreateShard();
createShardRequest.setCollectionName("solrj_implicit");
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java?rev=1646558&r1=1646557&r2=1646558&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java Thu Dec 18 22:27:38 2014
@@ -17,18 +17,12 @@
package org.apache.solr.client.solrj.request;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.TimeUnit;
-
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
import org.apache.solr.common.SolrException;
+import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionParams.CollectionAction;
import org.apache.solr.common.params.CoreAdminParams;
@@ -37,6 +31,13 @@ import org.apache.solr.common.params.Sha
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStream;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.TimeUnit;
+
/**
* This class is experimental and subject to change.
*
@@ -94,6 +95,7 @@ public class CollectionAdminRequest exte
private Properties properties;
protected Boolean autoAddReplicas;
+ protected Integer stateFormat;
public Create() {
@@ -109,6 +111,7 @@ public class CollectionAdminRequest exte
public void setMaxShardsPerNode(Integer numShards) { this.maxShardsPerNode = numShards; }
public void setAutoAddReplicas(boolean autoAddReplicas) { this.autoAddReplicas = autoAddReplicas; }
public void setReplicationFactor(Integer repl) { this.replicationFactor = repl; }
+ public void setStateFormat(Integer stateFormat) { this.stateFormat = stateFormat; }
public String getConfigName() { return configName; }
public String getCreateNodeSet() { return createNodeSet; }
@@ -118,6 +121,7 @@ public class CollectionAdminRequest exte
public Integer getMaxShardsPerNode() { return maxShardsPerNode; }
public Integer getReplicationFactor() { return replicationFactor; }
public Boolean getAutoAddReplicas() { return autoAddReplicas; }
+ public Integer getStateFormat() { return stateFormat; }
public Properties getProperties() {
return properties;
@@ -153,7 +157,6 @@ public class CollectionAdminRequest exte
params.set("router.field", routerField);
}
if (replicationFactor != null) {
- // OverseerCollectionProcessor.REPLICATION_FACTOR
params.set( "replicationFactor", replicationFactor);
}
if (asyncId != null) {
@@ -166,7 +169,9 @@ public class CollectionAdminRequest exte
if(properties != null) {
addProperties(params, properties);
}
-
+ if (stateFormat != null) {
+ params.set(DocCollection.STATE_FORMAT, stateFormat);
+ }
return params;
}
}