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:
[email protected]
With regards,
Apache Git Services