shunping opened a new pull request, #39096:
URL: https://github.com/apache/beam/pull/39096

   Previously, in ExecutorServiceParallelExecutor, if an exception occurred 
during registry cleanup (such as a timeout inside DoFn teardown), the pipeline 
state was transitioned to terminal before the exception was queued in 
`visibleUpdates`.
   
   This introduced a race condition where `waitUntilFinish()` could detect the 
terminal state and exit successfully before the exception was offered to the 
updates queue, swallowing the exception.
   
   This caused tests like `CallTest.givenTeardownTimeout_throwsError` to fail 
since they expected the pipeline to throw an exception. This change swaps the 
order so that the exception is posted to `visibleUpdates` before updating the 
pipeline state to terminal, ensuring the exception is always propagated.
   
   fixes #38845


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