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

Reply via email to