Re: PostgreSql - access modified rows in prepare transaction command - Mailing list pgsql-hackers

From pierpaolo.cincilla
Subject Re: PostgreSql - access modified rows in prepare transaction command
Date
Msg-id 1361360372230-5745930.post@n5.nabble.com
Whole thread Raw
In response to Re: PostgreSql - access modified rows in prepare transaction command  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Responses Re: Re: PostgreSql - access modified rows in prepare transaction command  (Amit Kapila <amit.kapila@huawei.com>)
Re: Re: PostgreSql - access modified rows in prepare transaction command  (Heikki Linnakangas <hlinnakangas@vmware.com>)
List pgsql-hackers
Thank you Heikki for your reply. As you suggest, I will explain better what
I'm trying to accomplish. 

What I'm writing a ditributed two-phase-commit termination protocol that
work in this manner:

1) Each site has a replica of the database. A site A perform a transaction
t1 and prepare it (PREPARE TRANSACTION 't1'). Then it atomic broadcast a
certification request for the transaction t1 *along with its writeset*
(values updated by t1) to other sites. 

2) When a site receive the certification request for transaction t1 does the
certification (check that there are no concurrent conflicting transactions).
If the certification succeed then 
2a) if the transaction is local (i.e. originated at that site) it commit the
transaction (COMMMIT PREPARED 't1').
2b) If the transaction is remote (i.e. prepared at another site) *it apply
locally the writeset of transaction t1* to reflect modifications to its
local replica of the database (UPDATE command).

The problem is that if I can't fetch the writeset of a transaction in phase
1 (before the commit request) then when I certify the transaction at another
site I can't apply the updates performed by the remote transaction right
away but I have to wait the originating site to commit the transaction and
send back its writeset (now visible). This will be very bad because it adds
an extra round to the algorithm.




--
View this message in context:
http://postgresql.1045698.n5.nabble.com/PostgreSql-access-modified-rows-in-prepare-transaction-command-tp5745926p5745930.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Materialized views WIP patch
Next
From: Tom Lane
Date:
Subject: Re: Materialized views WIP patch