Re: Handling connection loss - Mailing list pgadmin-hackers

From Dave Page
Subject Re: Handling connection loss
Date
Msg-id CA+OCxow9f8LXxj89pskdRaQnqp5O_kco5MaEHPFAk9NhPKmqkQ@mail.gmail.com
Whole thread Raw
In response to Re: Handling connection loss  (Guillaume Lelarge <guillaume@lelarge.info>)
Responses Re: Handling connection loss  (Guillaume Lelarge <guillaume@lelarge.info>)
List pgadmin-hackers
On Tue, Jul 19, 2011 at 10:19 AM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> On Tue, 2011-07-19 at 09:53 +0100, Dave Page wrote:
>> On Mon, Jul 18, 2011 at 9:11 PM, Guillaume Lelarge
>> <guillaume@lelarge.info> wrote:
>> >
>> > Did some tests and found something weird. I connect pgadmin to a
>> > database, I look into some objects with pgAdmin's browser. Then, I stop
>> > PostgreSQL, and start it again. Next object I click on will display a
>> > nice "lost connection" message, and another messagebox asking me if I
>> > want to reconnect. I click Yes and everything seems good (iow, I have
>> > the info I asked). I then click on another object, and it asks me again
>> > if I want to reconnect. Weird. I click Yes, and I get reconnected, and I
>> > won't be bothered again. I find it weird to have to say Yes two times
>> > when the connection was lost only once.
>>
>> Was the second object in the same database? Don't forget that we might
>> have to restore multiple connections to individual databases, and the
>> maintenance DB - and we only test them when we need them.
>>
>
> It was the same one.

Hmm. Not sure why that would happen. Do you recall what the object types were?

>> > Moreover, with the SSH tunnel as described by Christophe Chauvet on
>> > -support, I don't even have the message box asking me if I want to
>> > reconnect.
>>
>> I was testing using Josh's SSH tunnel test primarily, so that worked
>> well for me. Can you describe the steps to reproduce the issue?
>>
>
> Create an SSH tunnel (for example like this ssh -L 2000:127.0.0.1:5432
> myuser@my_ip).
>
> Launch PgAdmin, open a connection with server localhost, port 2000. You
> should be able to connect to a database. Then, go to your terminal, drop
> the tunnel connection, and then reopen the tunnel connection. Go back to
> the browser, click on some objects. pgAdmin didn't ask if I want to
> reconnect.

That's basically how I've been testing it. I wonder if you're getting
confused by the fact that not all object types will access the
database when clicked (and others won't access the database if they've
previously been clicked or expanded), thus won't necessarily cause a
connection check to occur.

Do you see any cases where the connection isn't checked and bad things
happen? Or just cases where you expected a check, but don't see one.

BTW; thanks to both you and Jasmin for testing.


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: pgAdmin III commit: Database Designer (milestone 1 of GSoC 2011)
Next
From: Guillaume Lelarge
Date:
Subject: Re: Handling connection loss