Michael Ho has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/8914 )

Change subject: IMPALA-6193: Track memory of incoming data streams
......................................................................


Patch Set 10:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/8914/7/be/src/rpc/rpc-mgr.h
File be/src/rpc/rpc-mgr.h:

http://gerrit.cloudera.org:8080/#/c/8914/7/be/src/rpc/rpc-mgr.h@126
PS7, Line 126: WARN_UNUSED_RESULT
> I didn't know we had that. The commit message of the change that introduces
Makes sense.


http://gerrit.cloudera.org:8080/#/c/8914/10/be/src/runtime/krpc-data-stream-recvr.cc
File be/src/runtime/krpc-data-stream-recvr.cc:

http://gerrit.cloudera.org:8080/#/c/8914/10/be/src/runtime/krpc-data-stream-recvr.cc@333
PS10, Line 333: ctx->DiscardTransfer();
I thought more about this function here and there seems to be two problems here:

- this causes the buffer of the InboundTransfer to be freed in the 
deserialization thread instead of the reactor thread in which this buffer was 
originally allocated on. This is anti-pattern in TCMalloc.

- there seems to be divergence in behavior between the fast path (in which the 
RPC is not deferred) and the slow path when an RPC is deferred. In particular, 
we don't call DiscardTransfer() in the fast path but we do so in the slow path.



--
To view, visit http://gerrit.cloudera.org:8080/8914
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2df1204d2483313a8a18e5e3be6cec9e402614c4
Gerrit-Change-Number: 8914
Gerrit-PatchSet: 10
Gerrit-Owner: Lars Volker <l...@cloudera.com>
Gerrit-Reviewer: Bikramjeet Vig <bikramjeet....@cloudera.com>
Gerrit-Reviewer: Lars Volker <l...@cloudera.com>
Gerrit-Reviewer: Michael Ho <k...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Comment-Date: Thu, 25 Jan 2018 19:47:55 +0000
Gerrit-HasComments: Yes

Reply via email to