aglinxinyuan commented on PR #6179:
URL: https://github.com/apache/texera/pull/6179#issuecomment-4888296184
## CI root cause + fix
All the failing checks (`Bench`, `build / amber`, both `amber-integration`
legs, and all six `build / platform` jobs) share a single root cause: the
`org.postgresql:postgresql` bump in **`project/plugins.sbt`** (`42.7.4 →
42.7.12`), which is the **jOOQ code-generation driver**.
pgjdbc **≥ 42.7.5** changed the `getImportedKeys` metadata column labels to
the JDBC-spec uppercase form (`KEY_SEQ`), but jOOQ **3.16.23**'s
`PostgresDatabase.loadForeignKeys` still looks up the lowercase `key_seq`:
```
java.lang.IllegalArgumentException: Field (key_seq) is not contained in Row
( … "KEY_SEQ" … )
at
org.jooq.meta.postgres.PostgresDatabase.loadForeignKeys(PostgresDatabase.java:375)
```
FK loading throws → the `computing_unit_user_access` table class is never
generated → the generated `TexeraDb`/`Keys`/`Tables.java` reference a missing
`ComputingUnitUserAccess` → `javac` fails. The jOOQ-side fix only landed in
**3.20+** ([jOOQ/jOOQ#17873](https://github.com/jOOQ/jOOQ/issues/17873)), so
the pragmatic fix for a patch bump is to keep the codegen driver on the last
compatible release.
### Fix
1. **`project/plugins.sbt`** — pin the codegen `postgresql` driver back to
`42.7.4`. This is a build-time-only driver (it is not bundled into any
distribution), so there is no runtime/security impact — amber's *runtime*
postgresql still moves to `42.7.12`.
2. **`LICENSE-binary` sync** for the bundled bumps the group carries (the
PR-mode direct-dep drift check blocks otherwise):
- `amber/LICENSE-binary-java` — classgraph `4.8.184`, rxjava `3.1.12`,
scala-logging `3.9.6`, scalactic `3.2.20`, sizeof `0.4.4`, commons-jcs3-core
`3.2.1`, unirest-java `3.14.5`, zjsonpatch `0.4.16`, scalapb-json4s `0.12.2`,
postgresql `42.7.12`
- `config-service/LICENSE-binary` — config `1.4.9`
- `computing-unit-managing-service/LICENSE-binary` — config `1.4.9`, sttp
`client4.core 4.0.25` (+ `model.core 1.7.17`, `shared.core 1.5.2`, `shared.ws
1.5.2`)
3. **`amber/NOTICE-binary`** — regenerated: the `commons-jcs3-core 3.2 →
3.2.1` bump updates that jar's embedded `NOTICE` copyright year.
### Local verification
Built the three affected dists and ran the CI license/NOTICE checks against
them:
| Module | `dist` | `check_binary_deps.py` (PR mode) | `NOTICE-binary` diff |
|---|---|---|---|
| config-service | ✅ | ✅ `OK: 115 jars` | ✅ clean |
| computing-unit-managing-service | ✅ | ✅ `OK: 351 jars` | ✅ clean |
| amber | ✅ | ✅ `OK: 407 jars` | ✅ clean after regen |
jOOQ codegen now completes and emits `ComputingUnitUserAccess`, and the
`sttp 4.0.0-M6 → 4.0.25` jump compiles cleanly. The only remaining amber drift
is on a handful of *transitive* deps (ssl-config-core, commons-collections4,
checker-qual, json4s) — informational under `--ignore-transitive-version` and
left to the scheduled nightly refresh on `main`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]