mirror of
https://github.com/apache/impala.git
synced 2025-12-30 12:02:10 -05:00
The error path in OptimizeLlvmModule() has not worked correctly for a long time because various places in the code assume that codegen'd function pointers will be filled in (e.g. ScalarFnCall) . Since the recent change "IMPALA-4397,IMPALA-3259: reduce codegen time and memory" it is more likely to go down this path. The cases when errors occur on this path: memory limit exceeded, internal codegen bugs, and corrupt IR UDFs, are all cases when it is not correct or safe to continue executing the query, so we should just fail the query. Testing: Add a test where codegen reliably fails with memory limit exceeded. Change-Id: Ib38d0a44b54c47617cad1b971244f477d344d505 Reviewed-on: http://gerrit.cloudera.org:8080/5211 Reviewed-by: Michael Ho <kwho@cloudera.com> Reviewed-by: Alex Behm <alex.behm@cloudera.com> Tested-by: Internal Jenkins
11 lines
138 B
Plaintext
11 lines
138 B
Plaintext
=====
|
|
---- QUERY
|
|
set mem_limit=100k;
|
|
select *
|
|
from alltypes
|
|
where substr(string_col, 1) = "";
|
|
---- CATCH
|
|
Codegen failed to reserve
|
|
=====
|
|
|