ZhangYao has posted comments on this change. ( http://gerrit.cloudera.org:8080/11100 )
Change subject: Implement BloomFilter Predicate in server side. ...................................................................... Patch Set 6: (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 <cstdlib> > cstdlib Done 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 <cstddef> > prefer <cstddef> and <cstdint>, and group with the other C++ headers. Done http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.h@190 PS5, Line 190: > here and elsewhere, put the asterisk with the type (not the variable name). Done http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.h@262 PS5, Line 262: const std::vector<BloomFilterInner>& bloom_filters() const { > Can this be private? Done http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.h@298 PS5, Line 298: } > Please add docs for this class, and especially explain what 'nhash' is. Done 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: auto bound_equal = [&] (const void* eleml, const void* elemr) { > You could reduce the duplication with Range by wrapping this in a lambda. A lambda seems clearly. Done. http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.cc@930 PS5, Line 930: } > Given this definition, why is this method necessary instead of directly cal This method is a wrap of EvaluateCell for bloom filter check. You can directly call EvaluateCell but I think it's easier to understand by using a function named clearly. http://gerrit.cloudera.org:8080/#/c/11100/5/src/kudu/common/column_predicate.cc@943 PS5, Line 943: default: LOG(FATAL) << "unknown predicate type"; > This should probably be ahead of IsNotNull. Done 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: // A predicate that can be applied on a Kudu column. > Could you extract out the HashAlgorithm message above, and add a field here Got it. Done -- 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: 6 Gerrit-Owner: ZhangYao <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Dan Burkert <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-Reviewer: ZhangYao <[email protected]> Gerrit-Comment-Date: Wed, 19 Sep 2018 09:14:04 +0000 Gerrit-HasComments: Yes
