Michael Ho has uploaded a new patch set (#4). ( http://gerrit.cloudera.org:8080/14101 )
Change subject: IMPALA-8845: Cancel receiver's streams on exchange node's EOS ...................................................................... IMPALA-8845: Cancel receiver's streams on exchange node's EOS When an exchange node reaches its row count limit, the current code will not notify the sender fragments about it. Consequently, sender fragments may keep sending row batches to the exchange node but they won't be dequeued anymore. The sender fragments may end up blocking in the RPC indefinitely until either the query is cancelled or closed. This change fixes the problem above by cancelling the underlying receiver's streams of an exchange node once it reaches the row count limit. This will unblock all senders whose TransmitData() RPCs haven't been replied to yet. Any future row batches sent to this receiver will also be immediately replied to with a response indicating that this receiver is already closed so the sender will stop sending any more row batches to it. Change-Id: I10c805e9d63ed8af9f458bf71e8ef5ea9376b939 --- M be/src/exec/exchange-node.cc M be/src/exec/exchange-node.h M be/src/runtime/krpc-data-stream-mgr.cc M be/src/runtime/krpc-data-stream-recvr.cc M be/src/runtime/krpc-data-stream-recvr.h A tests/custom_cluster/test_exchange_eos.py 6 files changed, 96 insertions(+), 13 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/01/14101/4 -- To view, visit http://gerrit.cloudera.org:8080/14101 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I10c805e9d63ed8af9f458bf71e8ef5ea9376b939 Gerrit-Change-Number: 14101 Gerrit-PatchSet: 4 Gerrit-Owner: Michael Ho <k...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Michael Ho <k...@cloudera.com> Gerrit-Reviewer: Sahil Takiar <stak...@cloudera.com>