You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2014/07/08 09:29:30 UTC
svn commit: r1608680 - in /lucene/dev/trunk/solr: CHANGES.txt
core/src/java/org/apache/solr/handler/component/SuggestComponent.java
core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java
Author: shalin
Date: Tue Jul 8 07:29:30 2014
New Revision: 1608680
URL: http://svn.apache.org/r1608680
Log:
SOLR-6229: Make SuggestComponent return 400 instead of 500 for bad dictionary selected in request
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1608680&r1=1608679&r2=1608680&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Tue Jul 8 07:29:30 2014
@@ -161,6 +161,9 @@ Bug Fixes
* SOLR-6180: Callers of ManagedIndexSchema mutators should hold the schemaUpdateLock.
(Gregory Chanan via Steve Rowe)
+* SOLR-6229: Make SuggestComponent return 400 instead of 500 for bad dictionary selected in request.
+ (Tomás Fernández Löbbe via shalin)
+
Optimizations
---------------------
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java?rev=1608680&r1=1608679&r2=1608680&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java Tue Jul 8 07:29:30 2014
@@ -35,6 +35,7 @@ import org.apache.lucene.search.suggest.
import org.apache.lucene.util.Accountable;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRef;
+import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.ShardParams;
@@ -208,7 +209,7 @@ public class SuggestComponent extends Se
Set<SolrSuggester> querySuggesters;
try {
querySuggesters = getSuggesters(params);
- } catch(IllegalArgumentException ex) {
+ } catch(SolrException ex) {
if (!buildAll && !reloadAll) {
throw ex;
} else {
@@ -351,11 +352,12 @@ public class SuggestComponent extends Se
if (curSuggester != null) {
solrSuggesters.add(curSuggester);
} else {
- throw new IllegalArgumentException("No suggester named " + suggesterName +" was configured");
+ throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "No suggester named " + suggesterName +" was configured");
}
}
if (solrSuggesters.size() == 0) {
- throw new IllegalArgumentException("No default suggester was configured");
+ throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
+ "'" + SUGGEST_DICT + "' parameter not specified and no default suggester configured");
}
return solrSuggesters;
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java?rev=1608680&r1=1608679&r2=1608680&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java Tue Jul 8 07:29:30 2014
@@ -18,6 +18,7 @@ package org.apache.solr.handler.componen
*/
import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.common.SolrException;
import org.apache.solr.spelling.suggest.SuggesterParams;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -166,4 +167,24 @@ public class SuggestComponentTest extend
);
}
+ @Test
+ public void testBadSuggesterName() throws Exception {
+ String fakeSuggesterName = "does-not-exist";
+ assertQEx("No suggester named " + fakeSuggesterName +" was configured",
+ req("qt", rh,
+ SuggesterParams.SUGGEST_DICT, fakeSuggesterName,
+ SuggesterParams.SUGGEST_Q, "exampel",
+ SuggesterParams.SUGGEST_COUNT, "2"),
+ SolrException.ErrorCode.BAD_REQUEST
+ );
+
+ assertQEx("'" + SuggesterParams.SUGGEST_DICT +
+ "' parameter not specified and no default suggester configured",
+ req("qt", rh,
+ SuggesterParams.SUGGEST_Q, "exampel",
+ SuggesterParams.SUGGEST_COUNT, "2"),
+ SolrException.ErrorCode.BAD_REQUEST
+ );
+ }
+
}