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]