m-trieu commented on code in PR #32774:
URL: https://github.com/apache/beam/pull/32774#discussion_r1814106303
##########
runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/client/grpc/GrpcGetDataStreamRequests.java:
##########
@@ -91,18 +110,26 @@ void
addToStreamingGetDataRequest(Windmill.StreamingGetDataRequest.Builder build
}
}
+ /** Represents a batch of queued requests. Methods are thread-safe unless
commented otherwise. */
static class QueuedBatch {
private final List<QueuedRequest> requests = new ArrayList<>();
private final CountDownLatch sent = new CountDownLatch(1);
private long byteSize = 0;
- private boolean finalized = false;
+ private volatile boolean finalized = false;
+ private volatile boolean failed = false;
- CountDownLatch getLatch() {
- return sent;
+ /**
+ * Returns a read-only view of requests sorted with {@link
QueuedRequest#globalRequestsFirst()}.
+ */
+ List<QueuedRequest> sortedRequestsReadOnly() {
+ // Put all global data requests first because there is only a single
repeated field for
+ // request ids and the initial ids correspond to global data requests if
they are present.
+ requests.sort(QueuedRequest.globalRequestsFirst());
+ return Collections.unmodifiableList(requests);
Review Comment:
previously we returned a mutable reference to the underlying requests list
changed to sort here and returning a readonly view of the list (doesn't
repopulate a list, just wraps the list in a readonly view) to make it more
straightforward
--
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]