James Thomas created CONNECTORS-1512:
----------------------------------------
Summary: Documentum Connector throws NPE when a job is run after a
document is deleted from the repository
Key: CONNECTORS-1512
URL: https://issues.apache.org/jira/browse/CONNECTORS-1512
Project: ManifoldCF
Issue Type: Bug
Components: Documentum connector
Affects Versions: ManifoldCF 2.10, ManifoldCF 2.8.1
Environment: 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):
{code:java}
$ 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)
{code}
I have the following entry in properties.xml for verbose logging from
connectors:
{code:java}
<property name="org.apache.manifoldcf.connectors" value="DEBUG"/>
{code}
Reporter: James Thomas
Attachments: repro_delete.log
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:
{code:java}
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)
~[?:?]
{code}
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
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)