Author: kwright
Date: Tue Oct  9 21:03:07 2018
New Revision: 1843343

URL: http://svn.apache.org/viewvc?rev=1843343&view=rev
Log:
Add another SmbException condition to catch, and skip documents that repeatedly 
fail 'busy' situations

Modified:
    
manifoldcf/trunk/connectors/jcifs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharedrive/SharedDriveConnector.java

Modified: 
manifoldcf/trunk/connectors/jcifs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharedrive/SharedDriveConnector.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/jcifs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharedrive/SharedDriveConnector.java?rev=1843343&r1=1843342&r2=1843343&view=diff
==============================================================================
--- 
manifoldcf/trunk/connectors/jcifs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharedrive/SharedDriveConnector.java
 (original)
+++ 
manifoldcf/trunk/connectors/jcifs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharedrive/SharedDriveConnector.java
 Tue Oct  9 21:03:07 2018
@@ -1045,16 +1045,17 @@ public class SharedDriveConnector extend
               throw new ServiceInterruption("Timeout or other service 
interruption: "+cause.getMessage(),cause,currentTime + 300000L,
                 currentTime + 12 * 60 * 60000L,-1,false);
             }
-            if (se.getMessage().indexOf("reset by peer") != -1 ||
-              se.getMessage().indexOf("busy") != -1 || 
-            se.getMessage().toLowerCase(Locale.ROOT).indexOf("file in use") != 
-1 || 
-            se.getMessage().toLowerCase(Locale.ROOT).indexOf("is being used") 
!= -1)
+            if (se.getMessage().toLowerCase(Locale.ROOT).indexOf("reset by 
peer") != -1 ||
+              se.getMessage().toLowerCase(Locale.ROOT).indexOf("busy") != -1 
|| 
+              se.getMessage().toLowerCase(Locale.ROOT).indexOf("file in use") 
!= -1 || 
+              se.getMessage().toLowerCase(Locale.ROOT).indexOf("is being 
used") != -1 ||
+              se.getMessage().indexOf("0xC0000054") != -1)
             {
               Logging.connectors.warn("JCIFS: 'Busy' response when processing 
document/directory for "+documentIdentifier+": retrying...",se);
               errorCode = 
se.getClass().getSimpleName().toUpperCase(Locale.ROOT);
               errorDesc = "Busy: "+se.getMessage();
               throw new ServiceInterruption("Timeout or other service 
interruption: "+se.getMessage(),se,currentTime + 300000L,
-                currentTime + 3 * 60 * 60000L,-1,true);
+                currentTime + 3 * 60 * 60000L,-1,false);
             }
             else if (se.getMessage().indexOf("handle is invalid") != -1)
             {
@@ -1282,6 +1283,13 @@ public class SharedDriveConnector extend
     {
       Logging.connectors.warn("JCIFS: 'Busy' response when "+activity+" for 
"+documentIdentifier+": retrying...",se);
       // Busy exceptions just skip the document and keep going
+      throw new ServiceInterruption("Timeout or other service interruption: 
"+se.getMessage(),se,currentTime + 300000L,
+        currentTime + 3 * 60 * 60000L,-1,false);
+    }
+    else if (se.getMessage().indexOf("0xC0000054") != -1)
+    {
+      Logging.connectors.warn("JCIFS: 'Busy' response when "+activity+" for 
"+documentIdentifier+": retrying...",se);
+      // Busy exceptions just skip the document and keep going
       throw new ServiceInterruption("Timeout or other service interruption: 
"+se.getMessage(),se,currentTime + 300000L,
         currentTime + 3 * 60 * 60000L,-1,false);
     }


Reply via email to