FrankChen021 commented on PR #20043: URL: https://github.com/apache/druid/pull/20043#issuecomment-5323592307
CLOSED_HIGH_EFFORT/WONT_FIX_LARGE_CHANGE Dependency PR #20043 was reviewed at the assigned exact head `be8a11d2243654d0c2d9afc75b7dc6d2f198aa02` against current `master` `cb26014728ab3239bc8d7391f9cf6466e63905b0`. The PR is open, non-draft, mergeable by GitHub, and has no prior review. The merge base is current master. The complete diff is exactly one line in `pom.xml`: `datasketches.version` 4.2.0 -> 9.0.0. This is not a safe one-line dependency bump. The effective reactor dependency graph resolves `org.apache.datasketches:datasketches-java:9.0.0` while `datasketches-memory` remains `2.2.0`. DataSketches 9.0.0 is a major incompatible refactor for Java 25: it removes the separate DataSketches-Memory library, adopts `java.lang.foreign.MemorySegment`, and changes public class/API names. The published release notes state that the serialized sketch binary formats remain compatible, but also call out incompatible API changes. The exact-head CI rollup is terminal: 22 failures, 3 successes, 2 skips, and 1 neutral. Every failure is PR-caused and has the same `druid-indexing-service` compilation failure, including missing/changed APIs such as: * `org.apache.datasketches.hll.Union` and old `org.apache.datasketches.memory.Memory` in `ParallelIndexSupervisorTask`; * `ItemsSketch`/`ItemsUnion` and old memory APIs in `StringSketch` and `StringSketchMerger`; * `ArrayOfItemsSerDe`/`ArrayOfStringsSerDe` method-signature and generic-return-type incompatibilities in the distribution serde classes; * `Memory` versus `MemorySegment` type errors throughout the compile. Failed CodeQL jobs (the build failed before SARIF analysis): * [Analyze (java)](https://github.com/apache/druid/actions/runs/32082673016/job/95548557760) * [Analyze (javascript)](https://github.com/apache/druid/actions/runs/32082673016/job/95548557729) * [Analyze (python)](https://github.com/apache/druid/actions/runs/32082673016/job/95548557812) Failed static/packaging jobs, all with the same compile failure: * [static-checks-maven](https://github.com/apache/druid/actions/runs/32082673343/job/95548559026) * [web-checks](https://github.com/apache/druid/actions/runs/32082673343/job/95548559130) * [strict-compilation](https://github.com/apache/druid/actions/runs/32082673343/job/95548559134) * [packaging-check-jdk25](https://github.com/apache/druid/actions/runs/32082673343/job/95548559163) * [openrewrite](https://github.com/apache/druid/actions/runs/32082673343/job/95548559209) Failed unit/validation/QTest jobs, also all with the same compile failure before tests: * [unit tests C](https://github.com/apache/druid/actions/runs/32082673525/job/95548559554), [unit tests N](https://github.com/apache/druid/actions/runs/32082673525/job/95548559537), [unit tests D/H/L](https://github.com/apache/druid/actions/runs/32082673525/job/95548559565), [unit tests I/A/U](https://github.com/apache/druid/actions/runs/32082673525/job/95548559613) * [unit tests K/E/W/Z/Y/X](https://github.com/apache/druid/actions/runs/32082673525/job/95548559649), [unit tests M/P/O](https://github.com/apache/druid/actions/runs/32082673525/job/95548559731), [unit tests R/B/Q/V](https://github.com/apache/druid/actions/runs/32082673525/job/95548559762), [unit tests S](https://github.com/apache/druid/actions/runs/32082673525/job/95548559652), [unit tests T/F/G/J](https://github.com/apache/druid/actions/runs/32082673525/job/95548559729) * [validate-dist](https://github.com/apache/druid/actions/runs/32082673525/job/95548559576), [QTest 0/4](https://github.com/apache/druid/actions/runs/32082673525/job/95548559728), [QTest 1/4](https://github.com/apache/druid/actions/runs/32082673525/job/95548559687), [QTest 2/4](https://github.com/apache/druid/actions/runs/32082673525/job/95548559684), [QTest 3/4](https://github.com/apache/druid/actions/runs/32082673525/job/95548559688) The two skipped jobs ([coverage-jacoco](https://github.com/apache/druid/actions/runs/32082673525/job/95552493140), [docker-tests](https://github.com/apache/druid/actions/runs/32082673525/job/95552493216)) have no steps/logs and are downstream of the failed build. CodeQL was [neutral](https://github.com/apache/druid/runs/95549002562) because SARIF processing had no successful analysis input. The title, triage, and actions-timeline checks succeeded. No job was rerun because the failures are terminal and clearly PR-caused. Compatibility evidence requires a broad migration: Druid source and tests use the old HLL, quantiles, KLL, theta, tuple, serde, and `datasketches-memory` APIs across the indexing service, processing, MSQ, and the `druid-datasketches` extension. The extension's object strategies read persisted segment bytes and serialize sketch values; its Druid modules and complex-metric registrations are part of the distributed extension surface. The upstream binary-format compatibility statement is encouraging for stored sketch data, but it does not establish compatibility of Druid's `Memory`/`MemorySegment` access, object-strategy behavior, query results, task wire values, or extension/plugin SPIs. Those require a coordinated source migration and focused compatibility/serialization tests. Druid already requires Java 25, so the runtime requirement is aligned, but this PR still cannot compile. The Druid license registry still records `datasketches-java` as 4.2.0 in `licenses.yaml`; Druid's dependency-versioning documentation requires updating that registry when changing a dependency version. GitHub's Maven advisory query returned no records for the exact DataSketches artifacts, so advisories are not the blocker. This change therefore needs a broad, compatibility-sensitive redesign and cannot be fixed surgically within the assigned dependency bump. No source fix, rebase, push, or rerun was made. Closing as `CLOSED_HIGH_EFFORT/WONT_FIX_LARGE_CHANGE`; not approving and not merging. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
