GitHub user Ben-Zvi opened a pull request:
https://github.com/apache/drill/pull/765
Drill 5293: Change the seed of the hash function for distribution
The fix is to use a different _seed_ for the hash function in the cases the
hash is computed for distribution (i.e., when calling the method
`getHashExpression(List<DistributionField> fields, RelDataType rowType)` ).
The implementation -- added a third parameter _seed_ to createCall() (on
line 102 in HashPrelUtil.java), which makes it use the "with seed" versions of
the generated code functions (before that it was using the versions that had a
built-in seed of zero).
Then made all the calling places pass in a seed -- zero in the case of a
Hash Table , or a large fixed prime ( 1301011 ) for distribution.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/Ben-Zvi/drill DRILL-5293
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/drill/pull/765.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #765
----
commit 708884e5e13b57e59e284d1d18c6e139aa12fdd4
Author: Boaz Ben-Zvi <[email protected]>
Date: 2017-02-25T00:48:42Z
DRILL-5293: Change seed for distribution hash function to differ from that
of the hash table
commit d8fa17745983f05a0010485d7e7c75714f27a0b2
Author: Boaz Ben-Zvi <[email protected]>
Date: 2017-02-25T00:48:42Z
DRILL-5293: Change seed for distribution hash function to differ from that
of the hash table
commit 58313965e2294415744998f3281c3c5ad7c02fe8
Author: Boaz Ben-Zvi <[email protected]>
Date: 2017-02-28T00:58:51Z
Merge branch 'DRILL-5293' of https://github.com/ben-zvi/drill into
DRILL-5293
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---