Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
ManifoldCF 2.8.1, ManifoldCF 2.10
-
None
-
Documentum 16.4
Manifold 2.10, using dfc jars 16.4
Manifold server machine details (although also seen on a Windows-based MF 2.8.1):$ hostnamectl ... Chassis: vm Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-862.2.3.el7.x86_64 Architecture: x86-64 $ java -version openjdk version "1.8.0_171" OpenJDK Runtime Environment (build 1.8.0_171-b10) OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)
I have the following entry in properties.xml for verbose logging from connectors:
<property name="org.apache.manifoldcf.connectors" value="DEBUG"/>
Documentum 16.4 Manifold 2.10, using dfc jars 16.4 Manifold server machine details (although also seen on a Windows-based MF 2.8.1): $ hostnamectl ... Chassis: vm Virtualization: kvm Operating System : CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-862.2.3.el7.x86_64 Architecture: x86-64 $ java -version openjdk version "1.8.0_171" OpenJDK Runtime Environment (build 1.8.0_171-b10) OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode) I have the following entry in properties.xml for verbose logging from connectors: <property name= "org.apache.manifoldcf.connectors" value= "DEBUG" />
Description
I see an NPE from the Documentum Connector when I re-run a job after deleting a file from the Documentum repository using the Documentum Administrator:
FATAL 2018-06-29T08:36:54,847 (Worker thread '5') - Error tossed: null java.lang.NullPointerException at org.apache.manifoldcf.crawler.common.DCTM.DocumentumObjectImpl.getContentSize(DocumentumObjectImpl.java:181) ~[?:?] ... at org.apache.manifoldcf.crawler.connectors.DCTM.DCTM$ProcessDocumentThread.run(DCTM.java:1399) ~[?:?]
The job then appears not to terminate in the Manifold UI. If the job is not aborted, the NPE will show again after restarting the Manifold server and Documentum Connectors.
I expect the connectors to handle deletion of source in the repository, passing the appropriate status to the output connector, and not failing like this.
Reproduce:
- Configure Manifold to use Documentum Connectors to talk to a Documentum instance
- Sanity check your configuration by
- create a directory in Documentum, D, with two files F, G
- create a job in Manifold to take from D and write to the file system in directory L
- run the job and observe that F, G appear in L
- delete G from D in Documentum
- in Documentum Administrator, right click on G and choose Delete, then OK
- re-run your job
- observe that the job doesn't end
- inspect L
- observe that F and G are both still present
- inspect the Manifold logs
- observe NPE in the logs
In the log file I'll attach, F and G are Book1.xlsx and Book1.xls