DanielLeens commented on PR #12443:
URL: https://github.com/apache/seatunnel/pull/12443#issuecomment-6190206356
Thanks @SEZ9. I re-checked each pointer against the current head
`871c6448a8d1` (unchanged, so these are exact locations):
- **F1 / F5 (where the guard lives, decrypt path):** the shared helper is
`ConfigMapPathUtils.quoteInvalidPathKeys`, applied at `ConfigBuilder.java:110`
(REST Map to Config), `ConfigShadeUtils.java:229` (the `decryptConfig`
re-parse) and `ReadonlyConfig.java:79`. End-to-end decrypt coverage with a
regex key: `RestUtilTest#buildConfigShouldPreserveRegexKeysFromJson` and
`#buildConfigShouldPreserveTopLevelInvalidPathKey` push `^t_nova_.*$` through
`RestUtil.buildConfig` and then `ConfigShadeUtils.decryptConfig`;
`RestApiSubmitJobConfigShadeDecryptTest#testHoconDecryptPreservesQuotedFieldMapperKey`
does the same for the HOCON hop.
- **F2 / F3 (docs):** the EN text is
`docs/en/engines/zeta/rest-api-v2.md:921-922` and the ZH text is
`docs/zh/engines/zeta/rest-api-v2.md:892-893`. It does spell out the remaining
semantics, not only the literal-key rule: "`a->b` creates nested config, while
a dot such as in `job.mode` is not a path separator", "Parsable keys keep the
existing semantics: quotes are removed and surrounding unquoted whitespace is
trimmed", and that the same rule applies to batch submissions. The HOCON
paragraph also says reserved characters must be quoted in the body.
- **F4 / F6 (tests hit the quoting branch):**
- `->` separator: `RestUtilTest#buildConfigShouldKeepValidPathExpressions`
(`a->b` becomes nested `a.b`).
- escape round-trip (`"` and `\` in a key) plus keys whose only offending
token is `$`, `:` or `${FOO}`:
`RestUtilTest#buildConfigShouldPreserveEscapedAndReservedKeysThroughConfigShade`
(encrypt then decrypt) and
`ConfigBuilderTest#testInvalidPathKeysSurviveConfigShadeRoundTrip`.
- top-level key:
`RestUtilTest#buildConfigShouldPreserveTopLevelInvalidPathKey`.
- padded keys:
`ConfigBuilderTest#testWhitespacePaddedKeysTrimmedUnlessGuardQuotesWholeKey`.
- REST-level: `RestApiIT#testSubmitJobWithHoconFormatAndQuotedLiteralKey`
(`RestApiIT.java:1425`).
- **F7:** the title is `[Fix,Core]` and the diff touches `seatunnel-api`,
`seatunnel-core-starter` and `seatunnel-engine-server`, so as you said
`[Fix,Core]` fits and nothing is left on that point.
One thing that is still open and needs a push from @hutiefang76: GitHub now
reports this PR as `dirty` (9 ahead / 125 behind `dev`; the conflict comes from
#12491 touching `ConfigBuilder` and `ConfigBuilderTest`). Please sync the
latest `dev`, resolve the conflicts, and re-run the new tests, which will also
restart the queued `Build`. I have no other source-level concern on this head.
This is static analysis only; I did not execute the PR.
--
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]