chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Müller <f...@apache.org>
Subject Re: Folder not found when using CMIS for large batch
Date Fri, 15 Jun 2012 11:24:01 GMT
 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


Mime
View raw message