On Tuesday 31 August 2010, shaphiro wrote:
> Sto effettuando da un po' di giorni test di concorrenza e dopo aver trovato
> OSError (vedere post precedenti) mi ritrovo anche un errore di conflitto
> sul db.
> Ho creato un loop lato client che mi richiede sempre la stessa pagina via
> ajax. Se faccio partire questo loop da due browser in contemporanea dopo
> alcuni secondi mi viene ritornato:
>
> <p><strong>ZODB.POSException.ConflictError</strong></p>
> Sorry, a site error occurred.<p><p>Traceback (innermost last):
> <li>  Module ZPublisher.Publish, line 202, in publish_module_standard</li>
> <li>  Module Products.LinguaPlone.patches, line 67, in new_publish</li>
> <li>  Module ZPublisher.Publish, line 170, in publish</li>
> <li>  Module Products.LinguaPlone.patches, line 67, in new_publish</li>
> <li>  Module ZPublisher.Publish, line 170, in publish</li>
> <li>  Module Products.LinguaPlone.patches, line 67, in new_publish</li>
> <li>  Module ZPublisher.Publish, line 170, in publish</li>
> <li>  Module Products.LinguaPlone.patches, line 67, in new_publish</li>
> <li>  Module ZPublisher.Publish, line 157, in publish</li>
> <li>  Module plone.app.linkintegrity.monkey, line 15, in
> zpublisher_exception_hook_wrapper</li>
> <li>  Module ZPublisher.Publish, line 125, in publish</li>
> <li>  Module Zope2.App.startup, line 238, in commit</li>
> <li>  Module transaction._manager, line 96, in commit</li>
> <li>  Module transaction._transaction, line 395, in commit</li>
> <li>  Module transaction._transaction, line 495, in _commitResources</li>
> <li>  Module ZODB.Connection, line 510, in commit</li>
> <li>  Module ZODB.Connection, line 547, in _commit</li>
> ConflictError: database conflict error (oid 0xe6c6, class
> Products.PHParser.PHParser.PHParser)
>
> Sempre il famoso oggetto PHParser che prima o poi appena trovo una
> soluzione veloce ed economica mi deciderò a sostituire. Non essendo un
> grosso conoscitore zodb non riesco a capire su che cosa c'e' il conflitto.
> Non mi risulta che PHParser vada a scrivere nello zodb. Quindi chi è che
> scrive? 

In realtà ci scrive quando aggiorna la cache. Nel codice è la riga:
   self.ZCacheable_set(result))

> e cosa? 

Salva in cache la pagina renderizzata.

> c'e' un modo per evitare questo problema? 

Modificare il codice togliendo la parte relativa alla cache, in questo modo si 
evitano scritture concorrenti sullo stesso oggetto (il PHParser).

> Ho provato ad   
> installare PloneQueueCatalog ma una volta installato cosa devo fare? (dato
> che il problema continua ad esserci)
> ...

Non serve.

-- 
Riccardo Lemmi                           Email:   [email protected]
Reflab S.r.l. - Plone Design, Development and Consulting
Phone: +39 349 4620820                         http://www.reflab.com

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Plone-IT mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html

Rispondere a