Zoltan Borok-Nagy has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17374 )

Change subject: IMPALA-10691: Fix crash in CAST FORMAT with MT_DOP>1
......................................................................


Patch Set 1:

(2 comments)

Thanks for fixing this so quickly!

http://gerrit.cloudera.org:8080/#/c/17374/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/17374/1//COMMIT_MSG@12
PS1, Line 12: This can only happen
            : with MT_DOP>1
This also fixes the following query with MT_DOP=0:

select count(*) from alltypes a1, alltypes a2 where 
cast(cast(a1.date_string_col as date format 'MM/dd/yy') as string format 
'yyyyMMdd') = cast(cast(a2.date_string_col as date format 'MM/dd/yy') as string 
format 'yyyyMMdd');

Probably because the BUILD side of the join also calls OpenEvaluator() in a 
different thread.


http://gerrit.cloudera.org:8080/#/c/17374/1/be/src/exprs/cast-format-expr.cc
File be/src/exprs/cast-format-expr.cc:

http://gerrit.cloudera.org:8080/#/c/17374/1/be/src/exprs/cast-format-expr.cc@46
PS1, Line 46:     return Status(TErrorCode::INTERNAL_ERROR, 
fn_ctx->error_msg());
We can get a memory leak here.

I think you can still use make_unique() at L37, then call unique_ptr::release() 
at L49:

 fn_ctx->SetFunctionState(scope, dt_ctx.release());



--
To view, visit http://gerrit.cloudera.org:8080/17374
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I501c8a184591b1c836b2ca4cada1f2117f9f5c99
Gerrit-Change-Number: 17374
Gerrit-PatchSet: 1
Gerrit-Owner: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]>
Gerrit-Comment-Date: Fri, 30 Apr 2021 14:24:24 +0000
Gerrit-HasComments: Yes

Reply via email to