[ https://issues.apache.org/jira/browse/HIVE-26335?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
zhangdonglin updated HIVE-26335: -------------------------------- Affects Version/s: 2.3.6 (was: All Versions) > Metadata of Partition params dit not updated after calling Hive.loadPartition > ----------------------------------------------------------------------------- > > Key: HIVE-26335 > URL: https://issues.apache.org/jira/browse/HIVE-26335 > Project: Hive > Issue Type: Bug > Components: Hive > Affects Versions: 2.3.6 > Reporter: zhangdonglin > Priority: Major > > Hi, > I found that when partition A already exists, after calling > Hive.loadPartition to load data into partition A again, the metadata of > partition params in table PARTITION_PARAMS was not updated. even I set > hasFollowingStatsTask=false. > The reason is below, in the method of Hive.loadPartition, newTPart was set > to oldPart when old partition exists, when calling alter_partition, oldPart > info was send to metastore and it will not update partition params. > {code:java} > Partition newTPart = oldPart != null ? oldPart : new Partition(tbl, partSpec, > newPartPath); > ... > if (oldPart == null) { > // ... > } else { > setStatsPropAndAlterPartition(hasFollowingStatsTask, tbl, newTPart); > } > private void setStatsPropAndAlterPartition(boolean hasFollowingStatsTask, > Table tbl, > Partition newTPart) throws MetaException, TException { > EnvironmentContext environmentContext = null; > if (hasFollowingStatsTask) { > environmentContext = new EnvironmentContext(); > environmentContext.putToProperties(StatsSetupConst.DO_NOT_UPDATE_STATS, > StatsSetupConst.TRUE); > } > > LOG.debug("Altering existing partition " + newTPart.getSpec()); > getSychronizedMSC().alter_partition(tbl.getDbName(), tbl.getTableName(), > newTPart.getTPartition(), environmentContext); > }{code} > I think we should recompute the numFiles and totalSize of the new > partition before calling alter_partition in setStatsPropAndAlterPartition. -- This message was sent by Atlassian Jira (v8.20.7#820007)