DanielLeens commented on PR #12015:
URL: https://github.com/apache/seatunnel/pull/12015#issuecomment-5488653844

   Hi @luozihen — thanks for flagging this, but good news: you don't actually 
need to revert or rebase to fix CI here. I traced the failure before answering, 
and the merge commit isn't the cause.
   
   The real failure is a genuine, 100% reproducible bug in the new unit test 
added by this PR itself:
   
   `ConfigShadeTest.testDecryptPreservesSpecialCharacterKeys` 
(`seatunnel-core/seatunnel-core-starter/src/test/java/org/apache/seatunnel/core/starter/utils/ConfigShadeTest.java:407-416`)
 fails in the `unit-test` job on all 4 JDK/OS legs (8/11 x ubuntu/windows) with:
   ```
   org.apache.seatunnel.shade.com.typesafe.config.ConfigException$Parse: 
String: 2: Expecting close brace } or a comma, got '=' ...
   ```
   
   Root cause is a HOCON syntax bug in the literal string passed to 
`ConfigFactory.parseString(...)`:
   ```java
   "sink { Jdbc { url = \"jdbc:mysql://localhost:3306/db\" "
           + "username = \"u\" password = \"p\" "
           + "multi-table_config { ... } } }"
   ```
   In HOCON, sibling key-value pairs on the same line need a comma (or a 
newline) between them. Since `url = "..."`, `username = "u"`, and `password = 
"p"` sit on one logical line separated only by whitespace, the parser treats 
the quoted URL string and the following bareword `username` as one concatenated 
value, then chokes on the unexpected `=` right after it — which matches the 
"got '='" message exactly. This is a static parse error, not timing/environment 
dependent, so it fails on every run regardless of the merge commit.
   
   Fix: add commas (or put each field on its own line) between 
`url`/`username`/`password`/`multi-table_config` in that HOCON literal, e.g.:
   ```java
   "sink { Jdbc { url = \"jdbc:mysql://localhost:3306/db\", "
           + "username = \"u\", password = \"p\", "
           + "multi-table_config { ... } } }"
   ```
   
   Separately, the other failure in this run (`rocketmq-connector-it`) is an 
unrelated Testcontainers/Docker networking flake inside the RocketMQ broker 
container (`RemotingSendRequestException: send request to ... failed`) — 
unrelated to your diff, safe to ignore/rerun.
   
   On the git-history question: this repo squash-merges PRs at merge time, so 
the intermediate commit history (merge commit included) won't carry into the 
final merged commit either way — you don't need to revert or force-push-rebase 
purely for CI's sake. If you'd still like a tidier branch, `git revert -m 1` 
(your option 1) is the safer choice since the merge commit is already pushed 
publicly. Push the test fix above on top of that, and CI should go green.
   


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