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 2013/09/24 22:39:55 UTC
svn commit: r1526003 - in
/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud:
ClusterState.java DocRouter.java
Author: yonik
Date: Tue Sep 24 20:39:54 2013
New Revision: 1526003
URL: http://svn.apache.org/r1526003
Log:
SOLR-4221: back compat for router spec
Modified:
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java?rev=1526003&r1=1526002&r2=1526003&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java Tue Sep 24 20:39:54 2013
@@ -260,8 +260,18 @@ public class ClusterState implements JSO
objs.remove(DocCollection.SHARDS);
}
- Map map = (Map) props.get(DocCollection.DOC_ROUTER);
- DocRouter router = map == null ? DocRouter.DEFAULT : DocRouter.getDocRouter(map.get("name"));
+ Object routerObj = props.get(DocCollection.DOC_ROUTER);
+ DocRouter router;
+ if (routerObj == null) {
+ router = DocRouter.DEFAULT;
+ } else if (routerObj instanceof String) {
+ // back compat with Solr4.4
+ router = DocRouter.getDocRouter((String)routerObj);
+ } else {
+ Map routerProps = (Map)routerObj;
+ router = DocRouter.getDocRouter(routerProps.get("name"));
+ }
+
return new DocCollection(name, slices, props, router);
}
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java?rev=1526003&r1=1526002&r2=1526003&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java Tue Sep 24 20:39:54 2013
@@ -64,9 +64,13 @@ public abstract class DocRouter {
map.put(s.substring(7), props.get(s));
}
}
- if(map.get("name") == null) map.put("name", DEFAULT_NAME);
+ Object o = props.get("router");
+ if (o instanceof String) {
+ map.put("name", o);
+ } else if (map.get("name") == null) {
+ map.put("name", DEFAULT_NAME);
+ }
return map;
-
}
// currently just an implementation detail...