SEZ9 commented on PR #11509:
URL: https://github.com/apache/seatunnel/pull/11509#issuecomment-5036463534
Thanks @nielifeng @DanielLeens for the careful review — both points
addressed in the new head.
**Field-aware placeholder validation** (`validate_hocon`): the global
exemption is replaced with a per-field allowlist:
- `file_name_expression` → `${now}`, `${uuid}`, `${transactionId}`
- `partition_dir_expression` → `${kN}`, `${vN}` (resolved by
`AbstractWriteStrategy.generatorPartitionDir`)
The same names in any other field (URLs, credentials, paths, ...) are
diagnosed as unresolved environment variables again, and non-engine
placeholders inside the two expression fields are still checked as env vars.
**Regression tests added** (`tests/test_validate_hocon_placeholders.py`, 10
cases):
- accepted: engine placeholders in their own fields (incl. mixed
`out_${uuid}_${now}`, `${k0}=${v0}/${k1}=${v1}`)
- rejected: `${now}`/`${uuid}`/`${transactionId}`/`${k0}` in
url/password/topic/path fields; unset env var mixed into `file_name_expression`
- Bedrock retry: first call sends temperature and gets rejected → retry
without temperature succeeds → model id cached so the next call skips
temperature entirely; unrelated exceptions (e.g. throttling) are re-raised
untouched without triggering the retry
Full suite passes (39 tests). The head is also rebased onto current `dev`
(was behind_by=30), so the diverged state noted in the queue is resolved.
--
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]