agavra commented on code in PR #9887:
URL: https://github.com/apache/pinot/pull/9887#discussion_r1041196826
##########
pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/GrpcReceivingMailbox.java:
##########
@@ -123,6 +124,11 @@ private TransferableBlock
fromMailboxContent(MailboxContent mailboxContent)
return new TransferableBlock(dataBlock);
}
}
+
+ if
(mailboxContent.getMetadataOrDefault(ChannelUtils.MAILBOX_METADATA_END_OF_STREAM_KEY,
"false").equals("true")) {
+ return TransferableBlockUtils.getEndOfStreamTransferableBlock();
+ }
Review Comment:
yeah, it wasn't causing a problem because it just got re-scheduled.
basically what happened is that the mailbox would close without the GRPC
mailbox returning EOS, the next time the `MailboxReceiveOperator` was
scheduled, it noticed all of its mailboxes were closed so it generated EOS.
with this change, it would never get scheduled again so it didn't get the
chance to notice all its mailboxes were closed.
in a follow-up PR I'm considering scheduling operators on some schedule to
avoid such scenarios but I didn't want to add the schedule until I was sure
that the logic was correct independently e2e
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]