walterddr commented on code in PR #10108:
URL: https://github.com/apache/pinot/pull/10108#discussion_r1092332925
##########
pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/channel/MailboxContentStreamObserver.java:
##########
@@ -115,20 +116,20 @@ public void onNext(Mailbox.MailboxContent mailboxContent)
{
if
(!mailboxContent.getMetadataMap().containsKey(ChannelUtils.MAILBOX_METADATA_BEGIN_OF_STREAM_KEY))
{
// when the receiving end receives a message put it in the mailbox queue.
// TODO: pass a timeout to _receivingBuffer.
- if (!_receivingBuffer.offer(mailboxContent)) {
- // TODO: close the stream.
- RuntimeException e = new RuntimeException("Mailbox receivingBuffer is
full:" + _mailboxId);
- LOGGER.error(e.getMessage());
- try {
- _errorLock.writeLock().lock();
- _errorContent = createErrorContent(e);
- } catch (IOException ioe) {
- e = new RuntimeException("Unable to encode exception for cascade
reporting: " + e, ioe);
+ try {
+ if (!_receivingBuffer.offer(mailboxContent, 30, TimeUnit.SECONDS)) {
Review Comment:
let's refactor this change out into a separate PR. this is almost certainly
addressing a different issue than the GRPC mailbox leak. (it is addressing the
content buffer issue in the queue)
--
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]