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

From: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
To: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: 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-02-29 08:05:52
Message-ID: 56D3FBE0.5030309@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Hi Thomas,

On 2016/02/29 15:20, Thomas Munro wrote:
> Thanks for looking at the patch! Here is a new version with the
> following changes:
>
> 1. Some draft user documentation has been added, as requested.

Just to clarify, in:

+ 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? By the way, is there some discussion in our existing
documentation to refer to about causal consistency in single node case? I
don't know maybe that will help ease into the new feature. Grepping the
existing source tree doesn't reveal the term "causal", so maybe even a
single line in the patch mentioning "single node operation trivially
implies (or does it?) causal consistency" would help. Thoughts?

Thanks,
Amit

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2016-02-29 09:05:47 Re: Proposal: "Causal reads" mode for load balancing reads without stale data
Previous Message Michael Paquier 2016-02-29 07:29:39 Re: pg_ctl promote wait