[Zope-Coders] ZRDB and Transactions

Stephan Richter srichter@cbu.edu
Mon, 15 Oct 2001 10:28:13 -0500


>I wish I had time to look at your code, but I don't. This isn't
>because I think what your doing is unimportant, I just have too
>many commitments. I will try to help as much as I can.

Okay, I really appreciate it!

>- It's important that RDBMS transactions not get committed
>   till the second phase of the two-phase commit (i.e. tpc_finish).
>   Conflicts are detected during the first phase, so defering
>   RDBMS commits till the second phase should avoid the problem
>   you are describing.

Mmmh, I just found out that the tpc_begin and tpc_finish are NEVER called 
for the Surrogate. I will follow up on that and post results later today.

>   (Note however, that second-phase operaions
>   are not allowed to fail. Ideally, we should be integrating with
>   the RDBMS' TP-monitor/two-phase commit APIs, but we don't currently
>   have Python interfaces to those. :/)

Well, usually RDBMS' commits don't fail (in my experience). So I guess the 
existing try ... except should do it.

>If these observations (especially the second ;) don't
>reveal an answer, I'll try to help, but if it comes to that, please
>try to simplify things for me as much as possible.

Well, the answers are there as described above. Now I just have to find the 
bug. It seems to be somewhere in the Transaction.py; Method commit() code.

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development & Technical Project Management