[
https://issues.apache.org/jira/browse/HIVE-19027?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jesus Camacho Rodriguez updated HIVE-19027:
-------------------------------------------
Description:
The main points:
- Only MVs that use transactional tables and are stored in transactional
tables can have a time window value of 0. Those are the only MVs that can be
guaranteed to not be outdated when a query is executed.
- For MVs that +cannot be outdated+, comparison is based on valid write id
lists.
- For MVs that +can be outdated+:
** The window for valid outdated MVs can be specified in intervals of 1 minute.
** A materialized view is outdated if it was built before that time window and
any source table has been modified since.
A time window of -1 means to always use the materialized view for rewriting
without any checks concerning its validity.
was:
The main points:
- Only MVs stored in transactional tables can have a time window value of 0.
Those are the only MVs that can be guaranteed to not be outdated when a query
is executed, if we use custom storage handlers to store the materialized view,
we cannot make any promises.
- For MVs that +cannot be outdated+, we do not check the metastore. Instead,
comparison is based on valid write id lists.
- For MVs that +can be outdated+, we still rely on the invalidation cache.
** The window for valid outdated MVs can be specified in intervals of 1 minute
(less than that, it is difficult to have any guarantees about whether the MV is
actually outdated by less than a minute or not).
** The async loading is done every interval / 2 (or probably better, we can
make it configurable).
> Make materializations invalidation cache work with multiple active remote
> metastores
> ------------------------------------------------------------------------------------
>
> Key: HIVE-19027
> URL: https://issues.apache.org/jira/browse/HIVE-19027
> Project: Hive
> Issue Type: Improvement
> Components: Materialized views
> Affects Versions: 3.0.0
> Reporter: Jesus Camacho Rodriguez
> Assignee: Jesus Camacho Rodriguez
> Priority: Critical
> Fix For: 3.1.0
>
> Attachments: HIVE-19027.01.patch, HIVE-19027.02.patch,
> HIVE-19027.03.patch, HIVE-19027.04.patch
>
>
> The main points:
> - Only MVs that use transactional tables and are stored in transactional
> tables can have a time window value of 0. Those are the only MVs that can be
> guaranteed to not be outdated when a query is executed.
> - For MVs that +cannot be outdated+, comparison is based on valid write id
> lists.
> - For MVs that +can be outdated+:
> ** The window for valid outdated MVs can be specified in intervals of 1
> minute.
> ** A materialized view is outdated if it was built before that time window
> and any source table has been modified since.
> A time window of -1 means to always use the materialized view for rewriting
> without any checks concerning its validity.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)