pgsql: Fix the logic in libpqrcv_receive() to determine if there's any

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix the logic in libpqrcv_receive() to determine if there's any
Date: 2011-01-13 16:31:00
Message-ID: E1PdQ4i-0000Na-OY@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix the logic in libpqrcv_receive() to determine if there's any incoming data
that can be read without blocking. It used to conclude that there isn't, even
though there was data in the socket receive buffer. That lead walreceiver to
flush the WAL after every received chunk, potentially causing big performance
issues.

Backpatch to 9.0, because the performance impact can be very significant.

Branch
------
REL9_0_STABLE

Details
-------
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=a08363d70cb51f361c9525384e9f46a252fcd92e

Modified Files
--------------
.../libpqwalreceiver/libpqwalreceiver.c | 35 +++++++++----------
1 files changed, 17 insertions(+), 18 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2011-01-13 17:09:42 pgsql: More libpq documentation adjustments from Leslie S Satenstein, r
Previous Message Peter Eisentraut 2011-01-13 07:33:31 pgsql: Workaround for recursive make breakage