scwhittle commented on code in PR #34367:
URL: https://github.com/apache/beam/pull/34367#discussion_r2073821600


##########
runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/client/AbstractWindmillStream.java:
##########
@@ -333,6 +372,49 @@ public final synchronized void halfClose() {
     }
   }
 
+  /**
+   * Internally restart the stream to avoid {@link Status#DEADLINE_EXCEEDED} 
errors.
+   *
+   * @implNote Similar behavior to {@link #halfClose()}, except we allow 
callers to interact with
+   *     the stream after restarts.
+   */
+  private synchronized void restart() throws WindmillStreamShutdownException {
+    debugMetrics.recordRestartReason("Internal Timeout");
+    try {
+      requestObserver.release();

Review Comment:
   or perhaps release somehow releases some handle on the internal observer.  
We don't need the full feature set on these "released" streams. We want them 
half-closed, then we don't need to send anymore, we just need to be able to 
distinguish the responses coming on it, which requests were sent on it 
previously (in case it fails), and want to be able to abort it if it is taking 
too long to close.



-- 
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-unsubscr...@beam.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to