pgjdbc/pgjdbc GitHub issues and pull requests (mirror)
help / color / mirror / Atom feed[pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
13+ messages / 3 participants
[nested] [flat]
* [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-29 11:28 "vlsi (@vlsi)" <[email protected]>
0 siblings, 0 replies; 13+ messages in thread
From: vlsi (@vlsi) @ 2025-04-29 11:28 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
Note: the resulting binaries still target Java 8, so the change should not be use-visible.
However, we would use a newer toolset which should result in fewer bugs in the generated binaries.
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-29 12:08 "vlsi (@vlsi)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: vlsi (@vlsi) @ 2025-04-29 12:08 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
I think we should be good to go for Java 21 for spawning the build. Looks like the CI succeeds, so we are good to go.
Any objections on merging this?
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-29 12:28 "sehrope (@sehrope)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: sehrope (@sehrope) @ 2025-04-29 12:28 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
LGTM.
For anybody else reading this, we're going from 17 to 21 (which like 17 is an LTS release) for the build itself. Testing etc still happens on multiple JDK versions including 8 and none of this changes any of that.
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-29 14:18 "sehrope (@sehrope)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: sehrope (@sehrope) @ 2025-04-29 14:18 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
(on appveyor.yml)
Why do we have to change anything for this when we're only updating the JDK version?
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-29 14:18 "sehrope (@sehrope)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: sehrope (@sehrope) @ 2025-04-29 14:18 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
(on appveyor.yml)
Oh wait, is this because appveyor was completely broken before and now it might actually work?
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-29 14:25 "vlsi (@vlsi)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: vlsi (@vlsi) @ 2025-04-29 14:25 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
interestingly, ChatGPT figured out that `wal_keep_segments` configuration option was deprecated since PG 13, so it could be a reason for the failure when starting PostgreSQL 15/16 at AppVeyor: https://chatgpt.com/share/6810e0e1-9038-800f-acde-02e785eb28d1
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-29 14:45 "sehrope (@sehrope)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: sehrope (@sehrope) @ 2025-04-29 14:45 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
That's awesome. Looks like it's mostly working too.
I see some errors for the auth test. Feels like this appveyor stuff has been broken forever that I don't think whatever we did to the GHA environment to work was ever done there too (the explicit stuff in HBA to test the different auth types). If it's going to be annoying to get it to work, maybe just disable those tests on appveyor.
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-29 15:53 "vlsi (@vlsi)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: vlsi (@vlsi) @ 2025-04-29 15:53 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
There are still two failures, and I don't understand why the tests expect certain output values:
Here we fail to authenticate. Did we get the user right? Should it be pre-created when creating the DB? Should the DB be preconfigured somehow? I'm a bit lost here.
```
FAILURE 0.2sec, org.postgresql.test.util.PasswordUtilTest > mD5()
java.lang.RuntimeException: Failed to authenticate using supplied user and password
at org.postgresql.test.util.PasswordUtilTest.assertValidUsernamePassword(PasswordUtilTest.java:44)
at org.postgresql.test.util.PasswordUtilTest.testUserPassword(PasswordUtilTest.java:79)
at org.postgresql.test.util.PasswordUtilTest.testUserPassword(PasswordUtilTest.java:110)
at org.postgresql.test.util.PasswordUtilTest.testUserPassword(PasswordUtilTest.java:125)
at org.postgresql.test.util.PasswordUtilTest.mD5(PasswordUtilTest.java:152)
Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "test_password_md5cb54c42fe0974f50"
at app//org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:745)
at app//org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:234)
at app//org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)
at app//org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)
at app//org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)
at app//org.postgresql.Driver.makeConnection(Driver.java:448)
at app//org.postgresql.Driver.connect(Driver.java:298)
at platform/[email protected]/java.sql.DriverManager.getConnection(DriverManager.java:683)
at platform/[email protected]/java.sql.DriverManager.getConnection(DriverManager.java:191)
at app//org.postgresql.test.TestUtil.openDB(TestUtil.java:401)
at app//org.postgresql.test.util.PasswordUtilTest.assertValidUsernamePassword(PasswordUtilTest.java:40)
... 4 more
```
We get "The authentication type should match ==> expected: <MD5_PASSWORD> but was: <SASL>", however, it is hard to understand why exactly something should be MD5.
```
FAILURE 0.2sec, org.postgresql.test.plugin.AuthenticationPluginTest > authPluginMD5()
org.opentest4j.AssertionFailedError: The authentication type should match ==> expected: <MD5_PASSWORD> but was: <SASL>
at app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at app//org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at app//org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
at app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:182)
at app//org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1156)
at app//org.postgresql.test.plugin.AuthenticationPluginTest.lambda$testAuthPlugin$0(AuthenticationPluginTest.java:55)
at app//org.postgresql.test.plugin.AuthenticationPluginTest$DummyAuthenticationPlugin.getPassword(AuthenticationPluginTest.java:38)
at app//org.postgresql.core.v3.AuthenticationPluginManager.withPassword(AuthenticationPluginManager.java:78)
at app//org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:886)
at app//org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:234)
at app//org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:289)
at app//org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:57)
at app//org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:277)
at app//org.postgresql.Driver.makeConnection(Driver.java:448)
at app//org.postgresql.Driver.connect(Driver.java:298)
at platform/[email protected]/java.sql.DriverManager.getConnection(DriverManager.java:683)
at platform/[email protected]/java.sql.DriverManager.getConnection(DriverManager.java:191)
at app//org.postgresql.test.TestUtil.openDB(TestUtil.java:401)
at app//org.postgresql.test.plugin.AuthenticationPluginTest.testAuthPlugin(AuthenticationPluginTest.java:57)
at app//org.postgresql.test.plugin.AuthenticationPluginTest.authPluginMD5(AuthenticationPluginTest.java:67)
```
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-29 18:06 "davecramer (@davecramer)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: davecramer (@davecramer) @ 2025-04-29 18:06 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
> There are still two failures, and I don't understand why the tests expect certain output values:
>
> Here we fail to authenticate. Did we get the user right? Should it be pre-created when creating the DB? Should the DB be preconfigured somehow? I'm a bit lost here.
Yes postgresql.conf has to have `#password_encryption = scram-sha-256 # scram-sha-256 or md5` set to `md5` for this to work.
by default the password_encryption will be set to scram-sha-256. I'd vote for dumping the md5 test
Dave
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-30 09:35 "vlsi (@vlsi)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: vlsi (@vlsi) @ 2025-04-30 09:35 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
(on docker/postgres-server/scripts/entrypoint.sh:39)
I'm not sure what was the reason to have `127.0.0.1/32` in the source `pg_hba.conf` file and replace it with `0.0.0.0/0` later, so I replaced the value with the base `pg_hba.conf` file so we don't need to replace them. At the same time, I replaced `0.0.0.0/0` with `all` to support both `ipv4` and `ipv6` ips.
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-30 12:04 "davecramer (@davecramer)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: davecramer (@davecramer) @ 2025-04-30 12:04 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
I commend your persistence here
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-04-30 12:45 "vlsi (@vlsi)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: vlsi (@vlsi) @ 2025-04-30 12:45 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
Even though I managed to get both `PG 11 and 16` tested at AppVeyor, I leave just 16 as each test run takes ~20 minutes, so waiting both is way too long
^ permalink raw reply [nested|flat] 13+ messages in thread
* Re: [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default
@ 2025-05-01 12:13 "davecramer (@davecramer)" <[email protected]>
11 siblings, 0 replies; 13+ messages in thread
From: davecramer (@davecramer) @ 2025-05-01 12:13 UTC (permalink / raw)
To: pgjdbc/pgjdbc <[email protected]>
Good work!
^ permalink raw reply [nested|flat] 13+ messages in thread
end of thread, other threads:[~2025-05-01 12:13 UTC | newest]
Thread overview: 13+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-04-29 11:28 [pgjdbc/pgjdbc] PR #3612: chore: use Java 21 for building pgjdbc by default "vlsi (@vlsi)" <[email protected]>
2025-04-29 12:08 ` "vlsi (@vlsi)" <[email protected]>
2025-04-29 12:28 ` "sehrope (@sehrope)" <[email protected]>
2025-04-29 14:18 ` "sehrope (@sehrope)" <[email protected]>
2025-04-29 14:18 ` "sehrope (@sehrope)" <[email protected]>
2025-04-29 14:25 ` "vlsi (@vlsi)" <[email protected]>
2025-04-29 14:45 ` "sehrope (@sehrope)" <[email protected]>
2025-04-29 15:53 ` "vlsi (@vlsi)" <[email protected]>
2025-04-29 18:06 ` "davecramer (@davecramer)" <[email protected]>
2025-04-30 09:35 ` "vlsi (@vlsi)" <[email protected]>
2025-04-30 12:04 ` "davecramer (@davecramer)" <[email protected]>
2025-04-30 12:45 ` "vlsi (@vlsi)" <[email protected]>
2025-05-01 12:13 ` "davecramer (@davecramer)" <[email protected]>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox