This is an automated email from the ASF dual-hosted git repository.
nsivabalan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/master by this push:
new fe8627a8f42c docs(agent): correct the HoodieTableHealthChecker exit
codes in the hudi-table-health skill (#20385)
fe8627a8f42c is described below
commit fe8627a8f42c08c42784de5a0461ef642e5d878f
Author: Sivabalan Narayanan <[email protected]>
AuthorDate: Thu Oct 22 02:00:46 2026 -0700
docs(agent): correct the HoodieTableHealthChecker exit codes in the
hudi-table-health skill (#20385)
* docs(agent): correct the HoodieTableHealthChecker exit codes documented
in the hudi-table-health skill
The skill documented the exit codes as 0 healthy, 1 unhealthy, 2 could not
run. The tool returns
0 (every check healthy or skipped), 2 (bad arguments or an unreadable
table), 3 (at least one
check UNHEALTHY) and 4 (no check unhealthy but at least one could not
run), and never uses 1 for
a verdict, since the JVM exits 1 on start-up failure. A rejected command
line also exits 1
today, because the argument parser runs before the tool's own error
handling, so 1 always means
"the tool did not run", never a finding about the table.
Follow-up to #20151.
---
hudi-ai-operator/skills/hudi-table-health/SKILL.md | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/hudi-ai-operator/skills/hudi-table-health/SKILL.md
b/hudi-ai-operator/skills/hudi-table-health/SKILL.md
index b5e35ee68093..37ca38028d4b 100644
--- a/hudi-ai-operator/skills/hudi-table-health/SKILL.md
+++ b/hudi-ai-operator/skills/hudi-table-health/SKILL.md
@@ -68,9 +68,14 @@ java -cp "$HUDI_UTILITIES_BUNDLE"
org.apache.hudi.utilities.HoodieTableHealthChe
--output JSON
```
-Always request `--output JSON`. Capture the exit code as well as stdout: `0`
healthy, `1` unhealthy,
-`2` the tool could not run (bad arguments, unreadable table, or a check that
threw). On `2`, read
-the `errors` array and stderr before saying anything about the table.
+Always request `--output JSON`. Capture the exit code as well as stdout: `0`
every check healthy or
+skipped, `3` at least one check UNHEALTHY, `4` no check unhealthy but at least
one could not run,
+`2` the tool itself could not run (bad arguments or an unreadable table). No
verdict uses exit code
+`1`: the JVM exits `1` when the process fails to start, so a bad classpath can
never read as a
+finding about the table. A rejected command line (no arguments, a missing
`--base-path`, an unknown
+flag) also exits `1` today, because the argument parser runs before the tool's
own error handling;
+treat `1` as "the tool did not run", never as a verdict. On `2` or `4`, read
the `errors` array and
+stderr before saying anything about the table; on `3`, the `UNHEALTHY` checks
are the finding.
Use `--checks compaction,cleaner` to narrow the run when the user is
investigating one service.