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]
