Repository navigation
Conversation
…n and improve parameter handling
…re parameter specification is initialized
…hance metadata discovery
- Skip only explicit JSONB operator tokens: `?|`, `?&`, `??`, `??|`, and `??&`. - Consume complete operator tokens so `col ?? ?` still counts the trailing `?` as a bind parameter. - Stop treating all `[...]` expressions as bracket-quoted identifiers. - Add dialect-aware bracket handling for SQL Server. - Preserve PostgreSQL parameter markers in `ARRAY[?]` and `ARRAY[?, ?]`. - Apply the same parsing behavior to the Database Join path. - Expand regression coverage for JSONB operators, `LIKE`, `NOT LIKE`, `BETWEEN`, `SELECT ? FROM dual`, and ARRAY expressions.
…et-quoted identifiers
…et-quoted identifiers
…B operators and bracket-quoted identifiers
…parameter handling
… logic for pipeline execution
…for improved error handling
…nhance retry logic tests
…ry behavior and timing
|
Can we have a ticket and a reproduction path for this please. I'm not sure the code change reflect the expectations you/we have. As far as I can see every retry read the same row, and that row doesn't change while the retries run. |
…gic and improve retry handling
|
Thanks again for the detailed review and feedback. i have implemented all three fixes in PipelineExecutor and updated the tests to lock in the expected behavior. Retry parameter handlingexecuteWithRetries() now always reuses the original attempt-0 parameter values on retries. Variable refresh on retriesRetry attempts now refresh variables from the live parent variable scopes and JVM properties instead of relying on the pipeline's copied snapshot. Test updatesReplaced the stub-based retry test with a real-path scenario that verifies both retry attempts receive the original attempt-0 parameter list, including correct null handling. |
|
Thanks for the quick response @hansva . Of course. I've prepared a small example for testing purposes and uploaded it to the following repository: https://github.com/beatum/apache-hop-demo.git When the variable is set to rabbit, the pipeline logs that the door opens. Feel free to try it out, and let me know if you need any additional information. Have fun! 😄 |
Summary
This PR fixes stale parameter handling in the Pipeline Executor when retries are enabled and variables are inherited from parent scopes.
The previous retry flow could reuse stale inherited variable values or previous attempt parameter values, causing child pipeline executions to behave inconsistently across retries. This patch ensures each retry reflects the newest available context while preserving explicit mappings.
Testing