Dan Burkert has posted comments on this change. ( http://gerrit.cloudera.org:8080/11100 )
Change subject: Implement BloomFilter Predicate in server side. ...................................................................... Patch Set 5: (9 comments) http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate-test.cc File src/kudu/common/column_predicate-test.cc: http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate-test.cc@20 PS5, Line 20: #include <stdlib.h> cstdlib http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.h File src/kudu/common/column_predicate.h: http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.h@20 PS5, Line 20: #include <stddef.h> prefer <cstddef> and <cstdint>, and group with the other C++ headers. http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.h@190 PS5, Line 190: *d here and elsewhere, put the asterisk with the type (not the variable name). http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.h@262 PS5, Line 262: bool EvaluateCellForBloomFilter(DataType type, const void* cell) const; Can this be private? http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.h@298 PS5, Line 298: struct BloomFilterInner { Please add docs for this class, and especially explain what 'nhash' is. http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.cc File src/kudu/common/column_predicate.cc: http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.cc@905 PS5, Line 905: return (lower_ == other.lower_ || You could reduce the duplication with Range by wrapping this in a lambda. http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.cc@930 PS5, Line 930: return EvaluateCell(column_.type_info()->physical_type(), value); Given this definition, why is this method necessary instead of directly calling EvaluateCell? http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.cc@943 PS5, Line 943: case PredicateType::InBloomFilter: rank = 6; break; This should probably be ahead of IsNotNull. http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/common.proto File src/kudu/common/common.proto: http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/common.proto@352 PS5, Line 352: message BloomFilter { Could you extract out the HashAlgorithm message above, and add a field here for it as well? I think that's the conclusion we came to in https://gerrit.cloudera.org/c/11333/ -- To view, visit http://gerrit.cloudera.org:8080/11100 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I62c2de42667d0255d94e19db773240f7f9ee636c Gerrit-Change-Number: 11100 Gerrit-PatchSet: 5 Gerrit-Owner: ZhangYao <triplesheep0...@gmail.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Dan Burkert <danburk...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: ZhangYao <triplesheep0...@gmail.com> Gerrit-Comment-Date: Tue, 11 Sep 2018 23:27:39 +0000 Gerrit-HasComments: Yes