westonpace commented on a change in pull request #11017:
URL: https://github.com/apache/arrow/pull/11017#discussion_r723599186



##########
File path: cpp/src/arrow/util/future.h
##########
@@ -840,6 +840,17 @@ inline Future<>::Future(Status s) : 
Future(internal::Empty::ToResult(std::move(s
 ARROW_EXPORT
 Future<> AllComplete(const std::vector<Future<>>& futures);
 
+/// \brief Create a Future which completes when all of `futures` complete.
+///
+/// The future will be marked complete if all `futures` complete
+/// successfully. Otherwise, it will be marked failed with the status of
+/// the first failing future.

Review comment:
       I clarified the comment according to that review and also changed the 
name to AllFinished.

##########
File path: cpp/src/arrow/compute/exec/sink_node.cc
##########
@@ -132,6 +133,104 @@ class SinkNode : public ExecNode {
   PushGenerator<util::optional<ExecBatch>>::Producer producer_;
 };
 
+// A sink node that owns consuming the data and will not finish until the 
consumption
+// is finished.  Use SinkNode if you are transferring the ownership of the 
data to another
+// system.  Use ConsumingSinkNode if the data is being consumed within the 
exec plan (i.e.
+// the exec plan should not complete until the consumption has completed).
+class ConsumingSinkNode : public ExecNode {

Review comment:
       I added a few unit tests to plan_test.cc




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