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]

Reply via email to