Riza Suminto has posted comments on this change. ( http://gerrit.cloudera.org:8080/15511 )
Change subject: WIP IMPALA-9434: Implement Robin Hood Hash Table. ...................................................................... Patch Set 9: (1 comment) http://gerrit.cloudera.org:8080/#/c/15511/9/be/src/exec/hash-table.inline.h File be/src/exec/hash-table.inline.h: http://gerrit.cloudera.org:8080/#/c/15511/9/be/src/exec/hash-table.inline.h@92 PS9, Line 92: return bucket_idx > Agree that it becomes too much overloaded just to fit in robin-hood case. M In case of FindBuildRowBucket, it is quite tricky, because the caller of FindBuildRowBucket is the one who decide what to do next given the returned value "found". If found equals true, the caller might continue to call GetTuple or UpdateTuple. If found equals false, the caller might call SetTuple next, which essentially an insert operation. In linear/quadratic mode, the iterator should point to an empty bucket before SetTuple is called. But in robin-hood, I hack it such that it point to the non-empty bucket that should be evicted if SetTuple is called. I can see that this is where the contract of return value of Probe becomes inconsistent, depending of what is the probe algorithm being used. Maybe the cleanest way is to create separate Probe function, say ProbeRobinHood, and use it when robin-hood algorithm is used. The downside is we will have a little bit code duplication between the two probe functions. -- To view, visit http://gerrit.cloudera.org:8080/15511 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I28eeccd7f9ccae39e31972391f971901bcbfe986 Gerrit-Change-Number: 15511 Gerrit-PatchSet: 9 Gerrit-Owner: Riza Suminto <[email protected]> Gerrit-Reviewer: David Rorke <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Riza Suminto <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-Comment-Date: Thu, 02 Apr 2020 04:13:49 +0000 Gerrit-HasComments: Yes
