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]

Reply via email to