Author: kwright
Date: Sun Jan 20 14:35:04 2013
New Revision: 1435852

URL: http://svn.apache.org/viewvc?rev=1435852&view=rev
Log:
More fixes related to CONNECTORS-616.

Modified:
    
manifoldcf/trunk/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
    
manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/WorkerThread.java

Modified: 
manifoldcf/trunk/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java?rev=1435852&r1=1435851&r2=1435852&view=diff
==============================================================================
--- 
manifoldcf/trunk/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
 (original)
+++ 
manifoldcf/trunk/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
 Sun Jan 20 14:35:04 2013
@@ -411,7 +411,9 @@ public class HttpPoster
       // to have a bug where it drops the connection when two simultaneous 
documents come in
       // at the same time.  This is the final version of Solr 4.0 so we need 
to deal with
       // this.
-      if (e.getMessage().toLowerCase().indexOf("broken pipe") != -1)
+      if (e.getMessage().toLowerCase(Locale.ROOT).indexOf("broken pipe") != -1 
||
+        e.getMessage().toLowerCase(Locale.ROOT).indexOf("connection reset") != 
-1 ||
+        e.getMessage().toLowerCase(Locale.ROOT).indexOf("target server failed 
to respond") != -1)
         // Treat it as a service interruption, but with a limited number of 
retries.
         // In that way we won't burden the user with a huge retry interval; it 
should
         // give up fairly quickly, and yet NOT give up if the error was merely 
transient
@@ -784,7 +786,7 @@ public class HttpPoster
               newFieldName = fieldName;
             if (newFieldName.length() > 0)
             {
-              if 
(newFieldName.toLowerCase().equals(idAttributeName.toLowerCase()))
+              if 
(newFieldName.toLowerCase(Locale.ROOT).equals(idAttributeName.toLowerCase(Locale.ROOT)))
                 newFieldName = ID_METADATA;
               String[] values = document.getFieldAsStrings(fieldName);
               writeField(out,LITERAL+newFieldName,values);
@@ -827,7 +829,9 @@ public class HttpPoster
             // Broken pipe exceptions we log specially because they usually 
mean
             // Solr has rejected the document, and the user will want to know 
that.
             if (e.getCause() != null && 
e.getCause().getClass().getName().equals("java.net.SocketException") &&
-              activityDetails.indexOf("broken pipe") != -1)
+              (activityDetails.toLowerCase(Locale.ROOT).indexOf("broken pipe") 
!= -1 ||
+                activityDetails.toLowerCase(Locale.ROOT).indexOf("connection 
reset") != -1 ||
+                activityDetails.toLowerCase(Locale.ROOT).indexOf("target 
server failed to respond") != -1))
               activityCode = "SOLR REJECT";
             else
               activityCode = "FAILED";

Modified: 
manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/WorkerThread.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/WorkerThread.java?rev=1435852&r1=1435851&r2=1435852&view=diff
==============================================================================
--- 
manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/WorkerThread.java
 (original)
+++ 
manifoldcf/trunk/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/WorkerThread.java
 Sun Jan 20 14:35:04 2013
@@ -581,9 +581,6 @@ public class WorkerThread extends Thread
                               deleteList.clear();
                               ArrayList requeueList = new ArrayList();
 
-                              if (e.isAbortOnFail())
-                                abortOnFail = new 
ManifoldCFException("Repeated service interruptions - failure processing 
document"+((e.getCause()!=null)?": 
"+e.getCause().getMessage():""),e.getCause());
-
                               Set<String> fetchDocuments = new 
HashSet<String>();
                               for (int i = 0; i < fetchList.size(); i++)
                               {
@@ -603,6 +600,8 @@ public class WorkerThread extends Thread
                                     if (e.isAbortOnFail())
                                     {
                                       rescanList.add(qd);
+                                      // The job when we are done updating all 
the tables
+                                      abortOnFail = new 
ManifoldCFException("Repeated service interruptions - failure processing 
document"+((e.getCause()!=null)?": 
"+e.getCause().getMessage():""),e.getCause());
                                     }
                                     else
                                     {


Reply via email to