Joe McDonnell created IMPALA-13179:
--------------------------------------

             Summary: Disable tuple caching when using non-deterministic 
functions
                 Key: IMPALA-13179
                 URL: https://issues.apache.org/jira/browse/IMPALA-13179
             Project: IMPALA
          Issue Type: Bug
          Components: Frontend
    Affects Versions: Impala 4.5.0
            Reporter: Joe McDonnell


Some functions are non-deterministic, so tuple caching needs to detect those 
functions and avoid caching at locations that are non-deterministic.

There are two different pieces:
 # Correctness: If the key is constant but the results can be variable, then 
that is a correctness issue. That can happen for genuinely random functions 
like uuid(). It can happen when timestamp functions like now() are evaluated at 
runtime.
 # Performance: The frontend does constant-folding of functions that don't vary 
during executions, so something like now() might be replaced by a hard-coded 
integer. This means that the key contains something that varies frequently. 
That can be a performance issue, because we can be caching things that cannot 
be reused. This doesn't have the same correctness issue.

This ticket is focused on correctness piece. If uuid()/now()/etc are referenced 
and would be evaluated at runtime, the location should be ineligible for tuple 
caching.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to