ashutosh-bapat commented on a change in pull request #579: HIVE-21109 : Support 
stats replication for ACID tables.
URL: https://github.com/apache/hive/pull/579#discussion_r269523732
 
 

 ##########
 File path: ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
 ##########
 @@ -2689,7 +2689,19 @@ private int alterTable(Hive db, AlterTableDesc 
alterTbl) throws HiveException {
       } else {
         // Note: this is necessary for UPDATE_STATISTICS command, that 
operates via ADDPROPS (why?).
         //       For any other updates, we don't want to do txn check on 
partitions when altering table.
-        boolean isTxn = alterTbl.getPartSpec() != null && alterTbl.getOp() == 
AlterTableTypes.ADDPROPS;
+        boolean isTxn = false;
+        if (alterTbl.getPartSpec() != null && alterTbl.getOp() == 
AlterTableTypes.ADDPROPS) {
+          // ADDPROPS is used to add repl.last.id during replication. That's 
not a transactional
+          // change.
+          Map<String, String> props = alterTbl.getProps();
+          if (props.size() <= 1 && 
props.get(ReplicationSpec.KEY.CURR_STATE_ID.toString()) != null) {
 
 Review comment:
   The comment 
   
           // Note: this is necessary for UPDATE_STATISTICS command, that 
operates via ADDPROPS (why?).
           //       For any other updates, we don't want to do txn check on 
partitions when altering table.
   
   itself looks wrong. I do not see any ADDPROPS usage which is updating 
statistics properties. All those seem to come through AddPartition and not 
alterTable for partitioned table. So, may be we can safely mark this as 
non-transactional always. Does that look right?

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to