[ 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)