Andrew Wong has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/14745 )
Change subject: [util] Import Impala's block based BloomFilter ...................................................................... [util] Import Impala's block based BloomFilter This change imports Impala's block based BloomFilter(BF) that uses tiny BloomFilters that are space, cache and hash efficient. Plan is to use this BloomFilter for pushing down predicates from Impala. Added this BloomFilter in kudu-util and renamed to BlockBloomFilter to avoid name collision with existing BloomFilter in Kudu. Removed dependencies on auto-generated code like Thrift/Protobuf, Impala specific utilities like BufferPool, CPUInfo. Added a simple BlockBloomFilterBufferAllocatorIf interface to allow integration with Impala that uses its own BufferPool. Added a DefaultBlockBloomFilterBufferAllocator implementation derived from earlier version in Impala. AVX2 operations are used which leads to following scenarios: 1) Compiler lacks AVX2 support. Code is conditionally compiled using USE_AVX2 macro. 2) Compiler supports AVX2 but CPU at runtime does not. Function pointers used to dispatch to generic implementation. 3) Compiler supports AVX2 and CPU at runtime does too. Function pointers used to dispatch to AVX2 specific implementation. Made bunch of cosmetic changes to adhere to coding style. Change-Id: I89c54a051c5093cf5fb81481a47a0a6677d7d906 Reviewed-on: http://gerrit.cloudera.org:8080/14745 Tested-by: Kudu Jenkins Reviewed-by: Alexey Serbin <[email protected]> Reviewed-by: Andrew Wong <[email protected]> --- M src/kudu/util/CMakeLists.txt A src/kudu/util/block_bloom_filter-test.cc A src/kudu/util/block_bloom_filter.cc A src/kudu/util/block_bloom_filter.h A src/kudu/util/block_bloom_filter_avx2.cc M src/kudu/util/bloom_filter.h 6 files changed, 777 insertions(+), 0 deletions(-) Approvals: Kudu Jenkins: Verified Alexey Serbin: Looks good to me, but someone else must approve Andrew Wong: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/14745 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I89c54a051c5093cf5fb81481a47a0a6677d7d906 Gerrit-Change-Number: 14745 Gerrit-PatchSet: 13 Gerrit-Owner: Bankim Bhavsar <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Bankim Bhavsar <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Thomas Tauber-Marshall <[email protected]> Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-Reviewer: helifu <[email protected]>
