Re: Driver hangs in connect->MakeSSL.convert->SSLSocketImpl.startHandshake

From: Dave Cramer <davecramer(at)postgres(dot)rocks>
To: Martin Lichtin <lichtin(at)yahoo(dot)com>
Cc: pgsql-jdbc(at)lists(dot)postgresql(dot)org
Subject: Re: Driver hangs in connect->MakeSSL.convert->SSLSocketImpl.startHandshake
Date: 2023-11-28 20:28:27
Message-ID: CADK3HHJDQjz1a8EbE7LE1Cv0S57zR7nZ02=9hLqKmqF7VOq2ww@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On Tue, 28 Nov 2023 at 09:07, Dave Cramer <davecramer(at)postgres(dot)rocks> wrote:

> Hi Martin,
>
> Thanks for the report. I'll have a look.
> Dave Cramer
>
>
> On Tue, 28 Nov 2023 at 08:27, Martin Lichtin <lichtin(at)yahoo(dot)com> wrote:
>
>> Hi
>>
>> I'm seeing this thread hanging in the "getConnection" method, with no
>> timeout in sight.
>> However, the PGXADataSource is configured with a "connectTimeout" of 10
>> seconds.
>>
>> java.lang.Thread.State: RUNNABLE
>> at java.net.SocketInputStream.socketRead0(Native Method)
>> at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
>> at java.net.SocketInputStream.read(SocketInputStream.java:171)
>> at java.net.SocketInputStream.read(SocketInputStream.java:141)
>> at
>> sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:464)
>> at
>> sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:165)
>> at sun.security.ssl.SSLTransport.decode(SSLTransport.java:109)
>> at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1392)
>> at
>> sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1300)
>> at
>> sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:435)
>> at org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:41)
>> at
>> org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:571)
>> at
>> org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:168)
>> at
>> org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:235)
>> at
>> org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
>> at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:223)
>> at org.postgresql.Driver.makeConnection(Driver.java:402)
>> at org.postgresql.Driver.connect(Driver.java:261)
>> at java.sql.DriverManager.getConnection(DriverManager.java:664)
>> at java.sql.DriverManager.getConnection(DriverManager.java:247)
>> at
>> org.postgresql.ds.common.BaseDataSource.getConnection(BaseDataSource.java:103)
>> at
>> org.postgresql.xa.PGXADataSource.getXAConnection(PGXADataSource.java:49)
>> at
>> org.postgresql.xa.PGXADataSource.getXAConnection(PGXADataSource.java:35)
>>
>> Any reason this timeout is not being applied here?
>>
>> The version in use here is 42.3.6
>>
>
This Make sure to pass any network timeouts to the new SSL connection. by
davecramer · Pull Request #3040 · pgjdbc/pgjdbc (github.com)
<https://github.com/pgjdbc/pgjdbc/pull/3040> should fix the problem, can
you check ?

Dave

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Martin Lichtin 2023-11-29 16:06:16 Re: Driver hangs in connect->MakeSSL.convert->SSLSocketImpl.startHandshake
Previous Message Dave Cramer 2023-11-28 14:07:10 Re: Driver hangs in connect->MakeSSL.convert->SSLSocketImpl.startHandshake