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/06 16:20:47 UTC
svn commit: r1649826 - in /lucene/dev/branches/branch_5x/solr: ./ core/
core/src/java/org/apache/solr/core/ core/src/java/org/apache/solr/handler/
core/src/test/org/apache/solr/core/
Author: noble
Date: Tue Jan 6 15:20:46 2015
New Revision: 1649826
URL: http://svn.apache.org/r1649826
Log:
SOLR-6801 addressing test failures, SOLR-6607 supporting all initArgs for requesthandlers
Modified:
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/core/ConfigOverlay.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/JarRepository.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/PluginInfo.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/DumpRequestHandler.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java?rev=1649826&r1=1649825&r2=1649826&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java Tue Jan 6 15:20:46 2015
@@ -75,6 +75,7 @@ public class ConfigOverlay implements Ma
for (int i = 0; i < hierarchy.size(); i++) {
String s = hierarchy.get(i);
if(i < hierarchy.size()-1){
+ if (!(obj.get(s) instanceof Map)) return null;
obj = (Map) obj.get(s);
if(obj == null) return null;
} else {
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/JarRepository.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/JarRepository.java?rev=1649826&r1=1649825&r2=1649826&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/JarRepository.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/JarRepository.java Tue Jan 6 15:20:46 2015
@@ -23,6 +23,8 @@ import static org.apache.solr.common.clo
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -71,8 +73,10 @@ public class JarRepository {
ClusterState cs = this.coreContainer.getZkController().getZkStateReader().getClusterState();
DocCollection coll = cs.getCollectionOrNull(CollectionsHandler.SYSTEM_COLL);
if (coll == null) throw new SolrException(SERVICE_UNAVAILABLE, ".system collection not available");
- Slice slice = coll.getActiveSlices().iterator().next();
- if (slice == null) throw new SolrException(SERVICE_UNAVAILABLE, ".no active slices for .system collection");
+ ArrayList<Slice> slices = new ArrayList<>(coll.getActiveSlices());
+ if (slices.isEmpty()) throw new SolrException(SERVICE_UNAVAILABLE, ".no active slices for .system collection");
+ Collections.shuffle(slices); //do load balancing
+ Slice slice = slices.get(0) ;
Replica replica = slice.getReplicas().iterator().next();
if (replica == null) throw new SolrException(SERVICE_UNAVAILABLE, ".no active replica available for .system collection");
String url = replica.getStr(BASE_URL_PROP) + "/.system/blob/" + key + "?wt=filestream";
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/PluginInfo.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/PluginInfo.java?rev=1649826&r1=1649825&r2=1649826&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/PluginInfo.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/PluginInfo.java Tue Jan 6 15:20:46 2015
@@ -63,12 +63,15 @@ public class PluginInfo implements MapSe
public PluginInfo(String type, Map<String,Object> map) {
LinkedHashMap m = new LinkedHashMap<>(map);
- NamedList nl = new NamedList();
- for (String s : asList(DEFAULTS, APPENDS, INVARIANTS)) if (m.get(s) != null) nl.add(s, map.remove(s));
+ initArgs = new NamedList();
+ for (Map.Entry<String, Object> entry : map.entrySet()) {
+ Object value = entry.getValue();
+ if (value instanceof Map) value = new NamedList((Map) value);
+ initArgs.add(entry.getKey(), value);
+ }
this.type = type;
this.name = (String) m.get(NAME);
this.className = (String) m.get(CLASS_NAME);
- this.initArgs = nl;
attributes = unmodifiableMap(m);
this.children = Collections.<PluginInfo>emptyList();
isFromSolrConfig = true;
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/BlobHandler.java?rev=1649826&r1=1649825&r2=1649826&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/BlobHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/BlobHandler.java Tue Jan 6 15:20:46 2015
@@ -188,7 +188,7 @@ public class BlobHandler extends Request
req.forward(null,
new MapSolrParams((Map) makeMap(
"q", MessageFormat.format(q,blobName,version),
- "fl", "id,size,version,timestamp,blobName",
+ "fl", "id,size,version,timestamp,blobName,md5",
"sort", "version desc"))
,rsp);
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/DumpRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/DumpRequestHandler.java?rev=1649826&r1=1649825&r2=1649826&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/DumpRequestHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/DumpRequestHandler.java Tue Jan 6 15:20:46 2015
@@ -54,6 +54,12 @@ public class DumpRequestHandler extends
}
}
+ if(Boolean.TRUE.equals( req.getParams().getBool("getdefaults"))){
+ NamedList def = (NamedList) initArgs.get(PluginInfo.DEFAULTS);
+ rsp.add("getdefaults", def);
+ }
+
+
if(Boolean.TRUE.equals( req.getParams().getBool("initArgs"))) rsp.add("initArgs", initArgs);
// Write the streams...
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=1649826&r1=1649825&r2=1649826&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 Tue Jan 6 15:20:46 2015
@@ -172,7 +172,7 @@ public class TestSolrConfigHandler exten
10);
payload = "{\n" +
- "'update-requesthandler' : { 'name' : '/x', 'class': 'org.apache.solr.handler.DumpRequestHandler' , 'startup' : 'lazy' , 'a':'b'}\n" +
+ "'update-requesthandler' : { 'name' : '/x', 'class': 'org.apache.solr.handler.DumpRequestHandler' , 'startup' : 'lazy' , 'a':'b' , 'defaults': {'def_a':'def A val'}}\n" +
"}";
runConfigCommand(writeHarness,"/config?wt=json", payload);
@@ -184,6 +184,14 @@ public class TestSolrConfigHandler exten
"b",
10);
+ testForResponseElement(writeHarness,
+ testServerBaseUrl,
+ "/x?wt=json&getdefaults=true&json.nl=map",
+ cloudSolrServer,
+ Arrays.asList("getdefaults", "def_a"),
+ "def A val",
+ 10);
+
payload = "{\n" +
"'delete-requesthandler' : '/x'" +
"}";