Michael Ho has posted comments on this change. Change subject: IMPALA-3567 Part 2, IMPALA-3899: factor out PHJ builder ......................................................................
Patch Set 4: (16 comments) Still going through the changes and digesting them. Some comments for now. http://gerrit.cloudera.org:8080/#/c/3873/4/be/src/exec/partitioned-hash-join-builder.cc File be/src/exec/partitioned-hash-join-builder.cc: PS4, Line 249: SwitchToIoBuffers(&got_buffer) Not your change but I always find the inconsistency between returning bool vs Status a bit confusing. For instance, this function return Status while AddRow() passes the Status as argument. PS4, Line 325: total_build_rows 'total_build_rows' http://gerrit.cloudera.org:8080/#/c/3873/4/be/src/exec/partitioned-hash-join-builder.h File be/src/exec/partitioned-hash-join-builder.h: PS4, Line 57: methods interface ? PS4, Line 152: Partition { I suppose this is the build-side counterpart of ProbePartition, right ? Can you please add a brief class comment about it ? PS4, Line 163: in memory size in-memory data structures PS4, Line 163: size byte size PS4, Line 175: he the PS4, Line 180: is_closed() Why cannot this be the same as ProbePartition::IsClosed() and use { return build_rows_ == NULL; } ? PS4, Line 290: then the PS4, Line 291: needed to destruct the Status Is this still true ? I believe we have added noexcept to the Status class already. Line 294: /// This status should used directly only by ProcessBuildBatch(). be used http://gerrit.cloudera.org:8080/#/c/3873/4/be/src/exec/partitioned-hash-join-node.cc File be/src/exec/partitioned-hash-join-node.cc: PS4, Line 523: join_op_ == TJoinOp::RIGHT_ANTI_JOIN || nit: long line http://gerrit.cloudera.org:8080/#/c/3873/4/be/src/exec/partitioned-hash-join-node.h File be/src/exec/partitioned-hash-join-node.h: PS4, Line 449: is_closed() nit: IsClosed() PS4, Line 459: transferred. ... and the partition is considered closed. http://gerrit.cloudera.org:8080/#/c/3873/4/be/src/runtime/buffered-tuple-stream.h File be/src/runtime/buffered-tuple-stream.h: PS4, Line 230: got_buffer 'got_buffer' Line 231: /// false if the block could not be pinned and no error was encountered. And it's unknown if error was encountered. In which case, an error status will be returned. -- To view, visit http://gerrit.cloudera.org:8080/3873 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I1e02ea9c7a7d1a0f373b11aa06c3237e1c7bd4cb Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Michael Ho <k...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-HasComments: Yes