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:30:02 UTC

svn commit: r1608681 - in /lucene/dev/branches/branch_4x: ./ solr/ solr/CHANGES.txt solr/core/ solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java solr/core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java

Author: shalin
Date: Tue Jul  8 07:30:01 2014
New Revision: 1608681

URL: http://svn.apache.org/r1608681
Log:
SOLR-6229: Make SuggestComponent return 400 instead of 500 for bad dictionary selected in request

Modified:
    lucene/dev/branches/branch_4x/   (props changed)
    lucene/dev/branches/branch_4x/solr/   (props changed)
    lucene/dev/branches/branch_4x/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_4x/solr/core/   (props changed)
    lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java
    lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java

Modified: lucene/dev/branches/branch_4x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/CHANGES.txt?rev=1608681&r1=1608680&r2=1608681&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/solr/CHANGES.txt Tue Jul  8 07:30:01 2014
@@ -90,6 +90,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/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java?rev=1608681&r1=1608680&r2=1608681&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java Tue Jul  8 07:30:01 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/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java?rev=1608681&r1=1608680&r2=1608681&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/component/SuggestComponentTest.java Tue Jul  8 07:30:01 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
+        );
+  }
+  
 }