Re: DRAFT 9.6 release

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: DRAFT 9.6 release
Дата
Msg-id CAB7nPqTQHE46Qf8ix7cy8yaRNf3u220ZjaG7ohmqnc3F1B2jPw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: DRAFT 9.6 release  (Josh Berkus <josh@agliodbs.com>)
Список pgsql-advocacy
On Wed, Aug 31, 2016 at 9:40 AM, Josh Berkus <josh@agliodbs.com> wrote:
> On 08/30/2016 05:35 PM, Michael Paquier wrote:
>> On Wed, Aug 31, 2016 at 7:32 AM, Bruce Momjian <bruce@momjian.us> wrote:
>>> On Tue, Aug 30, 2016 at 03:22:18PM -0700, Josh Berkus wrote:
>>>> What does that mean exactly?  If I do:
>>>>
>>>> 3 ( s1, s2, s3, s4, s5 )
>>>>
>>>> And a commit is ack'd by s2, s3, and s5, what happens?
>>>
>>> As I understand it, it can continue with those three servers sending a
>>> confirmation back.
>>
>> Assuming that all servers are connected at the moment decision is
>> made, you need to wait for s1, s2 *and* s3 to acknowledge depending on
>> synchronous_commit. By default that would be waiting for the LSN to
>> have been flushed on all of them. And the important point to get is
>> that what has been committed is dependent on the order of the items
>> listed. This is not quorum commit, in which case having only
>> confirmation from 3 servers in the set of 5 servers listed would be
>> fine.
>>
>> If for example s2 and s4 are not connected at the moment of the
>> decision, you'd need to wait for acknowledgment from s1, s3 and s5
>> before moving on.
>
> OK, so this says to me that we need a bunch of additional documentation
> on this feature, because the existing docs read like it's "any 3 out of
> the list" instead of "the first 3 which are connected".

Really? Here are the doc quotes that I guess matter, and I read that
differently than you do:
If any of the current synchronous standbys disconnects for whatever
reason, it will be replaced immediately with the next-highest-priority
standby.
[...]
For example, a setting of 3 (s1, s2, s3, s4) makes transaction commits
wait until their WAL records are received by *three higher-priority
standbys* chosen from standby servers s1, s2, s3 and s4.

This clearly says that we wait for the servers that have a higher
priority, meaning that we do *not* wait for any k elements in a set of
n listed, but suggest that the order of the element matters.
--
Michael


В списке pgsql-advocacy по дате отправления:

Предыдущее
От: Josh Berkus
Дата:
Сообщение: Re: DRAFT 9.6 release
Следующее
От: Amit Langote
Дата:
Сообщение: Re: DRAFT 9.6 release