Re: Sync Rep: First Thoughts on Code - Mailing list pgsql-hackers

From Ron Mayer
Subject Re: Sync Rep: First Thoughts on Code
Date
Msg-id 49458210.7050405@cheapcomplexdevices.com
Whole thread Raw
In response to Re: Sync Rep: First Thoughts on Code  ("Robert Haas" <robertmhaas@gmail.com>)
Responses Re: Sync Rep: First Thoughts on Code  ("Robert Haas" <robertmhaas@gmail.com>)
List pgsql-hackers
Robert Haas wrote:
>> We can make the reply to a commit message when any of the following
>> events have occurred
>>
>> 1. We sent the message to standby
>> 2. We received the message on standby
>> 3. We wrote the WAL to the WAL file
>> 4. We fsync'd the WAL file
>> 5. We CRC checked the WAL commit record
>> 6. We applied the WAL commit record

Perhaps it'd be useful if the failure modes these are trying to
protect against were described too.

If I understand right.

1. Protects all the transactions from the failure of the   master; so long as neither the network nor the slave
machinedie soon?
 

2. Protects all the transactions from the failure of the   master and the network between the slave and master,   so
longas the slave doesn't die soon?
 

3. Same as #2?

4. Protects against the failure of the master, the network,   and parts of the slave; so long as the slave's disk
survivesthe failure?
 

5. Protects against all of the above, and bit-errors in the   memories of the slave machine (except the slave's disk
controller?)?  Or are we reading-back the CRC from the   slave's disk and comparing to the CRC computed on the   master
whereit might protect from even more?
 

6. Same as 4?

If this is right, #2, #3, #4, and #6 feel similar except
that they're protecting against failures of different (but
still all incomplete) subsets of the hardware on the slave, right?


pgsql-hackers by date:

Previous
From: Josh Berkus
Date:
Subject: Re: Block-level CRC checks
Next
From: Mark Mielke
Date:
Subject: Re: Sync Rep: First Thoughts on Code