[pgpool-hackers: 145] Re: Do we need to rephrase the precondition for load-balancing?

Tatsuo Ishii ishii at postgresql.org
Sat Oct 27 11:27:33 JST 2012


>> On Fri, Oct 26, 2012 at 6:00 AM, Tatsuo Ishii <ishii at postgresql.org> wrote:
>> 
>>> Sorry for late reply.
>>>
>>> > Hi,
>>> >
>>> >     The docs [1] say that one of the preconditions for load-balancing is
>>> > that
>>> >
>>> >     > The query must not be in an explicitly declared transaction (i.e.
>>> not
>>> > in a BEGIN ~ END block)
>>>
>>> Yeah, the doc is outdated in this regard.
>>>
>>> >     But I see that this is not a strict statement. I extracted a specific
>>> > backend process' log lines (generated using log_per_node_statement), and
>>> I
>>> > could see that on line 6, the SELECT query was load-balanced to a replica
>>> > (node id 2) and the next INSERT statement was correctly sent to the
>>> master.
>>> > But any SELECT after that INSERT was not sent to the replica, and only to
>>> > the master.
>>> >
>>> >     So can we say that load balancing _does_ occur in an explicitly
>>> > declared transaction, but as soon as a DML operation is perfored, any
>>> > subsequent SELECT queries will be sent only to master.
>>>
>>> Yes, that is expected behavior if you are using streaming replication
>>> mode. The reason why SELECTs are sent to master after DML issued is,
>>> standby cannot see the modified rows.
>>>
>> 
>> Can we expect doc changes, or I should probably file a bug-report against
>> documentation so that it gets taken care of in due process.
> 
> I will propose doc changes.

Included is the patch I promised. There are more to fix than what
discussed though. If you are comfortable with this, I will commit.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: doc.patch
Type: text/x-patch
Size: 1654 bytes
Desc: not available
URL: <http://www.sraoss.jp/pipermail/pgpool-hackers/attachments/20121027/8bc1c132/attachment-0001.bin>


More information about the pgpool-hackers mailing list