[Zope] Rollback and delete weird behavior

Chris McDonough chrism at plope.com
Sat Jul 1 13:54:59 EDT 2006


Can you provide a reproducible test case?  There are really too many  
moving parts here to know what is going on without being able to  
reproduce it.

On Jul 1, 2006, at 1:24 PM, Luiz Fernando B. Ribeiro wrote:

> Hello,
>
> In a python script I got a structure like this:
>
> # Many request checks
>
> # A zSQl method deleting some old data
> cotainer.doDelete(key=key)
>
> errors = [ ]
> for data in list:
>   # Other checks
>   if error:
>     errors.append(error)
>     continue
>
>   # Inserts in mysql database
>   cotainer.doInsert(data=data, other=stuff)
>
> if errors:
>   raise "An Error with list of error: %s" % ', '.join(errors)
>
> # --- cut ---
>
> The problem is that the raise is not rolling back the delete,  
> looking in mysql log the following sequence was found:
>
> --Begin transaction
> [delete statement]
> [the insert statements]
> --Rollback
> --Begin transaction        !!
> [delete statement again]   !!
> --Commit                   !!!
>
> We tried it many times and revised our code. The only solution was  
> to put the delete statement in weird block like this:
>
> if True:
>   cotainer.doDelete(key=key)
>
> As if the rollback was only effective against a "2nd level"  
> instruction. This is a really odd behavior but with this trick the  
> rollback was done correctly.
>
> Has anyone ever seen this?
>
> Luiz Fernando B. Ribeiro
> _______________________________________________
> Zope maillist  -  Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
> http://mail.zope.org/mailman/listinfo/zope-dev )
>



More information about the Zope mailing list