Re: Proposal: "Causal reads" mode for load balancing reads without stale data

From: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
To: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Thom Brown <thom(at)linux(dot)com>, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: Re: Proposal: "Causal reads" mode for load balancing reads without stale data
Date: 2016-03-01 02:53:58
Message-ID: CAEepm=3cXDoYTU1x833FVkg6LTPNU+0MxNJ79M9a1xdCfi1vkg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Mar 1, 2016 at 2:46 PM, Amit Langote
<Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
>
> Hi,
>
> On 2016/02/29 18:05, Thomas Munro wrote:
>> On Mon, Feb 29, 2016 at 9:05 PM, Amit Langote wrote:
>>> + servers. A transaction that is run with
>>> <varname>causal_reads</> set
>>> + to <literal>on</> is guaranteed either to see the effects of all
>>> + completed transactions run on the primary with the setting on, or to
>>> + receive an error "standby is not available for causal reads".
>>>
>>> "A transaction that is run" means "A transaction that is run on a
>>> standby", right?
>>
>> Well, it could be any server, standby or primary. Of course standbys
>> are the interesting case since it it was already true that if you run
>> two sequential transactions run on the primary, the second can see the
>> effect of the first, but I like the idea of a general rule that
>> applies anywhere, allowing you not to care which server it is.
>
> I meant actually in context of that sentence only.

Ok, here's a new version that includes that change, fixes a conflict
with recent commit 10b48522 and removes an accidental duplicate copy
of the README file.

--
Thomas Munro
http://www.enterprisedb.com

Attachment Content-Type Size
causal-reads-v8.patch application/octet-stream 98.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2016-03-01 03:02:33 Default Roles
Previous Message Michael Paquier 2016-03-01 02:28:25 Re: [REVIEW] In-core regression tests for replication, cascading, archiving, PITR, etc.