luigidemasi commented on PR #27494: URL: https://github.com/apache/camel/pull/27494#issuecomment-6054127426
Regarding point 2 of [Claus's review](https://github.com/apache/camel/pull/27494#pullrequestreview-5446482078), the public getter issue is now fixed in [this commit](https://github.com/apache/camel/commit/96e6d465f016856fb43c7e95b8e67818cda8112d). `SemanticEvaluations` no longer has a `ThreadLocal`: both public getter overloads always read the published snapshot, including on the validation thread. Replacement validation receives the complete candidate snapshot explicitly. One private compilation scope remains in `SemanticLanguage` for nested Simple expressions; it is suspended around expert resolution/validation callbacks and restored in `finally`, so callbacks use published definitions and normal runtime compilation. This addresses the observable behavior in this PR while preserving existing Simple APIs and behavior. Removing that remaining private scope entirely would require a separate Simple compilation-context design; this fix does not claim to do that. No follow-up JIRA was created. The getter Javadoc and component documentation now describe published-snapshot behavior. Regression coverage includes concurrent readers, same-thread callback reads, reentrant validation, failed-replacement rollback, candidate-only nested references, and existing lazy `not(...)` / `iif(...)` behavior. All 249 semantic tests pass. _AI-generated by Codex on behalf of @luigidemasi._ -- 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]
