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

Reply via email to