> On May 16, 2016, 8:38 p.m., Ashutosh Chauhan wrote: > > metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java, > > lines 698-699 > > <https://reviews.apache.org/r/47353/diff/1/?file=1382994#file1382994line698> > > > > I am referring to deleteTableColumnStatistics() here and subsequent > > updateColumnStatistics() in the following if () block. Both of these are > > independent calls which happens in their own transactions, which leaves a > > small window of inconsistent state.
Actually all of those calls will be in one transaction. The openTransaction() and commitTrasanction() in ObjectStore.java use openTrasactionCalls to manage trsanction. We will not open a new transaction if the call is already in a transaction. Not sure if I misunderstood anything. See below: public boolean openTransaction() { openTrasactionCalls++; if (openTrasactionCalls == 1) { currentTransaction = pm.currentTransaction(); currentTransaction.begin(); transactionStatus = TXN_STATUS.OPEN; } else { // openTransactionCalls > 1 means this is an interior transaction // We should already have a transaction created that is active. - Aihua ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/47353/#review133433 ----------------------------------------------------------- On May 13, 2016, 7:17 p.m., Aihua Xu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/47353/ > ----------------------------------------------------------- > > (Updated May 13, 2016, 7:17 p.m.) > > > Review request for hive and Chaoyu Tang. > > > Repository: hive-git > > > Description > ------- > > HIVE-13616: Investigate renaming a table without invalidating the column stats > > > Diffs > ----- > > metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java > 0652b9db1a4224262611ff9258e871647442cfeb > ql/src/test/queries/clientpositive/rename_table_update_column_stats.q > PRE-CREATION > ql/src/test/results/clientpositive/rename_table_update_column_stats.q.out > PRE-CREATION > > Diff: https://reviews.apache.org/r/47353/diff/ > > > Testing > ------- > > Tests have been run and the failed tests don't seem to be related. > > To carry over the column stats during renaming the table, the patch > 1. Save affected column stats > 2. Rename the table > 3. Write the saved column stats for the new table. > > In this order, column stats will find the foreign key when writing in 3). > > > Thanks, > > Aihua Xu > >