sankarh 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_r269098036
 
 

 ##########
 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) {
+            isTxn = false;
+          } else {
+            isTxn = true;
+          }
+        }
+        // TODO: Somehow we have to signal alterPartitions that it's part of 
replication and
+        //  should use replication's valid writeid list instead of creating 
one.
 
 Review comment:
   What do you mean by replication's valid writeid list in this comment? Even 
in repl flow, we get validWriteIdList from HMS based on incoming writeId in the 
event msg. Are you suggesting to cache this ValidWriteIdList somewhere and use 
it instead of invoking HMS 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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to