GitHub user chunhui-shi opened a pull request:
https://github.com/apache/drill/pull/485
DRILL-4237: Implement murmur3 for HashHelper
Unit Test was removed from this commit. Test codes and the the test vector
generator program will be included in functional tests in a separate checkin.
While implementing hash function instead of inventing a hash function, one
thing need to emphasize is, in these well tested and widely accepted
algorithms, all parameters and steps to shuffle are carefully designed and
tested by the inventors and the community(e.g. smhasher). It is not just
generating 'random' result from 'random' input. So each implementations of the
algorithm should prove their complete correctness by testing with the same
standard as I am doing here: cover all code paths(in murmurhash and xxhash
cases, it is all possible input lengths that may go through different code
paths, and sign/unsign cases).
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/chunhui-shi/drill hash
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/drill/pull/485.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 #485
----
commit 0eb01aab364137058d8ec5e62d7aa53278d0f842
Author: chunhui-shi <[email protected]>
Date: 2016-03-15T17:36:54Z
DRILL-4237 DRILL-4478 fully implement hash to use murmur3 and correspondent
unit tests
Change hash to direct call. Address other code style comment.
Clean up tests. Add or correct comments.
Move correctness test routines out of this commit
DRILL-4237 DRILL-4478 fully implement hash to use murmur3 and correspondent
unit tests
Change hash to direct call. Address other code style comment.
Clean up tests. Add or correct comments.
Move correctness test routines out of this commit
----
---
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.
---