[
https://issues.apache.org/jira/browse/IMPALA-13179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joe McDonnell resolved IMPALA-13179.
------------------------------------
Fix Version/s: Impala 4.5.0
Resolution: Fixed
> 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
> Assignee: Joe McDonnell
> Priority: Major
> Fix For: Impala 4.5.0
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]