JerAguilon commented on code in PR #37839:
URL: https://github.com/apache/arrow/pull/37839#discussion_r1334905168


##########
cpp/src/arrow/acero/asof_join_node.cc:
##########
@@ -579,7 +581,16 @@ class BackpressureHandler {
     }
   }
 
+  Status ForceShutdown() {
+    // It may be unintuitive to call Resume() here, but this is to avoid a 
deadlock.
+    // Since acero's executor won't terminate if any one node is paused, we 
need to
+    // force resume the node before stopping production.
+    backpressure_control_->Resume();

Review Comment:
   Perhaps one thing to clarify is whether `ResumeInput` behaves idempotently? 
I.e., is it OK to always call resume, even though only some inputs hit this 
`PauseInput` race condition?
   
   My perusal of `source_node.cc` tells me this is OK, but LMK if this is a 
poor assumption to make.



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