You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by dk...@apache.org on 2022/03/23 08:07:47 UTC
[hive] branch master updated: HIVE-26051: Non blocking ALTER MATERIALIZED VIEW REWRITE (Denys Kuzmenko, reviewed by Krisztian Kasa)
This is an automated email from the ASF dual-hosted git repository.
dkuzmenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 7dc821d HIVE-26051: Non blocking ALTER MATERIALIZED VIEW REWRITE (Denys Kuzmenko, reviewed by Krisztian Kasa)
7dc821d is described below
commit 7dc821dfad7718630d90a2afe9c08b3eb7d15c7a
Author: Denys Kuzmenko <dk...@cloudera.com>
AuthorDate: Wed Mar 23 09:07:31 2022 +0100
HIVE-26051: Non blocking ALTER MATERIALIZED VIEW REWRITE (Denys Kuzmenko, reviewed by Krisztian Kasa)
Closes #3109
---
.../alter/rewrite/AlterMaterializedViewRewriteAnalyzer.java | 3 ++-
ql/src/java/org/apache/hadoop/hive/ql/hooks/WriteEntity.java | 2 +-
ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/view/materialized/alter/rewrite/AlterMaterializedViewRewriteAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/view/materialized/alter/rewrite/AlterMaterializedViewRewriteAnalyzer.java
index 6e479df..0dd0c4f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/view/materialized/alter/rewrite/AlterMaterializedViewRewriteAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/view/materialized/alter/rewrite/AlterMaterializedViewRewriteAnalyzer.java
@@ -85,7 +85,8 @@ public class AlterMaterializedViewRewriteAnalyzer extends BaseSemanticAnalyzer {
}
inputs.add(new ReadEntity(materializedViewTable));
- outputs.add(new WriteEntity(materializedViewTable, WriteEntity.WriteType.DDL_EXCLUSIVE));
+ outputs.add(new WriteEntity(materializedViewTable, AcidUtils.isLocklessReadsSupported(materializedViewTable, conf) ?
+ WriteEntity.WriteType.DDL_EXCL_WRITE : WriteEntity.WriteType.DDL_EXCLUSIVE));
// Create task for alterMVRewriteDesc
DDLWork work = new DDLWork(getInputs(), getOutputs(), desc);
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/hooks/WriteEntity.java b/ql/src/java/org/apache/hadoop/hive/ql/hooks/WriteEntity.java
index 21ae79a..0ea01fc 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/hooks/WriteEntity.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/hooks/WriteEntity.java
@@ -205,7 +205,7 @@ public class WriteEntity extends Entity implements Serializable {
* @param op Operation type from the alter table description
* @return the write type this should use.
*/
- public static WriteType determineAlterTableWriteType(AlterTableType op, Table table, Configuration conf) {
+ public static WriteType determineAlterTableWriteType(AlterTableType op, Table table, HiveConf conf) {
switch (op) {
case RENAME_COLUMN:
case CLUSTERED_BY:
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
index ebf2d79..4d755cb 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
@@ -409,7 +409,7 @@ public class AcidUtils {
+ String.format(DELTA_DIGITS, visibilityTxnId);
}
- public static boolean isLocklessReadsSupported(Table table, Configuration conf) {
+ public static boolean isLocklessReadsSupported(Table table, HiveConf conf) {
return HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_ACID_LOCKLESS_READS_ENABLED)
&& AcidUtils.isTransactionalTable(table);
}