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());
}
}