Cara,

O ZODB permite que multiplos threads em uma aplicação acessem os mesmos
objetos persistentes. Cada thread usa uma ou mais conexões com o banco de
dados. Cada conexão com o banco de dados possui sua própria cópia dos
objetos persistentes.

Somente uma transação pode executar commit por vez. Se dois threads
modificam o mesmo objetos em conexões diferentes, um thread terá garantido o
seu commit primeiro.  Quando o segundo thread executar o seu commit, uma
exceção ConflictError será lançada.

A aplicação pode capturar esses conflitos e executar novamente a transação
(o que é feito de forma automática pelo Zope, por exemplo). Quando a
transação é executada novamente, o estado dos objetos afetados refletem as
mudanças feitas pelas transações que já executaram o commit.

http://www.tchezope.org/documentacao/tutorial/zodb-zope-object-database/tutorial-all-pages

Flw

On 9/20/07, Glauter Vilela <[EMAIL PROTECTED]> wrote:
>
>   Boa tarde,
>
> estou com uma instância com Zope 2.9.8, Plone 2.5.1, Five 1.3.8 exclusiva
> para um
> site com enorme número de acessos e inclusões de objetos.
> Está havendo um grande número de registros de log de 
> "ZPublisher.ConflictConflictError"
> "database conflict error (oid 0x0dd0, class BTrees._OOBTree.OOBTree, ..."
>
> Já ví algo escritro sobre o problema ser provocado pela criação de muitas
> sessões e
> que teria sido corrigido no Plone 2.5.*.
> Também vi algo sobre o grande número de índices no Catalog.
> Na verdade não encontrei muita coisa sobre o assunto.
>
> Alguém já passou pelo mesmo problema ou pode me dizer se a causa dos erros
> é realmente
> o grande número de inclusões de objetos?
> O que poderia ser feito pra resolver tal problema?
>
> Grato,
>
> Glauter de S. Vilela
>
>
> Flickr agora em português. Você clica, todo mundo vê. Saiba 
> mais<http://br.rd.yahoo.com/mail/taglines/flickr/*http://www.flickr.com.br/>.
>
>
>  
>



-- 
Maurício Victor
http://mauvictor.objectis.net

Responder a