morningman commented on PR #66729:
URL: https://github.com/apache/doris/pull/66729#issuecomment-5351273562
<!-- doris-repo-review:v1:begin -->
### Local pipeline review — ✅ PASS
```yaml
schema: doris-repo-review/v1
status: PASS
pr: apache/doris#66729
commit: e9746fc7ad4b269caebe23840113efdc8cd1a766
base: 02fbf377c16816f902cb969ed603248a86631491
reviewed_at: 2026-08-20T12:14+08:00
reviewer: morningman
model: claude-opus-5[1m]
effort: max
findings: {blocker: 0, major: 0, minor: 20, nit: 13}
rounds: 1
converged: true
```
**Notes for maintainers**
-
`fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnector.java:525`
— the new `closed` guard runs only inside the monitor, so the three holders
still end by re-reading the volatile field and can return `null`;
`getEventSource()` then wraps it in a non-null `HmsEventSource`, which
`MetastoreEventSyncDriver` does not skip, and the NPE resets the event cursor
to -1. A local-variable DCL fixes it.
-
`fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnector.java:485`
— the try/catch moved into the lambda, so the submission itself is unguarded
while the javadoc still says failures are swallowed; `Thread.start()` throws
`OutOfMemoryError` (JDK `ThreadPoolExecutor.addWorker` has no catch), which
skips the `hmsClient.close()` three lines below.
-
`fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnector.java:487`
— the executor fixes the lock/thread half of the previous round's F-02, but
`closeAll(UGI)` still holds the process-wide `FileSystem.CACHE` monitor for the
whole sweep; worth a sentence in the comment, since the block moved rather than
went away.
-
`fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiConnectorFileSystemScopeTest.java:209`
— the case asserts which thread closes, never that `close()` returned first:
mutating production to `FS_SCOPE_CLOSER.submit(...).get()` restores the full
stall and leaves both new cases green. A second latch in `RecordingFileSystem`
pins it.
- `tools/be-java-plugins/check_plugin_layout.py:188` — verified
independently with jdeps 17: hadoop-aws 3.4.2 leaves 54 unresolved
`org.apache.hadoop.mapreduce.*` edges without hadoop-mapreduce-client-core and
0 with it, so re-arming the prefix on paimon/hudi cannot break the build and
iceberg's exemption is still load-bearing.
<sub>Reviewed locally with the `doris-repo-review` pipeline (a local port of
`.github/workflows/code-review-runner.yml`). This is not a CI status
check.</sub>
<!-- doris-repo-review:v1:end -->
--
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]