More 'About Storm'
Tres Seaver
tseaver at palladion.com
Thu Jul 12 15:38:16 BST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Gustavo Niemeyer wrote:
>> In integrating the two (storm and zope3/zodb) for the project I'm
>> working on my current plan is to create an IDataManager for storm
>> which will do-the-right-thing(tm) ie: rollback/commit based on the
>> success/failure/readiness of other connections, not sure if this helps
>
> Zope3's (ZODB's, actually) transaction system indeed offers the needed
> hooks to put the two-phase commit in place, but it doesn't mean that
> it will actually work with anything that hooks into it. If you have
> two connections and you commit the first one without a two-phase
> commit strategy, you can't roll it back once your second connection
> fails to commit due to some conflict, for instance.
Note that TPC is *alsays* present in ZODB-driven transactions, even
where only a single connection is uesd, and that virtually every Zope
installation running in the world has at least two stores availalbe (the
"main" one and the "temporary" one); updates which touch both have been
exercising the TPC machnery prety thoroughly.
TPC is also the mechanism used to drive features like transactional mail
delivery[1] in Zope: the mailer registers as a "mock" connection, which
defers sending mail until the 'tpc_finish' phase.
It is useful to note that the "storages" do not *manage* the TPC
process: rather, they dance to the tune called by the transaction
object[2] itself.
[1] http://www.dataflake.org/software/maildrophost/
[2] http://svn.zope.org/ZODB/trunk/doc/zodb.pdf, especially
chapter 4.
Tres.
- --
===================================================================
Tres Seaver +1 540-429-0999 tseaver at palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGljzY+gerLs4ltQ4RAnYLAJ9EUCU3re13YGSYrnUzbWHNR5MY7gCdGp5E
2RV7eKpYNJla2zwDUjHputA=
=Y3MY
-----END PGP SIGNATURE-----
More information about the storm
mailing list