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)

Reply via email to