Обсуждение: robust handling of initial connection with net interfaces down

Поиск
Список
Период
Сортировка

robust handling of initial connection with net interfaces down

От
Adrian Custer
Дата:
hey all,

i'm trying to make our app's connection to postgresql robust. In
testing, I've noticed that if the network interfaces don't exist, the
java instance locks up.

0.setup the server e.g. localhost:5432, user:auser, password:hello

1. Take down your network e.g. ifdown lo

2. run a simple connect to postgresql jdbc such as the file attached

==> the file hangs indefinitely.

Does anyone have a suggestion for preventing this?

Thanks,
adrian

Вложения

Re: robust handling of initial connection with net interfaces down

От
Kris Jurka
Дата:

On Thu, 19 Apr 2007, Adrian Custer wrote:

> i'm trying to make our app's connection to postgresql robust. In
> testing, I've noticed that if the network interfaces don't exist, the
> java instance locks up.
>
> 0.setup the server e.g. localhost:5432, user:auser, password:hello
>
> 1. Take down your network e.g. ifdown lo
>
> 2. run a simple connect to postgresql jdbc such as the file attached
>
> ==> the file hangs indefinitely.
>
> Does anyone have a suggestion for preventing this?
>

The PG driver does not respect DriverManager.getLoginTimeout, although I'm
not sure why.  You can instead add the URL parameter ?loginTimeout=5 or
similar to get a timeout on failure to setup a connection.

Kris Jurka


Re: robust handling of initial connection with net interfaces down

От
Kris Jurka
Дата:

On Thu, 19 Apr 2007, Kris Jurka wrote:

> On Thu, 19 Apr 2007, Adrian Custer wrote:
>
>> i'm trying to make our app's connection to postgresql robust. In
>> testing, I've noticed that if the network interfaces don't exist, the
>> java instance locks up.
>>
>> 0.setup the server e.g. localhost:5432, user:auser, password:hello
>>
>> 1. Take down your network e.g. ifdown lo
>>
>> 2. run a simple connect to postgresql jdbc such as the file attached
>>
>> ==> the file hangs indefinitely.
>>
>> Does anyone have a suggestion for preventing this?
>>
>
> The PG driver does not respect DriverManager.getLoginTimeout, although I'm
> not sure why.  You can instead add the URL parameter ?loginTimeout=5 or
> similar to get a timeout on failure to setup a connection.
>

I've committed a change to CVS to make the driver check the
DriverManager's loginTimeout setting if none has been specified explicitly
via the URL.

Kris Jurka