> It is asynchronous without the need of 2 phase commit. It is group
> communication based and requires the group communication system to
> guarantee total order. The tricky part is, that the local transaction
> must be on hold until the own commit message comes back without a prior

No, It holds until it's own Writeset comes back.  Commits 
and then send a commit message on the simple channel, so
commits don't wait for ordered writesets.  

Remember total order guarantees if no changes in front of 
the local changes conflict, the local changes can commit.


> lock conflict by a replication transaction. If such a lock confict
> occurs, the replication transaction wins and the local transaction rolls
> back.

Correct.

> 
> The last time i was playing with spread (that was at Great Bridge in
> Norfolk), it was IMHO useless (for Postgres-R) because it sometimes
> dropped messages when the network load got too high. This occured
> without any indication, no error, nothing. This is not exactly what I
> understand as total order. I hope they have made some substantial
> progress on that.
> 

I remember the TCL tester you set up, and having problems,
but I don't recall investigating what the problems were.
If you still have the code I can try and reproduce the 
problem, and investigate it on the spread list.  

Darren


Fri, 13 Dec 2002 16:12:37 -0500
<darren@up.hrcoxmail.com>
Re: Big 7.4 items
darren@up.hrcoxmail.com wrote:
> > It is asynchronous without the need of 2 phase commit. It is group
> > communication based and requires the group communication system to
> > guarantee total order. The tricky part is, that the local transaction
> > must be on hold until the own commit message comes back without a prior
> 
> No, It holds until it's own Writeset comes back.  Commits 
> and then send a commit message on the simple channel, so
> commits don't wait for ordered writesets.  

Darren, can you clarify this?  Why does it send that message?  How does
it allow commits not to wait for ordered writesets?

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Fri, 13 Dec 2002 16:19:32 -0500 (EST)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Big 7.4 items
darren@up.hrcoxmail.com wrote:
> 
> > It is asynchronous without the need of 2 phase commit. It is group
> > communication based and requires the group communication system to
> > guarantee total order. The tricky part is, that the local transaction
> > must be on hold until the own commit message comes back without a prior
> 
> No, It holds until it's own Writeset comes back.  Commits
> and then send a commit message on the simple channel, so
> commits don't wait for ordered writesets.
> 
> Remember total order guarantees if no changes in front of
> the local changes conflict, the local changes can commit.

Right, it's the writeset ... that get's sent just before you flip bits
in the clog, then wait until it comes back and flip 'em. 

> >
> > The last time i was playing with spread (that was at Great Bridge in
> > Norfolk), it was IMHO useless (for Postgres-R) because it sometimes
> > dropped messages when the network load got too high. This occured
> > without any indication, no error, nothing. This is not exactly what I
> > understand as total order. I hope they have made some substantial
> > progress on that.
> >
> 
> I remember the TCL tester you set up, and having problems,
> but I don't recall investigating what the problems were.
> If you still have the code I can try and reproduce the
> problem, and investigate it on the spread list.

Maybe you heard about it, there was this funny conversation while
walking down the hallway:

"Did that German guy ever turn in his notebook?"

"You mean THIS German guy?"

"Yes, did he turn it in?"

"He is here. Right BEHIND YOU!!!"

"Hummmpf ... er ..."


The stuff was on that notebook. Sorry.


Jan

-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #

Fri, 13 Dec 2002 16:31:51 -0500
Jan Wieck <JanWieck@Yahoo.com>
Re: Big 7.4 items
darren@up.hrcoxmail.com wrote:
>>It is asynchronous without the need of 2 phase commit. It is group
>>communication based and requires the group communication system to
>>guarantee total order. The tricky part is, that the local transaction
>>must be on hold until the own commit message comes back without a prior
> 
> 
> No, It holds until it's own Writeset comes back.  Commits 
> and then send a commit message on the simple channel, so
> commits don't wait for ordered writesets.  
> 
> Remember total order guarantees if no changes in front of 
> the local changes conflict, the local changes can commit.

Do people have to be careful about how they use sequences, as they don't normally roll back?

Regards and best wishes,

Justin Clift

<snip>
> Darren

-- 
"My grandfather once told me that there are two kinds of people: those
who work and those who take the credit. He told me to try to be in the
first group; there was less competition there."
- Indira Gandhi


Sat, 14 Dec 2002 17:55:05 +1100
Justin Clift <justin@postgresql.org>
Re: Big 7.4 items