Tim Armstrong has posted comments on this change. Change subject: IMPALA-3567 Part 2, IMPALA-3899: factor out PHJ builder ......................................................................
Patch Set 5: (17 comments) Thanks for looking over the changes. I know it's a big patchset. Let me know if I can make it easier in any way. 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: ream->SwitchToIoBuffers(&got_b > Not your change but I always find the inconsistency between returning bool I think it would make sense to change AddRow() to return a status, but it's used in a lot of places so that seems like a big change. This code got a bit simpler after I changed it to return status. PS4, Line 325: alisation time, > 'total_build_rows' Done 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: interfa > interface ? Done. Also updated nested-loop-join-builder.h to match. PS4, Line 152: partition c > I suppose this is the build-side counterpart of ProbePartition, right ? Can Done. PS4, Line 163: and the size > in-memory data structures Done PS4, Line 163: joi > byte size Done PS4, Line 175: ); > the Done PS4, Line 180: > Why cannot this be the same as ProbePartition::IsClosed() and use { return Looks like a valid simplification. Missed this simplification during refactoring. Line 213: Cleaned up this comment that I carried over from the old code. PS4, Line 290: par > the Done PS4, Line 291: ry for probe buffers for spill > Is this still true ? I believe we have added noexcept to the Status class a IMPALA-1948 is still open - was it fixed by some of your work? I got rid of this by changing AppendRow() to return a status only (there wasn't a situation where it returned false with no error status). Line 294: BufferedBlockMgr::Client* block_mgr_client_; > be used Done 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: uter joins, flush the remaining > nit: long line Done. Realised I can just use NeedToProcessUnmatchedBuildRows() here and a couple of other places instead of listing the join modes. 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: IsClosed() > nit: IsClosed() Done PS4, Line 459: transferred > ... and the partition is considered closed. Done 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_buffe > 'got_buffer' Done Line 231: /// false if the block could not be pinned and no error was encountered. Not > And it's unknown if error was encountered. In which case, an error status w Done -- 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: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim Armstrong <[email protected]> Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-HasComments: Yes
