Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/15450 )
Change subject: [util] Minor changes in BlockBloomFilter requested by Impala ...................................................................... Patch Set 1: (2 comments) http://gerrit.cloudera.org:8080/#/c/15450/1//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/15450/1//COMMIT_MSG@15 PS1, Line 15: This change forced using static function pointers that are initialized : only once on construction of the very first BlockBloomFilter in ctor. Is that safe enough though? If you call OrEqualArray() without ever instantiating a BlockBloomFilter, won't that be a problem? Seems like you might need a solution like in unwind_safeness.cc (using a library constructor to initialize global state), or nvm_cache.cc (using a globally-defined std::once_flag to initialize global state). The latter is probably safer; I think std::once_flag is POD since it has a trivial constructor and all of its members are value types. http://gerrit.cloudera.org:8080/#/c/15450/1/src/kudu/util/hash_util.h File src/kudu/util/hash_util.h: http://gerrit.cloudera.org:8080/#/c/15450/1/src/kudu/util/hash_util.h@139 PS1, Line 139: CHECK(false) << If logging.h isn't included, where does CHECK come from? -- To view, visit http://gerrit.cloudera.org:8080/15450 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5944f80f4c071ce787eded3f5b41d3bc56560cd0 Gerrit-Change-Number: 15450 Gerrit-PatchSet: 1 Gerrit-Owner: Bankim Bhavsar <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Bankim Bhavsar <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Thomas Tauber-Marshall <[email protected]> Gerrit-Reviewer: Wenzhe Zhou <[email protected]> Gerrit-Comment-Date: Mon, 16 Mar 2020 18:22:07 +0000 Gerrit-HasComments: Yes
