You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by Mano Swerts <m....@aca-it.be> on 2012/06/15 10:53:49 UTC

Folder not found when using CMIS for large batch

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

Re: Folder not found when using CMIS for large batch

Posted by Mano Swerts <m....@aca-it.be>.
Hi Roberto,

That would be a possibility if we were running on Alfresco 4. That URL is
not yet available in 3.4. But when we upgrade (probably soon), we will use
that URL.

Thanks for pointing that out!

Kind regards,

Mano Swerts


On Fri, Jun 15, 2012 at 1:37 PM, Roberto Gómez <ro...@queres.com>wrote:

> Hi Mano,
>
> It reminds me of an issue I was suffering and maybe it's related to yours
> http://mail-archives.apache.**org/mod_mbox/chemistry-dev/**
> 201205.mbox/%3C4FABCF7D.**9060001%40queres.com%3E<http://mail-archives.apache.org/mod_mbox/chemistry-dev/201205.mbox/%3C4FABCF7D.9060001%40queres.com%3E>
>
> After all the problem was in ussing the wrong cmis binding url.
>
>
>
> On 06/15/2012 01:24 PM, Florian Müller wrote:
>
>> 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
>>>
>>
>>
>
> --
> Roberto Gómez López
> Queres Tecnologías
> http://www.queres.es
> Tlf. +34 981 90 90 10
>
> Este correo electrónico contiene información estrictamente confidencial y
> es de uso exclusivo del destinatario, quedando prohibida a cualquier otra
> persona su revelación, copia, distribución, o el ejercicio de cualquier
> acción relativa a su contenido. Si ha recibido este mensaje por error, por
> favor conteste a su remitente mediante correo electrónico y proceda a
> borrarlo de su sistema. Rogamos nos comunique inmediatamente sobre
> cualquier inconveniente que pueda tener usted en relación al envío de este
> tipo de correo electrónico.
>
> Sus datos personales serán tratados de forma confidencial y no serán
> cedidos a terceros ajenos a QUERES TECNOLOGÍAS, S.L. En cualquier caso,
> podrá ejercer los derecho de oposición, acceso, rectificación y cancelación
> de acuerdo con lo establecido en la Ley Orgánica 15/99, de 13 de diciembre,
> de Protección de Datos de Carácter Personal dirigiéndose a QUERES
> TECNOLOGÍAS, S.L. en C/Vulcano 1, 15172 Oleiros – A Coruña o en la
> dirección electrónico info@queres.es
>
>

Re: Folder not found when using CMIS for large batch

Posted by Roberto Gómez <ro...@queres.com>.
Hi Mano,

It reminds me of an issue I was suffering and maybe it's related to 
yours 
http://mail-archives.apache.org/mod_mbox/chemistry-dev/201205.mbox/%3C4FABCF7D.9060001%40queres.com%3E

After all the problem was in ussing the wrong cmis binding url.


On 06/15/2012 01:24 PM, Florian Müller wrote:
> 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
>


-- 
Roberto Gómez López
Queres Tecnologías
http://www.queres.es
Tlf. +34 981 90 90 10

Este correo electrónico contiene información estrictamente confidencial 
y es de uso exclusivo del destinatario, quedando prohibida a cualquier 
otra persona su revelación, copia, distribución, o el ejercicio de 
cualquier acción relativa a su contenido. Si ha recibido este mensaje 
por error, por favor conteste a su remitente mediante correo electrónico 
y proceda a borrarlo de su sistema. Rogamos nos comunique inmediatamente 
sobre cualquier inconveniente que pueda tener usted en relación al envío 
de este tipo de correo electrónico.

Sus datos personales serán tratados de forma confidencial y no serán 
cedidos a terceros ajenos a QUERES TECNOLOGÍAS, S.L. En cualquier caso, 
podrá ejercer los derecho de oposición, acceso, rectificación y 
cancelación de acuerdo con lo establecido en la Ley Orgánica 15/99, de 
13 de diciembre, de Protección de Datos de Carácter Personal 
dirigiéndose a QUERES TECNOLOGÍAS, S.L. en C/Vulcano 1, 15172 Oleiros – 
A Coruña o en la dirección electrónico info@queres.es


Re: Folder not found when using CMIS for large batch

Posted by Florian Müller <fm...@apache.org>.
 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