anthonychengit opened a new pull request, #8534: URL: https://github.com/apache/texera/pull/8534
### What changes were proposed in this PR? Move the final two blocking retry loops onto `RetryUtil.withBackoff` while preserving their public contracts. | Caller | Policy retained or chosen | | --- | --- | | `PythonProxyClient` | 3 attempts, constant 200 ms waits, per-attempt client cleanup, `WorkflowRuntimeException` on failure | | `URLFetchUtil` | Optional result, exact retry budget, 200/400/800/1600 ms backoff | `RetryUtil` now supports a delay multiplier and caller-defined terminal exception factory. ### Any related issues, documentation, discussions? Closes #7124 ### How was this PR tested? The new contract tests failed to compile before the utility/API changes. After the implementation, 17 utility, 8 URL fetcher, and 10 Python client tests pass: ```bash sbt "Util / Test / testOnly org.apache.texera.common.util.RetryUtilSpec" "WorkflowOperator / Test / testOnly org.apache.texera.amber.operator.source.fetcher.URLFetchUtilSpec" "WorkflowExecutionService / Test / testOnly org.apache.texera.amber.engine.architecture.pythonworker.PythonProxyClientSpec" sbt scalafmtAll sbt "scalafixAll --check" ``` ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Codex was used for implementation and verification assistance. I reviewed the final code and test output before submission. -- 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]
