hutiefang76 commented on PR #12443:
URL: https://github.com/apache/seatunnel/pull/12443#issuecomment-6292030195

   Here are the code locations on `3d6c855f30`, now synced with dev 
`1ce2d78156`:
   
   1. The [decrypt 
re-parse](https://github.com/apache/seatunnel/blob/3d6c855f30d0a0b915befbe29abea3e31e6e7bb3/seatunnel-core/seatunnel-core-starter/src/main/java/org/apache/seatunnel/core/starter/utils/ConfigShadeUtils.java#L229)
 calls the shared guard immediately before `parseMap`. The [decrypt round-trip 
test](https://github.com/apache/seatunnel/blob/3d6c855f30d0a0b915befbe29abea3e31e6e7bb3/seatunnel-core/seatunnel-core-starter/src/test/java/org/apache/seatunnel/core/starter/utils/ConfigBuilderTest.java#L48)
 goes through `decryptConfig(ConfigBuilder.of(map))` with `^t_nova_.*$`, `a:b`, 
quotes/backslashes, `${FOO}` and an empty key.
   2. Adapter loading, variable backfill, user-variable conversion and merged 
user/system variables are guarded in 
[ConfigBuilder](https://github.com/apache/seatunnel/blob/3d6c855f30d0a0b915befbe29abea3e31e6e7bb3/seatunnel-core/seatunnel-core-starter/src/main/java/org/apache/seatunnel/core/starter/utils/ConfigBuilder.java#L241);
 the [shared 
helper](https://github.com/apache/seatunnel/blob/3d6c855f30d0a0b915befbe29abea3e31e6e7bb3/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/ConfigMapPathUtils.java#L41)
 and `ReadonlyConfig.toConfig()` are in `seatunnel-api`. Production changes are 
in API/core-starter; the engine-server changes are tests, so I have kept 
`[Fix][Core]` and broadened the title to include file loading.
   3. The 
[English](https://github.com/apache/seatunnel/blob/3d6c855f30d0a0b915befbe29abea3e31e6e7bb3/docs/en/engines/zeta/rest-api-v2.md#L923)
 and 
[Chinese](https://github.com/apache/seatunnel/blob/3d6c855f30d0a0b915befbe29abea3e31e6e7bb3/docs/zh/engines/zeta/rest-api-v2.md#L894)
 REST docs cover the literal-key boundary. I also added the same file/CLI 
contract to the 
[English](https://github.com/apache/seatunnel/blob/3d6c855f30d0a0b915befbe29abea3e31e6e7bb3/docs/en/introduction/concepts/config.md#L144)
 and 
[Chinese](https://github.com/apache/seatunnel/blob/3d6c855f30d0a0b915befbe29abea3e31e6e7bb3/docs/zh/introduction/concepts/config.md#L144)
 config guides.
   4. Yes, successfully parsed keys still follow the existing normalization: 
`->` nests, syntactic quotes are removed, and surrounding unquoted whitespace 
is trimmed. The dot in `job.mode` stays literal. Only keys rejected by the path 
parser are quoted as a whole; this is not byte-for-byte preservation of every 
key.
   5. 
[RestUtilTest](https://github.com/apache/seatunnel/blob/3d6c855f30d0a0b915befbe29abea3e31e6e7bb3/seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/utils/RestUtilTest.java#L75)
 covers `->`, standalone `$`/`:`/`${FOO}`, quote/backslash round trips and a 
top-level regex key. 
[RestApiIT](https://github.com/apache/seatunnel/blob/3d6c855f30d0a0b915befbe29abea3e31e6e7bb3/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/RestApiIT.java#L1471)
 covers HOCON submission with the quoted FieldMapper key, alongside the 
extended JSON submission case.
   
   Re-running this integration passed all 68 affected tests and both real 
two-member Zeta REST cases, with no failures, errors or skips. Root formatting 
and verify passed. Fork Actions is now restored; [Build for this 
head](https://github.com/hutiefang76/seatunnel/actions/runs/39429936411) is 
queued, so remote CI remains pending.
   
   I also reproduced the separate metadata-enabled re-parse failure and filed 
#12928, as requested for the remaining conversion sites. That issue records the 
passing disabled/ordinary-key controls; no metadata-manager change is included 
here.
   


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