SEZ9 opened a new issue, #11511:
URL: https://github.com/apache/seatunnel/issues/11511

   ### Search before asking
   
   - [X] I had searched in the 
[issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue) and found no 
similar issues.
   
   ### What happened
   
   In the released 2.3.13 (including the official Docker image 
`apache/seatunnel:latest`), `seatunnel.sh --check` accepts **any** config — 
including configs with a non-existent connector and missing required options — 
and exits 0.
   
   The cause: in the released source, `SeaTunnelConfValidateCommand.execute()` 
is an empty stub:
   
   ```java
   @Override
   public void execute() throws ConfigCheckException {
       Path configPath = FileUtils.getConfigPath(clientCommandArgs);
       // TODO: validate config using new api
   }
   ```
   
   The real validation (`--dry-run static`: plugin loadability, OptionRule 
required/unknown keys, option types, DAG topology) was implemented on dev in 
#10763, but has not been released.
   
   This is a silent correctness trap: users (and tooling) that run `--check` as 
a pre-flight gate get a false "valid" signal. We hit this while building an 
automated benchmark that used `--check` as an engine-level validation gate — it 
reported a 100% pass rate for configs that were provably invalid (e.g. `source 
{ NoSuchConnector { ... } }` → exit 0).
   
   ### What you expected to happen
   
   Either of:
   1. Backport #10763's validation to the 2.3.x line so `--check` actually 
validates, or
   2. Make released `--check` fail fast with "not implemented in this version", 
and/or document the limitation in the 2.3.x user-command docs — anything but 
silently returning success.
   
   ### How to reproduce
   
   ```bash
   cat > /tmp/bad.conf <<'CONF'
   env { job.mode = "BATCH" }
   source { NoSuchConnector { totally_fake_option = "x" } }
   sink { Console {} }
   CONF
   docker run --rm -v /tmp/bad.conf:/t.conf apache/seatunnel:latest \
     bash -c '/opt/seatunnel/bin/seatunnel.sh --check --config /t.conf; echo 
exit=$?'
   # -> exit=0
   ```
   
   ### SeaTunnel Version
   
   2.3.13 (released); dev is fixed by #10763
   
   ### SeaTunnel Config
   
   See above.
   
   ### Running Command
   
   ```
   seatunnel.sh --check --config /t.conf
   ```
   
   ### Error Exception
   
   No error — that is the bug: exit code 0 for an invalid config.
   
   ### Zeta or Flink or Spark Version
   
   Zeta
   
   ### Java or Scala Version
   
   openjdk 1.8.0_342 (bundled in image)
   
   ### Screenshots
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
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]

Reply via email to