Hi Mano,

I have never seen that before.
It is probably related to the AtomPub link cache. Your upload rate must be really high to cause such a problem.

Try increasing the link cache size with the SessionParameter.CACHE_SIZE_LINKS parameter. The default size is 400. I assume you are just using one user and one Session object. If that's the case, you can improve the performance by having a Session object per thread. Setting up the Session objects adds overhead. But if you are using it for thousands of requests, the overhead is not significant and you are winning more than you are losing.


- Florian


Hi all,

We are using CMIS 0.5.0 to connect to an Alfresco 3.4.2 instance. We
created a custom web application which uses Alfresco under the covers using
the CMIS API.

We also have a web service entry point in our application which is used by an external party to upload documents. They execute daily batches against this web service of thousands of documents in 5 threads. Every web service
call then uses CMIS to upload the document to a folder in Alfresco.

We noticed that after a while we got CMIS exceptions:


org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException:
Unknown object!
        at

org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.throwLinkException(AbstractAtomPubService.java:230)
        at

org.apache.chemistry.opencmis.client.bindings.spi.atompub.ObjectServiceImpl.createDocument(ObjectServiceImpl.java:89)
        at

org.apache.chemistry.opencmis.client.runtime.SessionImpl.createDocument(SessionImpl.java:650)
        at

be.idewe.park.repository.impl.DocumentRepositoryImpl.createDocument(DocumentRepositoryImpl.java:64)
        at

be.idewe.park.service.impl.DocumentServiceImpl.uploadDocument(DocumentServiceImpl.java:102)
        ... 57 more



It seems that CMIS suddenly cannot find the folder anymore in which we want to upload the document. It still exists though. Extra logging also shows that the correct folder ID is still passed to the CMIS call. Has anybody had any experience with this and a lot of (simultaneous) document creations
through CMIS?

When navigating through the ObjectServiceImpl class I see that fetching of the folder fails and that it uses a cache whenever possible to retrieve the link. I see some kind of lock mechanism in the code to read this cache.
Could that be a potential problem?

Any advice or insights would be greatly appreciated.

Kind regards,

Mano Swerts

Reply via email to