Re: Standalone synchronous master - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Standalone synchronous master
Date
Msg-id CAA4eK1Ke2_dcX1KY==uW7BaL2_tsWOPWypyeMej2kDHQsxRzOg@mail.gmail.com
Whole thread Raw
In response to Re: Standalone synchronous master  (Bruce Momjian <bruce@momjian.us>)
Responses Re: Standalone synchronous master
List pgsql-hackers
On Thu, Jan 9, 2014 at 10:45 PM, Bruce Momjian <bruce@momjian.us> wrote:
>
> I think RAID-1 is a very good comparison because it is successful
> technology and has similar issues.
>
> RAID-1 is like Postgres synchronous_standby_names mode in the sense that
> the RAID-1 controller will not return success until writes have happened
> on both mirrors, but it is unlike synchronous_standby_names in that it
> will degrade and continue writes even when it can't write to both
> mirrors.  What is being discussed is to allow the RAID-1 behavior in
> Postgres.
>
> One issue that came up in discussions is the insufficiency of writing a
> degrade notice in a server log file because the log file isn't durable
> from server failures, meaning you don't know if a fail-over to the slave
> lost commits.  The degrade message has to be stored durably against a
> server failure, e.g. on a pager, probably using a command like we do for
> archive_command, and has to return success before the server continues
> in degrade mode.  I assume degraded RAID-1 controllers inform
> administrators in the same way.

Here I think if user is aware from beginning that this is the behaviour,
then may be the importance of message is not very high.
What I want to say is that if we provide a UI in such a way that user
decides during setup of server the behavior that is required by him.

For example, if we provide a new parameter
available_synchronous_standby_names along with current parameter
and ask user to use this new parameter, if he wishes to synchronously
commit transactions on another server when it is available, else it will
operate as a standalone sync master.


> I think RAID-1 controllers operate successfully with this behavior
> because they are seen as durable and authoritative in reporting the
> status of mirrors, while with Postgres, there is no central authority
> that can report that degrade status of master/slaves.
>
> Another concern with degrade mode is that once Postgres enters degrade
> mode, how does it get back to synchronous_standby_names mode?
  It will get back to mode where it will commit the transactions to another  server before commit completes when all
thegap in WAL is resolved.  I think in new new mode it will operate as if there is no  synchronous_standby_names.
 

With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Planning time in explain/explain analyze
Next
From: Tom Lane
Date:
Subject: Re: Disallow arrays with non-standard lower bounds