]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
Upgrade xxhash, add Hash128 (#8634)
authorPeter Dillinger <peterd@fb.com>
Sat, 21 Aug 2021 01:40:53 +0000 (18:40 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Sat, 21 Aug 2021 01:41:51 +0000 (18:41 -0700)
commit22161b7547652af82a5dc67458de9ca8946ac83d
treef5ab63c399260fa9fc994774647b2b11eee6c964
parent2a383f21f46fc11687a2fdd3e81616e93e980df4
Upgrade xxhash, add Hash128 (#8634)

Summary:
With expected use for a 128-bit hash, xxhash library is
upgraded to current dev (2c611a76f914828bed675f0f342d6c4199ffee1e)
as of Aug 6 so that we can use production version of XXH3_128bits
as new Hash128 function (added in hash128.h).

To make this work, however, we have to carve out the "preview" version
of XXH3 that is used in new SST Bloom and Ribbon filters, since that
will not get maintenance in xxhash releases. I have consolidated all the
relevant code into xxph3.h and made it "inline only" (no .cc file). The
working name for this hash function is changed from XXH3p to XXPH3
(XX Preview Hash) because the latter is easier to get working with no
symbol name conflicts between the headers.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8634

Test Plan:
no expected change in existing functionality. For Hash128,
added some unit tests based on those for Hash64 to ensure some basic
properties and that the values do not change accidentally.

Reviewed By: zhichao-cao

Differential Revision: D30173490

Pulled By: pdillinger

fbshipit-source-id: 06aa542a7a28b353bc2c865b9b2f8bdfe44158e4
table/block_based/filter_policy.cc
util/hash.cc
util/hash.h
util/hash128.h [new file with mode: 0644]
util/hash_test.cc
util/ribbon_impl.h
util/ribbon_test.cc
util/xxh3p.h [deleted file]
util/xxhash.cc
util/xxhash.h
util/xxph3.h [new file with mode: 0644]