[
https://issues.apache.org/jira/browse/HIVE-24822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Krisztian Kasa reassigned HIVE-24822:
-------------------------------------
> Materialized View rebuild loses materializationTime property value
> ------------------------------------------------------------------
>
> Key: HIVE-24822
> URL: https://issues.apache.org/jira/browse/HIVE-24822
> Project: Hive
> Issue Type: Bug
> Reporter: Krisztian Kasa
> Assignee: Krisztian Kasa
> Priority: Major
>
> Materialized View rebuild like
> {code}
> alter materialized view mat1 rebuild;
> {code}
> updates the CreationMetadata of a org.apache.hadoop.hive.ql.metadata.Table
> object of the materialized view but it does not copy the materializationTime
> property value from the original CreationMetadata object and updates the
> entry in the MaterializedViewCache:
> {code}
> } else if (desc.isUpdateCreationMetadata()) {
> // We need to update the status of the creation signature
> Table mvTable = context.getDb().getTable(desc.getName());
> CreationMetadata cm = new
> CreationMetadata(MetaStoreUtils.getDefaultCatalog(context.getConf()),
> mvTable.getDbName(), mvTable.getTableName(),
>
> ImmutableSet.copyOf(mvTable.getCreationMetadata().getTablesUsed()));
>
> cm.setValidTxnList(context.getConf().get(ValidTxnWriteIdList.VALID_TABLES_WRITEIDS_KEY));
> context.getDb().updateCreationMetadata(mvTable.getDbName(),
> mvTable.getTableName(), cm);
> mvTable.setCreationMetadata(cm);
>
> HiveMaterializedViewsRegistry.get().createMaterializedView(context.getDb().getConf(),
> mvTable);
> }
> {code}
> Later when loading Materializetions using
> {code}
> Hive.getValidMaterializedViews(List<Table> materializedViewTables ...)
> {code}
> the materialization stored in the cache and in the metastore will be not the
> same because of the lost materializationTime.
> Cache tried to be refreshed
> {code}
> HiveMaterializedViewsRegistry.get().refreshMaterializedView(conf, null,
> materializedViewTable);
> {code}
> by passing null as oldMaterializedViewTable which leads to
> NullPointerException and CBO failure because the registry expect a non null
> oldMaterializedViewTable value:
> It may drops the old MV in Metastore and also tries to update the cache.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)