Tim Armstrong has posted comments on this change. Change subject: IMPALA-4192: Disentangle Expr and ExprContext ......................................................................
Patch Set 7: (1 comment) http://gerrit.cloudera.org:8080/#/c/5483/7/be/src/exprs/scalar-expr-evaluator.h File be/src/exprs/scalar-expr-evaluator.h: Line 62: static Status Create(ObjectPool* pool, RuntimeState* state, MemPool* mem_pool, > There are places in which the evaluator will have shorter life span than th +1 putting things in the RuntimeState object pool with the wrong lifetime has been a source of some nasty bugs. We should be really careful not to just blindly move things to ObjectPools. Especially if things are re-created inside subplans, per-partition, etc. I can think of at least 3-4 different cases where we leaked a lot of memory as a result of this kind of mistake. It's hard to test for since you generally need a very long-running query. -- To view, visit http://gerrit.cloudera.org:8080/5483 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Iefdc9aeeba033355cb9497e3a5d2363627dcf2f3 Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Michael Ho <k...@cloudera.com> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Marcel Kornacker <mar...@cloudera.com> Gerrit-Reviewer: Michael Ho <k...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-HasComments: Yes