You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2012/12/13 21:39:05 UTC
svn commit: r1421506 - in /lucene/dev/branches/branch_4x: ./ dev-tools/
lucene/ lucene/analysis/
lucene/analysis/icu/src/java/org/apache/lucene/collation/ lucene/backwards/
lucene/benchmark/ lucene/codecs/ lucene/core/
lucene/core/src/test/org/apache/l...
Author: yonik
Date: Thu Dec 13 20:39:00 2012
New Revision: 1421506
URL: http://svn.apache.org/viewvc?rev=1421506&view=rev
Log:
SOLR-2592: add additional level in clusterstate.json for collection properties
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/dev-tools/ (props changed)
lucene/dev/branches/branch_4x/lucene/ (props changed)
lucene/dev/branches/branch_4x/lucene/BUILD.txt (props changed)
lucene/dev/branches/branch_4x/lucene/CHANGES.txt (props changed)
lucene/dev/branches/branch_4x/lucene/JRE_VERSION_MIGRATION.txt (props changed)
lucene/dev/branches/branch_4x/lucene/LICENSE.txt (props changed)
lucene/dev/branches/branch_4x/lucene/MIGRATE.txt (props changed)
lucene/dev/branches/branch_4x/lucene/NOTICE.txt (props changed)
lucene/dev/branches/branch_4x/lucene/README.txt (props changed)
lucene/dev/branches/branch_4x/lucene/SYSTEM_REQUIREMENTS.txt (props changed)
lucene/dev/branches/branch_4x/lucene/analysis/ (props changed)
lucene/dev/branches/branch_4x/lucene/analysis/icu/src/java/org/apache/lucene/collation/ICUCollationKeyFilterFactory.java (props changed)
lucene/dev/branches/branch_4x/lucene/backwards/ (props changed)
lucene/dev/branches/branch_4x/lucene/benchmark/ (props changed)
lucene/dev/branches/branch_4x/lucene/build.xml (props changed)
lucene/dev/branches/branch_4x/lucene/codecs/ (props changed)
lucene/dev/branches/branch_4x/lucene/common-build.xml (props changed)
lucene/dev/branches/branch_4x/lucene/core/ (props changed)
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (props changed)
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.cfs.zip (props changed)
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.nocfs.zip (props changed)
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.cfs.zip (props changed)
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/index.40.optimized.nocfs.zip (props changed)
lucene/dev/branches/branch_4x/lucene/demo/ (props changed)
lucene/dev/branches/branch_4x/lucene/facet/ (props changed)
lucene/dev/branches/branch_4x/lucene/grouping/ (props changed)
lucene/dev/branches/branch_4x/lucene/highlighter/ (props changed)
lucene/dev/branches/branch_4x/lucene/ivy-settings.xml (props changed)
lucene/dev/branches/branch_4x/lucene/join/ (props changed)
lucene/dev/branches/branch_4x/lucene/licenses/ (props changed)
lucene/dev/branches/branch_4x/lucene/memory/ (props changed)
lucene/dev/branches/branch_4x/lucene/misc/ (props changed)
lucene/dev/branches/branch_4x/lucene/module-build.xml (props changed)
lucene/dev/branches/branch_4x/lucene/queries/ (props changed)
lucene/dev/branches/branch_4x/lucene/queryparser/ (props changed)
lucene/dev/branches/branch_4x/lucene/sandbox/ (props changed)
lucene/dev/branches/branch_4x/lucene/site/ (props changed)
lucene/dev/branches/branch_4x/lucene/spatial/ (props changed)
lucene/dev/branches/branch_4x/lucene/suggest/ (props changed)
lucene/dev/branches/branch_4x/lucene/test-framework/ (props changed)
lucene/dev/branches/branch_4x/lucene/tools/ (props changed)
lucene/dev/branches/branch_4x/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/CHANGES.txt (props changed)
lucene/dev/branches/branch_4x/solr/LICENSE.txt (props changed)
lucene/dev/branches/branch_4x/solr/NOTICE.txt (props changed)
lucene/dev/branches/branch_4x/solr/README.txt (props changed)
lucene/dev/branches/branch_4x/solr/SYSTEM_REQUIREMENTS.txt (props changed)
lucene/dev/branches/branch_4x/solr/build.xml (props changed)
lucene/dev/branches/branch_4x/solr/cloud-dev/ (props changed)
lucene/dev/branches/branch_4x/solr/common-build.xml (props changed)
lucene/dev/branches/branch_4x/solr/contrib/ (props changed)
lucene/dev/branches/branch_4x/solr/core/ (props changed)
lucene/dev/branches/branch_4x/solr/example/ (props changed)
lucene/dev/branches/branch_4x/solr/licenses/ (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpclient-LICENSE-ASL.txt (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpclient-NOTICE.txt (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpcore-LICENSE-ASL.txt (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpcore-NOTICE.txt (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpmime-LICENSE-ASL.txt (props changed)
lucene/dev/branches/branch_4x/solr/licenses/httpmime-NOTICE.txt (props changed)
lucene/dev/branches/branch_4x/solr/scripts/ (props changed)
lucene/dev/branches/branch_4x/solr/site/ (props changed)
lucene/dev/branches/branch_4x/solr/solrj/ (props changed)
lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
lucene/dev/branches/branch_4x/solr/test-framework/ (props changed)
lucene/dev/branches/branch_4x/solr/testlogging.properties (props changed)
lucene/dev/branches/branch_4x/solr/webapp/ (props changed)
lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/cloud.js
Modified: lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java?rev=1421506&r1=1421505&r2=1421506&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java (original)
+++ lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java Thu Dec 13 20:39:00 2012
@@ -225,10 +225,21 @@ public class ClusterState implements JSO
}
private static DocCollection collectionFromObjects(String name, Map<String,Object> objs) {
- Map<String,Object> props = (Map<String,Object>)objs.get(DocCollection.PROPERTIES);
- if (props == null) props = Collections.emptyMap();
+ Map<String,Object> props;
+ Map<String,Slice> slices;
+
+ Map<String,Object> sliceObjs = (Map<String,Object>)objs.get(DocCollection.SHARDS);
+ if (sliceObjs == null) {
+ // legacy format from 4.0... there was no separate "shards" level to contain the collection shards.
+ slices = makeSlices(objs);
+ props = Collections.emptyMap();
+ } else {
+ slices = makeSlices(sliceObjs);
+ props = new HashMap<String, Object>(objs);
+ objs.remove(DocCollection.SHARDS);
+ }
+
DocRouter router = DocRouter.getDocRouter(props.get(DocCollection.DOC_ROUTER));
- Map<String,Slice> slices = makeSlices(objs);
return new DocCollection(name, slices, props, router);
}
@@ -237,15 +248,12 @@ public class ClusterState implements JSO
Map<String,Slice> result = new LinkedHashMap<String, Slice>(genericSlices.size());
for (Map.Entry<String,Object> entry : genericSlices.entrySet()) {
String name = entry.getKey();
- if (DocCollection.PROPERTIES.equals(name)) continue; // skip special properties entry
Object val = entry.getValue();
- Slice s;
if (val instanceof Slice) {
- s = (Slice)val;
- } else {
- s = new Slice(name, null, (Map<String,Object>)val);
+ result.put(name, (Slice)val);
+ } else if (val instanceof Map) {
+ result.put(name, new Slice(name, null, (Map<String,Object>)val));
}
- result.put(name, s);
}
return result;
}
Modified: lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java?rev=1421506&r1=1421505&r2=1421506&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java (original)
+++ lucene/dev/branches/branch_4x/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java Thu Dec 13 20:39:00 2012
@@ -21,6 +21,7 @@ import org.apache.noggit.JSONUtil;
import org.apache.noggit.JSONWriter;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -29,18 +30,24 @@ import java.util.Map;
* Models a Collection in zookeeper (but that Java name is obviously taken, hence "DocCollection")
*/
public class DocCollection extends ZkNodeProps {
- public static final String PROPERTIES = "properties";
public static final String DOC_ROUTER = "router";
+ public static final String SHARDS = "shards";
private final String name;
private final Map<String, Slice> slices;
private final DocRouter router;
+ /**
+ * @param name The name of the collection
+ * @param slices The logical shards of the collection. This is used directly and a copy is not made.
+ * @param props The properties of the slice. This is used directly and a copy is not made.
+ */
public DocCollection(String name, Map<String, Slice> slices, Map<String, Object> props, DocRouter router) {
- super(props == null ? new HashMap<String,Object>(1) : props);
+ super( props==null ? Collections.<String,Object>emptyMap() : props);
this.name = name;
this.slices = slices;
this.router = router;
+
assert name != null && slices != null;
}
@@ -81,10 +88,9 @@ public class DocCollection extends ZkNod
@Override
public void write(JSONWriter jsonWriter) {
- // write out the properties under "properties"
LinkedHashMap<String,Object> all = new LinkedHashMap<String,Object>(slices.size()+1);
- all.put(PROPERTIES, propMap);
- all.putAll(slices);
+ all.putAll(propMap);
+ all.put(SHARDS, slices);
jsonWriter.write(all);
}
}
Modified: lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/cloud.js
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/cloud.js?rev=1421506&r1=1421505&r2=1421506&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/cloud.js (original)
+++ lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/cloud.js Thu Dec 13 20:39:00 2012
@@ -369,13 +369,13 @@ var prepare_graph = function( graph_elem
for( var c in state )
{
var shards = [];
- for( var s in state[c] )
+ for( var s in state[c].shards )
{
var nodes = [];
- for( var n in state[c][s].replicas )
+ for( var n in state[c].shards[s].replicas )
{
leaf_count++;
- var replica = state[c][s].replicas[n]
+ var replica = state[c].shards[s].replicas[n]
var uri = replica.base_url;
var parts = uri.match( /^(\w+:)\/\/(([\w\d\.-]+)(:(\d+))?)(.+)$/ );