The GitHub Actions job "Required Checks" on texera.git/release/v1.2 has 
succeeded.
Run started by GitHub user aglinxinyuan (triggered by aglinxinyuan).

Head commit for run:
473c1329463df4673d686cb4ee60da919821cded / Xinyuan Lin <[email protected]>
fix(deps, v1.2): upgrade Apache Arrow to 19.0.0 and Netty to 4.2.15.Final 
(#6212)

### What changes were proposed in this PR?

Backport of apache/texera#6185 to `release/v1.2`: upgrade Apache Arrow
`15.0.2 → 19.0.0` and the Netty family `4.1.x → 4.2.15.Final` as one
coordinated move. `arrow-memory-netty` reaches into Netty's allocator
internals, so the 4.1/4.2 line cannot split — a split throws
`NoClassDefFoundError: io/netty/util/concurrent/ThreadAwareExecutor` on
the Arrow Flight transport to the Python workers. Arrow 19 is the first
release targeting the Netty 4.2 line, so the two move together. The
standalone `flight-grpc` artifact (discontinued after 15.0.2) is dropped
— its gRPC transport now lives inside `flight-core`. The Netty family is
extracted into a shared `nettyDependencyOverrides` val applied to amber
and the three Arrow-bundling platform services, and the Jackson core
family is pinned to `2.18.8` in `workflow-core`/`workflow-operator`
(Arrow 19 otherwise evicts `jackson-databind` past the `>= 2.18.0, <
2.19.0` range `jackson-module-scala` allows).

**Update:** this PR also folds in the `computing-unit-managing-service`
startup fix from apache/texera#6209 (issue #6206), so the Arrow upgrade
lands on `release/v1.2` without ever breaking that service's startup.
#6185 pinned `jackson-databind` in `workflow-core`/`workflow-operator`
and in `file-service`/`workflow-compiling-service`, but not in
`computing-unit-managing-service`, whose dist consequently bundled
`jackson-databind-2.21.0.jar` next to `jackson-module-scala 2.18.8` and
aborted at boot with `Scala module 2.18.8 requires Jackson Databind
version >= 2.18.0 and < 2.19.0 - Found jackson-databind version 2.21.0`.
The fix adds the `jackson-databind` override to that service too
(matching `file-service`/`workflow-compiling-service`).

Notes on how the backport was produced:

- **Source changes were hand-applied, not cherry-picked.**
`release/v1.2`'s `build.sbt` is structurally different from `main`'s (no
`Resource` module or `NotebookMigrationService`, `asfLicensingSettings`
rather than `commonModuleSettings`, hadoop 3.3.1, no log4j-2 bridges),
so a raw cherry-pick of #6185's squash would drag in unrelated
structure. Only the Arrow/Netty/Jackson semantics from #6185 + #6209
were ported; the `common/workflow-operator/build.sbt` hunk is
byte-identical to #6185's.
- **The 8 `LICENSE-binary`(-java) / `NOTICE-binary` manifests were
regenerated from `release/v1.2`'s own resolved runtime classpath**, not
copied from `main`. `main`'s manifests reflect deps this branch does not
have (hadoop 3.4.3, the log4j-2 bridges), so their transitive tails
differ. On this branch the cascade resolves to grpc `1.62 → 1.79.0`,
protobuf-java `3.25 → 4.33.4` (+ new `protobuf-java-util`), the netty
`netty-codec → netty-codec-base`/`netty-codec-compression` split, new
`arrow-memory-netty-buffer-patch` and `org.jspecify:jspecify 1.0.0`,
`guava → 33.5.0-android`; `flight-grpc` and `eclipse-collections` drop
out.

### Any related issues, documentation, discussions?

Backports apache/texera#6185 (merged to `main`). Also includes the fix
from apache/texera#6209 for #6206 (startup regression introduced by
#6185). No `release/*` label is added — this PR *is* the backport.

### How was this PR tested?

The binary-licensing manifests were verified the same way CI checks
them, against each module's resolved `Runtime/managedClasspath` on this
branch (which equals the dist's third-party jar set):

- `check_binary_deps.py jar --license-binary <manifest> <lib>` passes
for all four services in both strict (nightly) mode and
`--ignore-transitive-version` (PR) mode: `OK: 407 / 311 / 323 / 350 JVM
jars match LICENSE-binary` for amber / file-service /
workflow-compiling-service / computing-unit-managing-service.
- `generate_notice_binary.py` reproduces each committed `NOTICE-binary`
byte-for-byte (regenerate-and-diff is clean for all four), matching the
CI NOTICE check.
- `sbt export <Service>/Runtime/managedClasspath` resolves cleanly for
all four services with Arrow 19 + Netty 4.2 (no eviction or resolution
errors); `computing-unit-managing-service` now resolves
`jackson-databind-2.18.8.jar` (was `2.21.0`).

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Opus 4.8 [1M context])

Co-authored-by: Claude Opus 4.8 <[email protected]>

Report URL: https://github.com/apache/texera/actions/runs/28846262141

With regards,
GitHub Actions via GitBox

Reply via email to