Message-ID: From: "vlsi (@vlsi)" To: "pgjdbc/pgjdbc" Date: Tue, 28 Jan 2025 13:23:33 +0000 Subject: Re: [pgjdbc/pgjdbc] PR #3257: test: add GitHub CI testing with PostgreSQL 15 and HEAD In-Reply-To: References: List-Id: X-GitHub-Author-Login: vlsi X-GitHub-Comment-Id: 2618987844 X-GitHub-Comment-Type: issue_comment X-GitHub-Issue: 3257 X-GitHub-Repo: pgjdbc/pgjdbc X-GitHub-Type: comment X-GitHub-Url: https://github.com/pgjdbc/pgjdbc/pull/3257#issuecomment-2618987844 Content-Type: text/plain; charset=utf-8 I've rebased this, and made it so it runs `HEAD` tests on push to the branches only. So the PR does not spend time on building `HEAD` (~5m), and it does not suffer from occasional PG HEAD failures. Here's a sample run in a fork to verify branch-based builds: https://github.com/vlsi/pgjdbc/actions/runs/13010465219/job/36286871109 It fails for Java 21 as follows (it looks like SSL exception is different in Java 21 in this case): ``` org.postgresql.test.ssl.SslTest > run(Hostname, TestDatabase, SslMode, SslNegotiation, ClientCertificate, ClientRootCertificate, GSSEncMode)[1761], host=BAD, db=certdb sslMode=REQUIRE, sslNegotiation=DIRECT, clientCert=GOOD, clientRootCert=GOOD, gssEncMode=PREFER failure marker FAILURE 0,0sec, org.postgresql.test.ssl.SslTest > run(Hostname, TestDatabase, SslMode, SslNegotiation, ClientCertificate, ClientRootCertificate, GSSEncMode)[1761], host=BAD, db=certdb sslMode=REQUIRE, sslNegotiation=DIRECT, clientCert=GOOD, clientRootCert=GOOD, gssEncMode=PREFER org.opentest4j.AssertionFailedError: SQLException present when it was not expected at app//org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:38) at app//org.junit.jupiter.api.Assertions.fail(Assertions.java:138) at app//org.postgresql.test.ssl.SslTest.checkErrorCodes(SslTest.java:281) at app//org.postgresql.test.ssl.SslTest.run(SslTest.java:492) Caused by: org.postgresql.util.PSQLException: SSL error: Remote host terminated the handshake at app//org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:53) at app//org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:594) at app//org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:205) at app//org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:272) at app//org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:54) at app//org.postgresql.jdbc.PgConnection.(PgConnection.java:274) at app//org.postgresql.Driver.makeConnection(Driver.java:448) at app//org.postgresql.Driver.connect(Driver.java:298) at platform/java.sql@21.0.5/java.sql.DriverManager.getConnection(DriverManager.java:683) at platform/java.sql@21.0.5/java.sql.DriverManager.getConnection(DriverManager.java:191) at app//org.postgresql.test.TestUtil.openDB(TestUtil.java:401) at app//org.postgresql.test.ssl.SslTest.run(SslTest.java:482) Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1714) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) at org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:51) ... 11 more Caused by: java.io.EOFException: SSL peer shut down incorrectly at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:494) at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:483) at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506) ```