Skip site navigation (1) Skip section navigation (2)

Re: Patch: Implement failover on libpq connect level.

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Mithun Cy <mithun(dot)cy(at)enterprisedb(dot)com>
Cc: Peter van Hardenberg <pvh(at)pvh(dot)ca>, Peter Eisentraut <peter_e(at)gmx(dot)net>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Patch: Implement failover on libpq connect level.
Date: 2016-11-01 16:12:32
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackerspgsql-jdbc
On Tue, Nov 1, 2016 at 11:21 AM, Mithun Cy <mithun(dot)cy(at)enterprisedb(dot)com> wrote:
> On Tue, Nov 1, 2016 at 7:44 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>>> Starting program: /home/mithun/libpqbin/bin/./psql
>>> postgres://%2home%2mithun:5555/postgres -U mithun1
>>Can you provide a concrete test scenario or some test code that fails?
>>connhost is supposed to be getting set in connectOptions2(), which is
>>run (AIUI) when the PGconn is first created.  So I think that it will
>>be set in all scenarios of the type you mention, but I might be
>>missing something.
> Sorry if my sentence is confusing
> If I give a proper hexadecimal encoding % followed by 2 hexadigit (i.e. for
> e.g %2f, %2a) every thing is fine. When I pass a invalid hexadigit encoding
> eg:  %2h, %2m among the host string e.g
> "postgres://%2home%2mithun:5555/postgres". then "PQconnectdbParams()" fails
> before calling connectOptions2(). In that case failed PQconnectdbParams()
> also return a PGconn where connhost is not set. If we call PQpass(),
> PQReset() on such a PGconn we get a crash.
> A simple test case which crash is:
> ./psql  'postgres://%2hxxx:5555/postgres'
> Call stack:
> --------------
> #0  0x00007ffff7bb8d4f in PQpass (conn=0x68aa10) at fe-connect.c:5582
> #1  0x00007ffff7bb907a in PQconnectionNeedsPassword (conn=0x68aa10) at
> fe-connect.c:5727
> #2  0x00000000004130aa in main (argc=2, argv=0x7fffffffdff8) at
> startup.c:250

Ah, nuts.  Thanks, good catch.  Should be fixed in the attached version.

Robert Haas
The Enterprise PostgreSQL Company

Attachment: multihost-v3.patch
Description: application/x-download (32.0 KB)

In response to


pgsql-hackers by date

Next:From: Abbas ButtDate: 2016-11-01 16:35:51
Subject: Using a latch between a background worker process and a thread
Previous:From: Peter EisentrautDate: 2016-11-01 16:01:31
Subject: Re: save redundant code for pseudotype I/O functions

pgsql-jdbc by date

Next:From: Jorge SolórzanoDate: 2016-11-01 22:47:14
Subject: Re: Re: JDBC and the hstore ? operator - no longer working with build 1211
Previous:From: Dave CramerDate: 2016-11-01 15:52:54
Subject: Re: Re: JDBC and the hstore ? operator - no longer working with build 1211

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group