anthonychengit opened a new pull request, #7640:
URL: https://github.com/apache/texera/pull/7640

   ### What changes were proposed in this PR?
   
   RxJava's `blockingGet` can wrap a checked `TimeoutException`. The previous 
catch matched only a direct timeout, so a wrapped timeout fell through to the 
generic error handler and returned `Error` instead of `Killed`.
   
   ```text
   Before: timeout -> wrapper exception -> generic handler -> Error
   After:  timeout -> cause-chain check -> timeout handler -> Killed
   ```
   
   This change classifies an exception as a timeout when any safe, finite link 
in its cause chain is a `TimeoutException`. Tests cover direct and nested 
timeouts as positive cases, plus unrelated exceptions and `null` as negative 
cases.
   
   ### Any related issues, documentation, discussions?
   
   Closes #6198
   
   ### How was this PR tested?
   
   ```bash
   sbt "WorkflowExecutionService / Test / testOnly 
org.apache.texera.web.resource.SyncExecutionResourceSpec -- -z 
isCausedByTimeout"
   sbt scalafmtCheckAll
   sbt "scalafixAll --check"
   ```
   
   The focused timeout-classification tests passed. Scala formatting and 
Scalafix checks also passed.
   
   I also ran the complete `SyncExecutionResourceSpec`. The new timeout cases 
passed; 8 pre-existing storage-result cases could not complete because the 
local Iceberg REST catalog expected at `localhost:8181` was not running. Those 
cases are outside this change and will be exercised by the repository CI 
environment.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: OpenAI Codex (GPT-5)
   


-- 
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