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]

Reply via email to