You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by "PDGGK (via GitHub)" <gi...@apache.org> on 2026/08/02 06:37:10 UTC
Re: [PR] Fix RequestResponseIO parseAndThrow to preserve retryable exception types [beam]
PDGGK commented on PR #37342:
URL: https://github.com/apache/beam/pull/37342#issuecomment-5155964982
Status note, since the review on this PR predates the last push.
**The description was wrong and has been corrected.** It previously described a Guava `getCausalChain()` walk over the whole cause chain and a larger test count than the diff contained — that was left over from an earlier revision. @bvolpato flagged exactly this on 2026-07-13. What the patch actually does is a single unwrap:
```java
Throwable cause = e.getCause();
if (cause instanceof UserCodeExecutionException) {
throw (UserCodeExecutionException) cause;
}
throw new UserCodeExecutionException(cause == null ? e : cause);
```
So a `UserCodeRemoteSystemException` or `UserCodeTimeoutException` thrown by the caller reaches `Call`'s retry/backoff logic as itself instead of being flattened into a plain `UserCodeExecutionException`, which is what suppressed retries.
**CI has since run in full on current master and is green** — 19/19, including `beam_PreCommit_Java_RequestResponse_IO_Direct` and `Analyze (java-kotlin)`. The previous run was from February, so this is the first result under the current build configuration.
**The linked issue #37176** was closed by the stale bot on 2026-07-23 while this fix was still open; it has been reopened.
The diff is one source file and one test file. @kennknowles, happy to rebase or adjust anything if you'd like a different shape.
--
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: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org