You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jd...@apache.org on 2012/11/05 18:39:31 UTC

svn commit: r1405893 - in /lucene/dev/trunk/solr: CHANGES.txt core/src/java/org/apache/solr/handler/PingRequestHandler.java core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java solrj/src/java/org/apache/solr/common/SolrException.java

Author: jdyer
Date: Mon Nov  5 17:39:30 2012
New Revision: 1405893

URL: http://svn.apache.org/viewvc?rev=1405893&view=rev
Log:
SOLR-4019:  Log 503 stack traces unless from PingRequestHandler.  Suppress logging some stack traces with ShowFileRequestHandler.

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java
    lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/SolrException.java

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1405893&r1=1405892&r2=1405893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Mon Nov  5 17:39:30 2012
@@ -142,6 +142,10 @@ Bug Fixes
 * SOLR-4009: OverseerCollectionProcessor is not resiliant to many error conditions
   and can stop running on errors. (milesli, Mark Miller)
 
+* SOLR-4019: Log stack traces for 503/Service Unavailable SolrException if not
+  thrown by PingRequestHandler. Do not log exceptions if a user tries to view a
+  hidden file using ShowFileRequestHandler.  (Tomás Fernández Löbbe via James Dyer)
+
 Other Changes
 ----------------------
 

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java?rev=1405893&r1=1405892&r2=1405893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java Mon Nov  5 17:39:30 2012
@@ -18,7 +18,6 @@
 package org.apache.solr.handler;
 
 import java.io.File;
-import java.io.FileWriter;
 import java.io.IOException;
 import java.util.Date;
 import java.util.Locale;
@@ -201,8 +200,10 @@ public class PingRequestHandler extends 
     switch(action){
       case PING:
         if( isPingDisabled() ) {
-          throw new SolrException(SolrException.ErrorCode.SERVICE_UNAVAILABLE, 
+          SolrException e = new SolrException(SolrException.ErrorCode.SERVICE_UNAVAILABLE, 
                                   "Service disabled");
+          rsp.setException(e);
+          return;
         }
         handlePing(req, rsp);
         break;

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java?rev=1405893&r1=1405892&r2=1405893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java Mon Nov  5 17:39:30 2012
@@ -139,10 +139,12 @@ public class ShowFileRequestHandler exte
     } else {
       fname = fname.replace('\\', '/'); // normalize slashes
       if (hiddenFiles.contains(fname.toUpperCase(Locale.ROOT))) {
-        throw new SolrException(ErrorCode.FORBIDDEN, "Can not access: " + fname);
+        rsp.setException(new SolrException(ErrorCode.FORBIDDEN, "Can not access: " + fname));
+        return;
       }
       if (fname.indexOf("..") >= 0) {
-        throw new SolrException(ErrorCode.FORBIDDEN, "Invalid path: " + fname);
+        rsp.setException(new SolrException(ErrorCode.FORBIDDEN, "Invalid path: " + fname));
+        return;
       }
       if (fname.startsWith("/")) { // Only files relative to conf are valid
         fname = fname.substring(1);
@@ -218,10 +220,12 @@ public class ShowFileRequestHandler exte
     else {
       fname = fname.replace( '\\', '/' ); // normalize slashes
       if( hiddenFiles.contains( fname.toUpperCase(Locale.ROOT) ) ) {
-        throw new SolrException( ErrorCode.FORBIDDEN, "Can not access: "+fname );
+        rsp.setException(new SolrException( ErrorCode.FORBIDDEN, "Can not access: "+fname ));
+        return;
       }
       if( fname.indexOf( ".." ) >= 0 ) {
-        throw new SolrException( ErrorCode.FORBIDDEN, "Invalid path: "+fname );  
+        rsp.setException(new SolrException( ErrorCode.FORBIDDEN, "Invalid path: "+fname ));
+        return;
       }
       adminFile = new File( configdir, fname );
     }

Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/SolrException.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/SolrException.java?rev=1405893&r1=1405892&r2=1405893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/SolrException.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/common/SolrException.java Mon Nov  5 17:39:30 2012
@@ -76,10 +76,6 @@ public class SolrException extends Runti
 
   public void log(Logger log) { log(log,this); }
   public static void log(Logger log, Throwable e) {
-    if (e instanceof SolrException
-        && ((SolrException) e).code() == ErrorCode.SERVICE_UNAVAILABLE.code) {
-      return;
-    }
     String stackTrace = toStr(e);
     String ignore = doIgnore(e, stackTrace);
     if (ignore != null) {
@@ -91,10 +87,6 @@ public class SolrException extends Runti
   }
 
   public static void log(Logger log, String msg, Throwable e) {
-    if (e instanceof SolrException
-        && ((SolrException) e).code() == ErrorCode.SERVICE_UNAVAILABLE.code) {
-      log(log, msg);
-    }
     String stackTrace = msg + ':' + toStr(e);
     String ignore = doIgnore(e, stackTrace);
     if (ignore != null) {