vikramahuja1001 commented on code in PR #5814:
URL: https://github.com/apache/hive/pull/5814#discussion_r2094503634


##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java:
##########
@@ -409,23 +409,39 @@ public List<Void> run(List<Partition> input) throws 
Exception {
           if (runPartitionMetadataUpdate) {
             if (cascade || retainOnColRemoval) {
               parts = msdb.getPartitions(catName, dbname, name, -1);
-              for (Partition part : parts) {
-                Partition oldPart = new Partition(part);
-                List<FieldSchema> oldCols = part.getSd().getCols();
-                part.getSd().setCols(newt.getSd().getCols());
-                List<ColumnStatistics> colStats = 
updateOrGetPartitionColumnStats(msdb, catName, dbname, name,
-                    part.getValues(), oldCols, oldt, part, null, null);
-                assert (colStats.isEmpty());
-                Deadline.checkTimeout();
-                if (cascade) {
-                  msdb.alterPartition(
-                    catName, dbname, name, part.getValues(), part, 
writeIdList);
-                } else {
+              String catalogName = catName;
+              String databaseName = dbname;
+              String tableName = name;
+              Table finalOldt = oldt;
+              int partitionBatchSize = 
MetastoreConf.getIntVar(handler.getConf(),
+                      MetastoreConf.ConfVars.BATCH_RETRIEVE_MAX);
+              Batchable.runBatched(partitionBatchSize, parts, new 
Batchable<Partition, Void>() {

Review Comment:
   The previously used msdb.alterPartition was only using JDO. The newly added 
msdb.alterPartitions API is based on DirectSql.
   
   So this PR is introducing Batching and also using direct sql based 
msdb.alterPartitions API.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to