manifoldcf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kwri...@apache.org
Subject svn commit: r1801944 - in /manifoldcf/trunk/connectors/documentum: connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java implementation/src/main/java/org/apache/manifoldcf/crawler/common/DCTM/DocumentumImpl.java
Date Fri, 14 Jul 2017 12:10:32 GMT
Author: kwright
Date: Fri Jul 14 12:10:31 2017
New Revision: 1801944

URL: http://svn.apache.org/viewvc?rev=1801944&view=rev
Log:
Another fix for CONNECTORS-1444.

Modified:
    manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java
    manifoldcf/trunk/connectors/documentum/implementation/src/main/java/org/apache/manifoldcf/crawler/common/DCTM/DocumentumImpl.java

Modified: manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java?rev=1801944&r1=1801943&r2=1801944&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java
(original)
+++ manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java
Fri Jul 14 12:10:31 2017
@@ -1567,6 +1567,22 @@ public class DCTM extends org.apache.man
         }
 
       }
+      catch (DocumentumException dfe)
+      {
+        // Fetch by qualification failed
+        activityMessage = dfe.getMessage();
+        if (dfe.getType() == DocumentumException.TYPE_NOTALLOWED)
+        {
+          activityStatus = "NOTALLOWED";
+          return;
+        }
+        else if (dfe.getType() != DocumentumException.TYPE_CORRUPTEDDOCUMENT)
+        {
+          activityStatus = "CORRUPTEDDOCUMENT";
+          return;
+        }
+        this.exception = dfe;
+      }
       catch (Throwable e)
       {
         this.exception = e;

Modified: manifoldcf/trunk/connectors/documentum/implementation/src/main/java/org/apache/manifoldcf/crawler/common/DCTM/DocumentumImpl.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/documentum/implementation/src/main/java/org/apache/manifoldcf/crawler/common/DCTM/DocumentumImpl.java?rev=1801944&r1=1801943&r2=1801944&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/documentum/implementation/src/main/java/org/apache/manifoldcf/crawler/common/DCTM/DocumentumImpl.java
(original)
+++ manifoldcf/trunk/connectors/documentum/implementation/src/main/java/org/apache/manifoldcf/crawler/common/DCTM/DocumentumImpl.java
Fri Jul 14 12:10:31 2017
@@ -349,9 +349,25 @@ public class DocumentumImpl extends Unic
     {
       throw new DocumentumException("Docbase io exception: "+e.getMessage(),DocumentumException.TYPE_SERVICEINTERRUPTION);
     }
-    catch (DfException e)
+    catch (DfException dfe)
     {
-      throw new DocumentumException("Documentum error: "+e.getMessage());
+      // Can't decide what to do without looking at the exception text.
+      // This is crappy but it's the best we can manage, apparently.
+      String errorMessage = dfe.getMessage();
+      if (errorMessage.indexOf("[DM_CONTENT_E_CANT_START_PULL]") != -1)
+      {
+        // It's probably not a transient error.  Report it as an access violation, even though
it
+        // may well not be.  We don't have much info as to what's happening.
+        throw new DocumentumException(dfe.getMessage(),DocumentumException.TYPE_NOTALLOWED);
+      }
+      else if (errorMessage.indexOf("[DM_OBJECT_E_LOAD_INVALID_STRING_LEN]") != -1 ||
+        errorMessage.indexOf("[DM_PLATFORM_E_INTEGER_CONVERSION_ERROR]") != -1)
+      {
+        throw new DocumentumException(dfe.getMessage(),DocumentumException.TYPE_CORRUPTEDDOCUMENT);
+      }
+      // Treat it as transient, and retry
+      throw new DocumentumException(dfe.getMessage(),DocumentumException.TYPE_SERVICEINTERRUPTION);
+      //throw new DocumentumException("Documentum error: "+e.getMessage());
     }
 
   }



Mime
View raw message