You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2022/03/23 16:54:16 UTC

[GitHub] [beam] arunpandianp commented on a change in pull request #17162: [BEAM-14157] Don't request work on a closed windmill GetWorkStream

arunpandianp commented on a change in pull request #17162:
URL: https://github.com/apache/beam/pull/17162#discussion_r833483603



##########
File path: runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/GrpcWindmillServer.java
##########
@@ -936,7 +936,11 @@ protected void onResponse(StreamingGetWorkResponseChunk chunk) {
               .execute(
                   () -> {
                     try {
-                      send(extension);
+                      synchronized (this) {
+                        if (!clientClosed.get()) {

Review comment:
       > Was this causing issues other than unnecessary IllegalStateExceptions?
   
   I am investigating stalled GetWork streams with logs like `Output channel stalled for 31s, outbound thread`. I think sending messages on a closed stream has something to do with it. In test runs with this change, I'm yet to see a stalled GetWorkStream.
   
   > Should send itself be changed to check this?
   
   There are a few sends without the catch(IllegalStateException), they need to be looked at individually. Can we get this in first? 




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