Todd Lipcon has posted comments on this change. Change subject: KUDU-1363: Add in-list predicates for extracting a set of equalities. ......................................................................
Patch Set 3: (1 comment) http://gerrit.cloudera.org:8080/#/c/2986/3/src/kudu/common/wire_protocol.cc File src/kudu/common/wire_protocol.cc: Line 505: vector<void*>* values = arena->NewObject<vector<void*>>(); > Hi Guys - I needed some help on fixing this final memory leak that was iden The issue here is that vector<> is not a "POD" data type - in other words, its destructor does non-trivial work (deallocating its underlying array). So, allocating it from an arena won't ensure that it gets cleaned up properly. I haven't reviewed this in enough detail yet to suggest another way, but in general arenas shouldn't be used for non-POD data. Something like an AutoreleasePool (or just normal ownership) is often a better bet. Or, maybe in this case, since we already know the length up front, a standard C-style pointer and length would be sufficient instead of a vector? -- To view, visit http://gerrit.cloudera.org:8080/2986 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I986cb13097f1cf4af2b752f58c4c38f412a6a598 Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Sameer Abhyankar <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Dan Burkert <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Sameer Abhyankar <[email protected]> Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-HasComments: Yes
