hutiefang76 commented on PR #12015: URL: https://github.com/apache/seatunnel/pull/12015#issuecomment-6332627570
@luozihen, there is real overlap at `ConfigBuilder.of(Map)`, variable backfill and the decrypt re-parse, but the two current implementations have different key semantics. Your [JSON rebuild](https://github.com/apache/seatunnel/blob/d9bb1574f0dfee9f6673533dff2616522a76e6c4/seatunnel-core/seatunnel-core-starter/src/main/java/org/apache/seatunnel/core/starter/utils/ConfigBuilder.java#L283) keeps every map key literal. #12443 quotes only invalid path expressions and preserves the existing handling of valid ones. For example, `{"a->b":"v"}` still becomes nested `a.b` in #12443, whereas the JSON rebuild keeps one `a->b` key. Surrounding whitespace and quotes in valid keys differ too; ordinary dotted keys such as `job.mode` stay literal in both. #12443 also covers [ReadonlyConfig.toConfig()](https://github.com/apache/seatunnel/blob/3d6c855f30d0a0b915befbe29abea3e31e6e7bb3/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/ReadonlyConfig.java#L79), the config-adapter conversion and both variable-map conversions, which remain outside the three rebuild sites changed here. Its REST submit-path tests are separate from the JDBC mapping coverage. I propose keeping one shared config fix in #12443 and rebasing the JDBC feature onto it, while keeping the primary-key validation changes in this PR. That avoids merging competing conversions. The intended key contract and merge order need to be agreed before either version lands; the two patches cannot simply be treated as identical fixes. -- 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]
