FrankChen021 commented on PR #20277: URL: https://github.com/apache/druid/pull/20277#issuecomment-5585475332
## Repair turn: exact-head compatibility and CI evidence Reviewed [apache/druid#20277](https://github.com/apache/druid/pull/20277) at exact head `ed00456a93e7ff0f68bfe758e1f7e1e4712ff960` against refreshed `origin/master` `33f7f778dfc2d8b06ca7c1d7a93f54f162526cee` (including the `SupervisorManagerTest` fix). The PR diff remains exactly two metadata files: `pom.xml` and `licenses.yaml`; no PR-local code or test fix was made, committed, or pushed. ### Dependency compatibility: SAFE Release boundary carried forward and revalidated: source Jetty `12.1.12`; target Jetty `12.1.13`, the next and only actually published Jetty 12.1 release in this interval. The published source and target records are [Jetty 12.1.12](https://github.com/jetty/jetty.project/releases/tag/jetty-12.1.12) and [Jetty 12.1.13](https://github.com/jetty/jetty.project/releases/tag/jetty-12.1.13); the official release listing contains no intervening published release. The earlier exact-head review evidence was carried forward, including the public japicmp comparison of the 16 Jetty artifacts Druid resolves and the before/after dependency-tree comparison. | Surface | Result | Evidence | | --- | --- | --- | | API / ABI | SAFE | The carried-forward japicmp comparison found no public binary-incompatible entries across the 16 resolved Jetty artifacts. Druid-referenced client, request/response, connector/server, rewrite, and EE8 proxy/servlet signatures remain available. | | Runtime | SAFE | Jetty 12.1.13 changes in the exercised paths are fixes or additive behavior: client connection completion, proxy/tunnel and authentication handling, canonical authentication URI matching, empty-ALPN fallback, response-header identity preservation, and symlink checking. No Druid override or call site changed. | | Configuration | SAFE | New controls are opt-in with compatible defaults (`HttpClient.maxDestinations=-1`, `SecurityHandler.persistAuthenticationCredentials=false`, and unchanged graceful-shutdown 503 behavior). Druid's existing client connection, queue, timeout, buffer, and executor settings remain applied. | | Serialization / wire | SAFE | Jetty session-authentication persistence is opt-in and preserves roles; Druid does not install that Jetty security-session path. Druid endpoint formats and response-context filtering are unchanged. | | Persistence | SAFE | No Druid metadata, segment, task, cache, index, or persisted-format code changes. Jetty-managed authentication-session persistence is not used by Druid. | | Clients | SAFE | Druid's Jetty client provider continues using the existing settings and does not set the new destination limit. Druid's proxy/servlet subclasses use unchanged protected hooks; the upstream proxy changes are corrective. | | Transitive dependencies | SAFE | The same 16 Jetty coordinates resolve before and after, with only `12.1.12` -> `12.1.13`; no non-Jetty transitive dependency was added or removed. | | Licenses | SAFE | Jetty 12.1.13 retains the existing EPL-2.0/Apache-2.0 licensing. The PR changes the matching Jetty version in `licenses.yaml` and no notice/license text or obligation. | | Extension / plugin SPI | SAFE | No Druid extension SPI, module descriptor, service registration, or plugin contract changes. Jetty additions are binary-compatible and no Druid extension depends on a changed Jetty SPI. | No `CONCERN`, `INCOMPATIBLE`, or `UNRESOLVED` compatibility item remains. ### Exact-head CI failure - **Classification:** flaky/non-PR-local asynchronous test failure, not a base-branch failure. - **Failed check:** JDK 25 `S*` shard, [job 102032370208](https://github.com/apache/druid/actions/runs/34217421222/job/102032370208), on the exact PR head. - **Evidence:** the job ran 46,520 tests and the Maven reactor ended `BUILD SUCCESS`; the only failure was pre-existing `SeekableStreamSupervisorStateTest.testSupervisorStopTaskGroupEarly`, where EasyMock expected `TaskQueue.shutdown("id1", "All tasks in group[%s] failed to transition to publishing state", 0)` once but observed it zero times. The test drains an asynchronous supervisor-notice queue before verifying, which is consistent with timing nondeterminism. The PR changes neither this test nor its supervisor implementation, and the fixed base is present in the merge commit. - **Rerun action:** requested a failed-job-only rerun; GitHub rejected it with `job 102032370208 cannot be rerun` because the parent workflow is still nonterminal/queued. No rerun was available without waiting; no code change was justified. ### Final state The exact head is unchanged: `ed00456a93e7ff0f68bfe758e1f7e1e4712ff960`. All completed required checks in the current run are successful except the `S*` failure; the workflow's `actions-timeline` job remains queued ([job 102067274310](https://github.com/apache/druid/actions/runs/34217421222/job/102067274310)). See the [full checks page](https://github.com/apache/druid/pull/20277/checks). The PR remains **OPEN**, **MERGEABLE**, and **unapproved**. Checks are not all green, so I am leaving it open for coordinator watch. No approval and no merge were performed. -- 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]
