You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@manifoldcf.apache.org by "Prasad Perera (JIRA)" <ji...@apache.org> on 2014/07/16 17:31:08 UTC

[jira] [Created] (CONNECTORS-996) Handle Delete documents in CMIS/Alfresco/Google Driver Connectors

Prasad Perera created CONNECTORS-996:
----------------------------------------

             Summary: Handle Delete documents in CMIS/Alfresco/Google Driver Connectors
                 Key: CONNECTORS-996
                 URL: https://issues.apache.org/jira/browse/CONNECTORS-996
             Project: ManifoldCF
          Issue Type: Bug
          Components: Alfresco connector, CMIS connector, GoogleDrive connector
    Affects Versions: ManifoldCF 1.6.1
            Reporter: Prasad Perera
            Priority: Minor


Steps to reproduce:

Create a repository connector using CMIS connector.
Create an incremental crawling job and let document get crawled one time.
In the next re-crawl interval, delete one or more documents from the repository end. You may start seeing below logs:

FATAL 2014-07-16 11:10:58,376 (Worker thread '19') - Error tossed: Object not found: workspace://SpacesStore/362c30aa-cf01-4f24-aa4a-8b17ef0375c5;1.0
org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException: Object not found: workspace://SpacesStore/362c30aa-cf01-4f24-aa4a-8b17ef0375c5;1.0
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:462)
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.read(AbstractAtomPubService.java:601)
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.getObjectInternal(AbstractAtomPubService.java:824)
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.ObjectServiceImpl.getObject(ObjectServiceImpl.java:608)
        at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getObject(SessionImpl.java:410)
        at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getObject(SessionImpl.java:388)
        at org.apache.manifoldcf.crawler.connectors.cmis.CmisRepositoryConnector.getDocumentVersions(CmisRepositoryConnector.java:1261)
        at org.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector.getDocumentVersions(BaseRepositoryConnector.java:362)
        at org.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector.getDocumentVersions(BaseRepositoryConnector.java:343)
        at org.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector.getDocumentVersions(BaseRepositoryConnector.java:322)
        at org.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector.getDocumentVersions(BaseRepositoryConnector.java:299)

org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException is thrown for the seeded documents which got deleted. 
Would it be proper to catch this exception at getDocumentVersions as :

while (i < rval.length) {
            try {
                CmisObject cmisObject = session.getObject(documentIdentifiers[i]);
//
// Rest of the code 
//
            } catch (CmisObjectNotFoundException e) { 
                rval[i] = null;
            }
}

And forward document delete call for the output connectors ?



--
This message was sent by Atlassian JIRA
(v6.2#6252)