You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by ho...@apache.org on 2007/02/07 21:48:10 UTC

svn commit: r504683 - in /lucene/solr/trunk: CHANGES.txt src/java/org/apache/solr/handler/RequestHandlerBase.java src/test/org/apache/solr/BasicFunctionalityTest.java

Author: hossman
Date: Wed Feb  7 12:48:10 2007
New Revision: 504683

URL: http://svn.apache.org/viewvc?view=rev&rev=504683
Log:
fix for SOLR-145, some Exceptions were being ignored by RequestHandlers

Modified:
    lucene/solr/trunk/CHANGES.txt
    lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerBase.java
    lucene/solr/trunk/src/test/org/apache/solr/BasicFunctionalityTest.java

Modified: lucene/solr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?view=diff&rev=504683&r1=504682&r2=504683
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Wed Feb  7 12:48:10 2007
@@ -106,7 +106,10 @@
  3. SOLR-9,SOLR-99: Tighten up sort specification error checking, throw
     exceptions for missing sort specifications or a sort on a non-indexed
     field. (Ryan McKinley via yonik)
-  
+    
+ 4. SOLR-145: Fix for bug introduced in SOLR-104 where some Exceptions
+    were being ignored by all "out of the box" RequestHandlers. (hossman)
+      
 Other Changes
  1.
 

Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerBase.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerBase.java?view=diff&rev=504683&r1=504682&r2=504683
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerBase.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/RequestHandlerBase.java Wed Feb  7 12:48:10 2007
@@ -19,6 +19,7 @@
 
 import java.net.URL;
 
+import org.apache.solr.core.SolrCore;
 import org.apache.solr.core.SolrException;
 import org.apache.solr.core.SolrInfoMBean;
 import org.apache.solr.request.SolrParams;
@@ -74,12 +75,9 @@
     try {
       U.setDefaults(req,defaults,appends,invariants);
       handleRequestBody( req, rsp );
-    } 
-    catch( SolrException se ) {
-      numErrors++;
-      throw se;
-    }
-    catch( Exception e) {
+    } catch (Exception e) {
+      SolrException.log(SolrCore.log,e);
+      rsp.setException(e);
       numErrors++;
     }
   }

Modified: lucene/solr/trunk/src/test/org/apache/solr/BasicFunctionalityTest.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/org/apache/solr/BasicFunctionalityTest.java?view=diff&rev=504683&r1=504682&r2=504683
==============================================================================
--- lucene/solr/trunk/src/test/org/apache/solr/BasicFunctionalityTest.java (original)
+++ lucene/solr/trunk/src/test/org/apache/solr/BasicFunctionalityTest.java Wed Feb  7 12:48:10 2007
@@ -22,6 +22,7 @@
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.solr.core.SolrCore;
 import org.apache.solr.search.*;
+import org.apache.solr.handler.*;
 import org.apache.solr.request.*;
 import org.apache.solr.util.*;
 import org.apache.solr.schema.*;
@@ -143,6 +144,27 @@
             );
   }
 
+  public void testRequestHandlerBaseException() {
+    final String tmp = "BOO!";
+    SolrRequestHandler handler = new RequestHandlerBase() {
+        public String getDescription() { return tmp; }
+        public String getSourceId() { return tmp; }
+        public String getSource() { return tmp; }
+        public String getVersion() { return tmp; }
+        public void handleRequestBody
+          ( SolrQueryRequest req, SolrQueryResponse rsp ) {
+          throw new RuntimeException(tmp);
+        }
+      };
+    handler.init(new NamedList());
+    SolrQueryResponse rsp = new SolrQueryResponse();
+    h.getCore().execute(handler, 
+                        new LocalSolrQueryRequest(h.getCore(),
+                                                  new NamedList()),
+                        rsp);
+    assertNotNull("should have found an exception", rsp.getException());
+                        
+  }
 
   public void testMultipleUpdatesPerAdd() {