Dan Burkert has posted comments on this change. Change subject: Fix encoding-test on OS X ......................................................................
Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/3640/1/src/kudu/cfile/encoding-test.cc File src/kudu/cfile/encoding-test.cc: Line 80: string *val = new string(StringPrintf(fmt_str, i)); This is leaking the string since it's never deallocated. I think the fix here is to have change to_insert to be a 'vector<unique_ptr<string>>' like this: diff --git a/src/kudu/cfile/encoding-test.cc b/src/kudu/cfile/encoding-test.cc index 0e6a6d9..40d61a2 100644 --- a/src/kudu/cfile/encoding-test.cc +++ b/src/kudu/cfile/encoding-test.cc @@ -18,6 +18,7 @@ #include <glog/logging.h> #include <gtest/gtest.h> #include <limits> +#include <memory> #include <stdlib.h> #include <vector> @@ -39,6 +40,7 @@ #include "kudu/util/test_macros.h" #include "kudu/util/stopwatch.h" +using std::unique_ptr; using std::vector; namespace kudu { namespace cfile { @@ -73,15 +75,14 @@ class TestEncoding : public ::testing::Test { static Slice CreateBinaryBlock(BuilderType *sbb, int num_items, const char *fmt_str) { - vector<string> to_insert; + vector<unique_ptr<string>> to_insert; std::vector<Slice> slices; for (uint i = 0; i < num_items; i++) { - to_insert.emplace_back(StringPrintf(fmt_str, i)); - slices.push_back(Slice(to_insert.back())); + to_insert.emplace_back(new string(StringPrintf(fmt_str, i))); + slices.push_back(Slice(to_insert.back()->data())); } - int rem = slices.size(); Slice *ptr = &slices[0]; while (rem > 0) { -- To view, visit http://gerrit.cloudera.org:8080/3640 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ie221906ee3960fa158843c2ae2dd7a531e74c5c4 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Will Berkeley <wdberke...@gmail.com> Gerrit-Reviewer: Dan Burkert <d...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: Yes