From: | Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com> |
---|---|
To: | Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com> |
Cc: | psycopg(at)postgresql(dot)org |
Subject: | Re: psycopg2 conn.poll() hangs when used with sshtunnel |
Date: | 2018-10-30 13:54:51 |
Message-ID: | CANxoLDfDw=9oAePwZk0Su9PLB3ni_NQdJ5Lj1k21GzYe07sY8Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | psycopg |
Hi
On Tue, 30 Oct 2018, 19:17 Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com
wrote:
> It seems to me that the problem is in pqpath.c pq_get_last_result()
> function. The loop assumes PQgetResult won't block, which seems always the
> case with the direct connection, but PQisBusy() actually returns 1
> connecting through the tunnel.
>
> So at a first read, the simplification given by pq_get_last_result() is
> broken: the results should be returned one by one in the normal loop going
> through PQisBusy(), PQconsumeInput(), and the polling machinery. It seems a
> chunky refactoring but as it is now I don't like pq_get_last_result()
> anymore :(
>
What changes should I made to fix this? Or it should be fixed in
psycopg2 itself.
>
> -- Daniele
>
>
> On Tue, Oct 30, 2018 at 12:52 PM Daniele Varrazzo <
> daniele(dot)varrazzo(at)gmail(dot)com> wrote:
>
>> Taking a look. Thank you for the test.
>>
>> On Tue, Oct 30, 2018 at 12:36 PM Akshay Joshi <
>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>
>>> Hi Team
>>>
>>> I have created one sample application to replicate the issue. Attached
>>> is the sample application, please read "README.txt" file to proceed further.
>>> Can someone please suggest why poll() function hangs when run wrong
>>> query with sshtunnel v0.1.4.
>>>
>>> On Mon, Oct 8, 2018 at 12:19 PM Akshay Joshi <
>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>
>>>> Hi Team
>>>>
>>>> As one issue(*https://github.com/psycopg/psycopg2/issues/781
>>>> <https://github.com/psycopg/psycopg2/issues/781>*) has already been
>>>> created for conn.poll() function hangs when executes COPY command in async
>>>> mode. Similarly conn.poll() functions hangs when we run wrong query in
>>>> async mode using sshtunnel <https://pypi.org/project/sshtunnel/>
>>>> v0.1.3.
>>>>
>>>> Can someone please suggest what went wrong when used sshtunnel, or the
>>>> pointers/reason where poll() method hangs.
>>>>
>>>> On Fri, Sep 28, 2018 at 5:43 PM Akshay Joshi <
>>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>>
>>>>> Hello
>>>>>
>>>>> I am using psycopg2 2.7.4 to connect to the PostgreSQL database
>>>>> server using asynchronoussupport. It is working absolutely fine. I
>>>>> have used sshtunnel <https://pypi.org/project/sshtunnel/> v0.1.3 in
>>>>> pgAdmin4. When I connect the PostgreSQL database server using ssh
>>>>> tunnel and run the valid/correct query it works fine, but when I run any
>>>>> wrong query(invalid column of table) my application gets hang on
>>>>> conn.poll() function.
>>>>>
>>>>> Please refer the code how we use conn.poll() with timeouts
>>>>> https://git.postgresql.org/gitweb/?p=pgadmin4.git;a=blob;f=web/pgadmin/utils/driver/psycopg2/connection.py;h=4f11c12b30882209c308cb3558e67189c97ea31e;hb=15fe26a7106610b710f3de5b604cd038302c926a#l1363
>>>>>
>>>>> Can anyone please provide some pointers, suggestions?
>>>>>
>>>>> --
>>>>> *Akshay Joshi*
>>>>>
>>>>> *Sr. Software Architect *
>>>>>
>>>>>
>>>>>
>>>>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246*
>>>>>
>>>>
>>>>
>>>> --
>>>> *Akshay Joshi*
>>>>
>>>> *Sr. Software Architect *
>>>>
>>>>
>>>>
>>>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246*
>>>>
>>>
>>>
>>> --
>>> *Akshay Joshi*
>>>
>>> *Sr. Software Architect *
>>>
>>>
>>>
>>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246*
>>>
>>
From | Date | Subject | |
---|---|---|---|
Next Message | Daniele Varrazzo | 2018-10-30 14:26:38 | Re: psycopg2 conn.poll() hangs when used with sshtunnel |
Previous Message | Daniele Varrazzo | 2018-10-30 13:47:40 | Re: psycopg2 conn.poll() hangs when used with sshtunnel |