Hello Michael Ho, Thomas Tauber-Marshall, Csaba Ringhofer, Bikramjeet Vig,
Impala Public Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/14787
to look at the new patch set (#5).
Change subject: IMPALA-9126: part 3: move more logic to PhjBuilder
......................................................................
IMPALA-9126: part 3: move more logic to PhjBuilder
The general flavour of this patch is to move code
that orchestrates the top-level spilling hash join
algorithm to PhjBuilder, and better encapsulate
state in PhjBuilder by reducing the number of
public methods.
Specific changes include:
* Move HashJoinState to PhjBuilder, which is necessary
for the shared join build since the builder will
be orchestrating the spilling.
* Reduce public methods of PhjBuilder. The goal is
for the builder to hand off pointers to hash tables,
partitions, etc only during transitions of the
state machine (i.e. synchronization points when
we have a shared build).
* Highlight methods of PhjBuilder that will be
synchronization points for the shared join build
where hash tables are built and destroyed.
* Highlight other future changes to PhjBuilder.
* Move some of the output build partition logic
from NextSpilledProbeRowBatch() to the builder,
which required a few other changes - e.g. explicit
*eos output arguments for some functions.
This does *not* include a change to have the builder pick
the spilled partition to process. That will be a follow-on,
because it requires more refactoring of the relationship
between PhjBuilder::Partition and ProbePartition.
Testing:
* Earlier version of patch passed exhaustive tests.
TODO:
* Rerun exhaustive tests with latest changes.
Change-Id: I0e233468de1eeae86651ab96df207de19e091053
---
M be/src/exec/partitioned-hash-join-builder.cc
M be/src/exec/partitioned-hash-join-builder.h
M be/src/exec/partitioned-hash-join-node-ir.cc
M be/src/exec/partitioned-hash-join-node.cc
M be/src/exec/partitioned-hash-join-node.h
5 files changed, 548 insertions(+), 372 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/87/14787/5
--
To view, visit http://gerrit.cloudera.org:8080/14787
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0e233468de1eeae86651ab96df207de19e091053
Gerrit-Change-Number: 14787
Gerrit-PatchSet: 5
Gerrit-Owner: Tim Armstrong <[email protected]>
Gerrit-Reviewer: Bikramjeet Vig <[email protected]>
Gerrit-Reviewer: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Michael Ho <[email protected]>
Gerrit-Reviewer: Thomas Tauber-Marshall <[email protected]>