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