morningman commented on PR #66770:
URL: https://github.com/apache/doris/pull/66770#issuecomment-5351301053
<!-- doris-repo-review:v1:begin -->
### Local pipeline review — ✅ PASS
```yaml
schema: doris-repo-review/v1
status: PASS
pr: apache/doris#66770
commit: c92a15bf9c3d799920c2fbc5736dd1971297e9c6
base: 02fbf377c16816f902cb969ed603248a86631491
reviewed_at: 2026-08-20T12:18+08:00
reviewer: morningman
model: claude-opus-5[1m]
effort: max
findings: {blocker: 0, major: 0, minor: 8, nit: 19}
rounds: 2
converged: true
```
**Notes for maintainers**
- **Rebase disclosure.** The review ran on
`ac8f6dc2d2c3916c281e3ed2481699c37682881d`, which has since
been rebased onto `02fbf377c16`. The three-dot diff of the two heads is
byte-identical (the only
textual difference is one `index` line for `build.sh`, because master
moved that file), so the
conclusions carry over to `c92a15bf9c3` unchanged. Nothing was rebuilt or
re-tested against the
newer master, and this review never compiled or ran anything.
-
`fe/fe-authorization/fe-authorization-plugins/fe-authorization-plugin-ranger-hive/src/main/java/org/apache/doris/catalog/authorizer/ranger/hive/RangerHiveAuditStack.java:58`
— the new stack teardown is scheduled onto `LOG_FLUSH_TIMER`, the same
fixed 2-thread pool that
drains every stack's audit buffer. `RangerBasePlugin.cleanup()` joins the
policy refresher without
a timeout, so two concurrent teardowns against an unresponsive Ranger
admin leave no thread to
write audit records for the whole plugin directory. Worth moving the
blocking step off that pool.
-
`fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCheckPolicy.java:329`
— the `CASE` row-filter gate wraps the whole branch loop in one `try`, so
the first branch whose
type is not yet knowable aborts the check. `CASE WHEN region='x' THEN k1
ELSE 1 END` is admitted
while the same filter with the branches swapped is refused; the admitted
one is then cast to
boolean and restricts nothing.
-
`fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/LegacyAccessControllerPlugin.java:198`
— the new "a source that answered null is refused" gate sits on the SPI
channel, which has no
third-party implementations yet, while the deprecated channel that the
release note tells third
parties to keep using normalises null to an empty list one frame earlier.
A third-party
controller returning null from `evalRowFilterPolicies` still fails open,
silently.
-
`fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadManager.java:339`
— `job.getTableName()` is called unguarded, so one routine load job whose
target table has been
dropped makes `PAUSE/RESUME ALL ROUTINE LOAD` fail for every job. The
parallel `SHOW` path
(`ShowRoutineLoadCommand.java:173-180`) already catches
`MetaNotFoundException` and falls back to
the database.
<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]