You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by mm...@apache.org on 2016/04/27 01:16:48 UTC

hive git commit: HIVE-12799: Always use Schema Evolution for ACID (Matt McCline, reviewed by Sergey Shelukhin)

Repository: hive
Updated Branches:
  refs/heads/branch-2.0 24fb45df7 -> 8b3e7aa51


    HIVE-12799: Always use Schema Evolution for ACID (Matt McCline, reviewed by Sergey Shelukhin)

    Since port was done out of order, some manual porting was necessary.


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/8b3e7aa5
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/8b3e7aa5
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/8b3e7aa5

Branch: refs/heads/branch-2.0
Commit: 8b3e7aa517479423a1587a848efacf6268065afa
Parents: 24fb45d
Author: Matt McCline <mm...@hortonworks.com>
Authored: Tue Apr 26 16:16:25 2016 -0700
Committer: Matt McCline <mm...@hortonworks.com>
Committed: Tue Apr 26 16:16:25 2016 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hive/conf/HiveConf.java   |  2 +-
 .../org/apache/hadoop/hive/ql/exec/DDLTask.java | 31 ++++++---
 .../hadoop/hive/ql/exec/FetchOperator.java      |  3 +-
 .../apache/hadoop/hive/ql/exec/MapOperator.java |  7 +-
 .../apache/hadoop/hive/ql/exec/Utilities.java   |  4 ++
 .../hadoop/hive/ql/io/orc/OrcInputFormat.java   |  3 +
 .../clientnegative/orc_change_fileformat.q      |  1 +
 .../clientnegative/orc_change_fileformat_acid.q |  3 +
 .../queries/clientnegative/orc_change_serde.q   |  1 +
 .../clientnegative/orc_change_serde_acid.q      |  3 +
 .../clientnegative/orc_reorder_columns1.q       |  1 +
 .../clientnegative/orc_reorder_columns1_acid.q  |  3 +
 .../clientnegative/orc_reorder_columns2.q       |  1 +
 .../clientnegative/orc_reorder_columns2_acid.q  |  3 +
 .../clientnegative/orc_replace_columns1.q       |  1 +
 .../clientnegative/orc_replace_columns1_acid.q  |  3 +
 .../clientnegative/orc_replace_columns2.q       |  1 +
 .../clientnegative/orc_replace_columns2_acid.q  |  3 +
 .../clientnegative/orc_replace_columns3.q       |  1 +
 .../clientnegative/orc_replace_columns3_acid.q  |  4 ++
 .../clientnegative/orc_type_promotion1.q        |  1 +
 .../clientnegative/orc_type_promotion1_acid.q   |  3 +
 .../clientnegative/orc_type_promotion2.q        |  1 +
 .../clientnegative/orc_type_promotion2_acid.q   | 10 +++
 .../clientnegative/orc_type_promotion3.q        |  1 +
 .../clientnegative/orc_type_promotion3_acid.q   |  3 +
 .../schema_evol_orc_acid_mapwork_part.q         |  3 +-
 .../schema_evol_orc_acid_mapwork_table.q        |  3 +-
 .../schema_evol_orc_acidvec_mapwork_part.q      |  3 +-
 .../schema_evol_orc_acidvec_mapwork_table.q     |  3 +-
 .../schema_evol_orc_nonvec_fetchwork_part.q     |  1 +
 .../schema_evol_orc_nonvec_fetchwork_table.q    |  1 +
 .../schema_evol_orc_nonvec_mapwork_part.q       |  1 +
 .../schema_evol_orc_vec_mapwork_part.q          |  1 +
 .../schema_evol_text_fetchwork_table.q          |  2 +-
 .../schema_evol_text_mapwork_table.q            |  2 +-
 .../schema_evol_text_nonvec_fetchwork_part.q    |  1 +
 .../schema_evol_text_nonvec_fetchwork_table.q   |  1 +
 .../schema_evol_text_nonvec_mapwork_part.q      |  1 +
 .../schema_evol_text_nonvec_mapwork_table.q     |  1 +
 .../orc_change_fileformat_acid.q.out            | 13 ++++
 .../clientnegative/orc_change_serde_acid.q.out  | 13 ++++
 .../orc_reorder_columns1_acid.q.out             | 13 ++++
 .../orc_reorder_columns2_acid.q.out             | 13 ++++
 .../orc_replace_columns1_acid.q.out             | 13 ++++
 .../orc_replace_columns2_acid.q.out             | 13 ++++
 .../orc_replace_columns3_acid.q.out             | 21 ++++++
 .../orc_type_promotion1_acid.q.out              | 13 ++++
 .../orc_type_promotion2_acid.q.out              | 69 ++++++++++++++++++++
 .../orc_type_promotion3_acid.q.out              | 13 ++++
 .../schema_evol_orc_acid_mapwork_part.q.out     |  2 +
 .../schema_evol_orc_acid_mapwork_table.q.out    |  2 +
 .../schema_evol_orc_acidvec_mapwork_part.q.out  |  2 +
 .../schema_evol_orc_acidvec_mapwork_table.q.out |  2 +
 .../tez/schema_evol_orc_acid_mapwork_part.q.out |  2 +
 .../schema_evol_orc_acid_mapwork_table.q.out    |  2 +
 .../schema_evol_orc_acidvec_mapwork_part.q.out  |  2 +
 .../schema_evol_orc_acidvec_mapwork_table.q.out |  2 +
 58 files changed, 314 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index 8be3cd6..ed3f539 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -968,7 +968,7 @@ public class HiveConf extends Configuration {
         "than this threshold, it will try to convert the common join into map join"),
 
 
-    HIVE_SCHEMA_EVOLUTION("hive.exec.schema.evolution", true,
+    HIVE_SCHEMA_EVOLUTION("hive.exec.schema.evolution", false,
         "Use schema evolution to convert self-describing file format's data to the schema desired by the reader."),
 
     HIVE_TRANSACTIONAL_TABLE_SCAN("hive.transactional.table.scan", false,

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
index 3d24464..514249a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
@@ -73,6 +73,7 @@ import org.apache.hadoop.hive.ql.exec.ArchiveUtils.PartSpecInfo;
 import org.apache.hadoop.hive.ql.exec.tez.TezTask;
 import org.apache.hadoop.hive.ql.hooks.ReadEntity;
 import org.apache.hadoop.hive.ql.hooks.WriteEntity;
+import org.apache.hadoop.hive.ql.io.AcidUtils;
 import org.apache.hadoop.hive.ql.io.RCFileInputFormat;
 import org.apache.hadoop.hive.ql.io.merge.MergeFileTask;
 import org.apache.hadoop.hive.ql.io.merge.MergeFileWork;
@@ -3243,6 +3244,14 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
     return 0;
   }
 
+  private boolean isSchemaEvolutionEnabled(Table tbl) {
+    boolean isAcid = AcidUtils.isTablePropertyTransactional(tbl.getMetadata());
+    if (isAcid || HiveConf.getBoolVar(conf, ConfVars.HIVE_SCHEMA_EVOLUTION)) {
+      return true;
+    }
+    return false;
+  }
+
   private int alterTableOrSinglePartition(AlterTableDesc alterTbl, Table tbl, Partition part)
       throws HiveException {
 
@@ -3291,8 +3300,10 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
       boolean first = alterTbl.getFirst();
       String afterCol = alterTbl.getAfterCol();
       // if orc table, restrict reordering columns as it will break schema evolution
-      boolean isOrc = sd.getInputFormat().equals(OrcInputFormat.class.getName());
-      if (isOrc && (first || (afterCol != null && !afterCol.trim().isEmpty()))) {
+      boolean isOrcSchemaEvolution =
+          sd.getInputFormat().equals(OrcInputFormat.class.getName()) &&
+          isSchemaEvolutionEnabled(tbl);
+      if (isOrcSchemaEvolution && (first || (afterCol != null && !afterCol.trim().isEmpty()))) {
         throw new HiveException(ErrorMsg.CANNOT_REORDER_COLUMNS, alterTbl.getOldName());
       }
       FieldSchema column = null;
@@ -3313,7 +3324,7 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
         } else if (oldColName.equalsIgnoreCase(oldName)) {
           // if orc table, restrict changing column types. Only integer type promotion is supported.
           // smallint -> int -> bigint
-          if (isOrc && !isSupportedTypeChange(col.getType(), type)) {
+          if (isOrcSchemaEvolution && !isSupportedTypeChange(col.getType(), type)) {
             throw new HiveException(ErrorMsg.CANNOT_CHANGE_COLUMN_TYPE, col.getType(), type,
                 newName);
           }
@@ -3372,9 +3383,11 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
           && !serializationLib.equals(OrcSerde.class.getName())) {
         throw new HiveException(ErrorMsg.CANNOT_REPLACE_COLUMNS, alterTbl.getOldName());
       }
-      final boolean isOrc = serializationLib.equals(OrcSerde.class.getName());
-      // adding columns and limited integer type promotion is supported for ORC
-      if (isOrc) {
+      final boolean isOrcSchemaEvolution =
+          serializationLib.equals(OrcSerde.class.getName()) &&
+          isSchemaEvolutionEnabled(tbl);
+      // adding columns and limited integer type promotion is supported for ORC schema evolution
+      if (isOrcSchemaEvolution) {
         final List<FieldSchema> existingCols = sd.getCols();
         final List<FieldSchema> replaceCols = alterTbl.getNewCols();
 
@@ -3407,7 +3420,8 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
       String serdeName = alterTbl.getSerdeName();
       String oldSerdeName = sd.getSerdeInfo().getSerializationLib();
       // if orc table, restrict changing the serde as it can break schema evolution
-      if (oldSerdeName.equalsIgnoreCase(OrcSerde.class.getName()) &&
+      if (isSchemaEvolutionEnabled(tbl) &&
+          oldSerdeName.equalsIgnoreCase(OrcSerde.class.getName()) &&
           !serdeName.equalsIgnoreCase(OrcSerde.class.getName())) {
         throw new HiveException(ErrorMsg.CANNOT_CHANGE_SERDE, OrcSerde.class.getSimpleName(),
             alterTbl.getOldName());
@@ -3437,7 +3451,8 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
     } else if (alterTbl.getOp() == AlterTableDesc.AlterTableTypes.ADDFILEFORMAT) {
       StorageDescriptor sd = (part == null ? tbl.getTTable().getSd() : part.getTPartition().getSd());
       // if orc table, restrict changing the file format as it can break schema evolution
-      if (sd.getInputFormat().equals(OrcInputFormat.class.getName())
+      if (isSchemaEvolutionEnabled(tbl) &&
+          sd.getInputFormat().equals(OrcInputFormat.class.getName())
           && !alterTbl.getInputFormat().equals(OrcInputFormat.class.getName())) {
         throw new HiveException(ErrorMsg.CANNOT_CHANGE_FILEFORMAT, "ORC", alterTbl.getOldName());
       }

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/java/org/apache/hadoop/hive/ql/exec/FetchOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/FetchOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/FetchOperator.java
index 3aafe89..a5489a9 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/FetchOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/FetchOperator.java
@@ -604,7 +604,8 @@ public class FetchOperator implements Serializable {
   }
 
   private boolean needConversion(PartitionDesc partitionDesc) {
-    if (Utilities.isInputFileFormatSelfDescribing(partitionDesc)) {
+    boolean isAcid = AcidUtils.isTablePropertyTransactional(partitionDesc.getTableDesc().getProperties());
+    if (Utilities.isSchemaEvolutionEnabled(job, isAcid) && Utilities.isInputFileFormatSelfDescribing(partitionDesc)) {
       return false;
     }
     return needConversion(partitionDesc.getTableDesc(), Arrays.asList(partitionDesc));

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java
index 3bd96b9..2b690f8 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java
@@ -40,6 +40,7 @@ import org.apache.hadoop.hive.metastore.api.hive_metastoreConstants;
 import org.apache.hadoop.hive.ql.CompilationOpContext;
 import org.apache.hadoop.hive.ql.exec.MapOperator.MapOpCtx;
 import org.apache.hadoop.hive.ql.exec.mr.ExecMapperContext;
+import org.apache.hadoop.hive.ql.io.AcidUtils;
 import org.apache.hadoop.hive.ql.io.RecordIdentifier;
 import org.apache.hadoop.hive.ql.io.orc.OrcInputFormat;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
@@ -206,7 +207,8 @@ public class MapOperator extends Operator<MapWork> implements Serializable, Clon
     opCtx.deserializer = pd.getDeserializer(hconf);
 
     StructObjectInspector partRawRowObjectInspector;
-    if (Utilities.isInputFileFormatSelfDescribing(pd)) {
+    boolean isAcid = AcidUtils.isTablePropertyTransactional(td.getProperties());
+    if (Utilities.isSchemaEvolutionEnabled(hconf, isAcid) && Utilities.isInputFileFormatSelfDescribing(pd)) {
       partRawRowObjectInspector = tableRowOI;
     } else {
       partRawRowObjectInspector =
@@ -314,7 +316,8 @@ public class MapOperator extends Operator<MapWork> implements Serializable, Clon
         Deserializer partDeserializer = pd.getDeserializer(hconf);
 
         StructObjectInspector partRawRowObjectInspector;
-        if (Utilities.isInputFileFormatSelfDescribing(pd)) {
+        boolean isAcid = AcidUtils.isTablePropertyTransactional(tableDesc.getProperties());
+        if (Utilities.isSchemaEvolutionEnabled(hconf, isAcid) && Utilities.isInputFileFormatSelfDescribing(pd)) {
           Deserializer tblDeserializer = tableDesc.getDeserializer(hconf);
           partRawRowObjectInspector = (StructObjectInspector) tblDeserializer.getObjectInspector();
         } else {

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
index 2d317a0..5e0553d 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
@@ -3526,6 +3526,10 @@ public final class Utilities {
     return statsTmpDirs;
   }
 
+  public static boolean isSchemaEvolutionEnabled(Configuration conf, boolean isAcid) {
+    return isAcid || HiveConf.getBoolVar(conf, ConfVars.HIVE_SCHEMA_EVOLUTION);
+  }
+
   public static boolean isInputFileFormatSelfDescribing(PartitionDesc pd) {
     Class<?> inputFormatClass = pd.getInputFileFormatClass();
     return SelfDescribingInputFormatInterface.class.isAssignableFrom(inputFormatClass);

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java
index d175d2d..43afd92 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java
@@ -299,6 +299,9 @@ public class OrcInputFormat implements InputFormat<NullWritable, OrcStruct>,
 
     /**
      * Do we have schema on read in the configuration variables?
+     *
+     * NOTE: This code path is NOT used by ACID.  OrcInputFormat.getRecordReader intercepts for
+     * ACID tables creates raw record merger, etc.
      */
     TypeDescription schema = getDesiredRowTypeDescr(conf, /* isAcidRead */ false);
 

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_change_fileformat.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_change_fileformat.q b/ql/src/test/queries/clientnegative/orc_change_fileformat.q
index 5b2a7e6..a0f89d9 100644
--- a/ql/src/test/queries/clientnegative/orc_change_fileformat.q
+++ b/ql/src/test/queries/clientnegative/orc_change_fileformat.q
@@ -1,2 +1,3 @@
+SET hive.exec.schema.evolution=true;
 create table src_orc (key tinyint, val string) stored as orc;
 alter table src_orc set fileformat textfile;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_change_fileformat_acid.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_change_fileformat_acid.q b/ql/src/test/queries/clientnegative/orc_change_fileformat_acid.q
new file mode 100644
index 0000000..8c1f44f
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/orc_change_fileformat_acid.q
@@ -0,0 +1,3 @@
+SET hive.exec.schema.evolution=false;
+create table src_orc (key tinyint, val string)  clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');
+alter table src_orc set fileformat textfile;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_change_serde.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_change_serde.q b/ql/src/test/queries/clientnegative/orc_change_serde.q
index e7b70fd..49d56bd 100644
--- a/ql/src/test/queries/clientnegative/orc_change_serde.q
+++ b/ql/src/test/queries/clientnegative/orc_change_serde.q
@@ -1,2 +1,3 @@
+SET hive.exec.schema.evolution=true;
 create table src_orc (key tinyint, val string) stored as orc;
 alter table src_orc set serde 'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe';

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_change_serde_acid.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_change_serde_acid.q b/ql/src/test/queries/clientnegative/orc_change_serde_acid.q
new file mode 100644
index 0000000..f96d625
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/orc_change_serde_acid.q
@@ -0,0 +1,3 @@
+SET hive.exec.schema.evolution=false;
+create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');
+alter table src_orc set serde 'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe';

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_reorder_columns1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_reorder_columns1.q b/ql/src/test/queries/clientnegative/orc_reorder_columns1.q
index 2f43ddb..516c170 100644
--- a/ql/src/test/queries/clientnegative/orc_reorder_columns1.q
+++ b/ql/src/test/queries/clientnegative/orc_reorder_columns1.q
@@ -1,2 +1,3 @@
+SET hive.exec.schema.evolution=true;
 create table src_orc (key tinyint, val string) stored as orc;
 alter table src_orc change key k tinyint first;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_reorder_columns1_acid.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_reorder_columns1_acid.q b/ql/src/test/queries/clientnegative/orc_reorder_columns1_acid.q
new file mode 100644
index 0000000..a37a0d7
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/orc_reorder_columns1_acid.q
@@ -0,0 +1,3 @@
+SET hive.exec.schema.evolution=false;
+create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');
+alter table src_orc change key k tinyint first;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_reorder_columns2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_reorder_columns2.q b/ql/src/test/queries/clientnegative/orc_reorder_columns2.q
index 3634d2d..2acabdf 100644
--- a/ql/src/test/queries/clientnegative/orc_reorder_columns2.q
+++ b/ql/src/test/queries/clientnegative/orc_reorder_columns2.q
@@ -1,2 +1,3 @@
+SET hive.exec.schema.evolution=true;
 create table src_orc (key tinyint, val string) stored as orc;
 alter table src_orc change key k tinyint after val;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_reorder_columns2_acid.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_reorder_columns2_acid.q b/ql/src/test/queries/clientnegative/orc_reorder_columns2_acid.q
new file mode 100644
index 0000000..7703aa2
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/orc_reorder_columns2_acid.q
@@ -0,0 +1,3 @@
+SET hive.exec.schema.evolution=false;
+create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');
+alter table src_orc change key k tinyint after val;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_replace_columns1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_replace_columns1.q b/ql/src/test/queries/clientnegative/orc_replace_columns1.q
index e5f9449..f6b1c06 100644
--- a/ql/src/test/queries/clientnegative/orc_replace_columns1.q
+++ b/ql/src/test/queries/clientnegative/orc_replace_columns1.q
@@ -1,2 +1,3 @@
+SET hive.exec.schema.evolution=true;
 create table src_orc (key tinyint, val string) stored as orc;
 alter table src_orc replace columns (k int);

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_replace_columns1_acid.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_replace_columns1_acid.q b/ql/src/test/queries/clientnegative/orc_replace_columns1_acid.q
new file mode 100644
index 0000000..026db61
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/orc_replace_columns1_acid.q
@@ -0,0 +1,3 @@
+SET hive.exec.schema.evolution=false;
+create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');
+alter table src_orc replace columns (k int);

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_replace_columns2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_replace_columns2.q b/ql/src/test/queries/clientnegative/orc_replace_columns2.q
index cc6076d..2a50b94 100644
--- a/ql/src/test/queries/clientnegative/orc_replace_columns2.q
+++ b/ql/src/test/queries/clientnegative/orc_replace_columns2.q
@@ -1,2 +1,3 @@
+SET hive.exec.schema.evolution=true;
 create table src_orc (key tinyint, val string) stored as orc;
 alter table src_orc replace columns (k smallint, val string);

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_replace_columns2_acid.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_replace_columns2_acid.q b/ql/src/test/queries/clientnegative/orc_replace_columns2_acid.q
new file mode 100644
index 0000000..a8f1d02
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/orc_replace_columns2_acid.q
@@ -0,0 +1,3 @@
+SET hive.exec.schema.evolution=false;
+create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');
+alter table src_orc replace columns (k smallint, val string);

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_replace_columns3.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_replace_columns3.q b/ql/src/test/queries/clientnegative/orc_replace_columns3.q
index 57d3c9b..b7b527f 100644
--- a/ql/src/test/queries/clientnegative/orc_replace_columns3.q
+++ b/ql/src/test/queries/clientnegative/orc_replace_columns3.q
@@ -1,3 +1,4 @@
+SET hive.exec.schema.evolution=true;
 create table src_orc (key smallint, val string) stored as orc;
 alter table src_orc replace columns (k int, val string, z smallint);
 alter table src_orc replace columns (k int, val string, z tinyint);

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_replace_columns3_acid.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_replace_columns3_acid.q b/ql/src/test/queries/clientnegative/orc_replace_columns3_acid.q
new file mode 100644
index 0000000..b183424
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/orc_replace_columns3_acid.q
@@ -0,0 +1,4 @@
+SET hive.exec.schema.evolution=false;
+create table src_orc (key smallint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');
+alter table src_orc replace columns (k int, val string, z smallint);
+alter table src_orc replace columns (k int, val string, z tinyint);

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_type_promotion1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_type_promotion1.q b/ql/src/test/queries/clientnegative/orc_type_promotion1.q
index e465b2a..d7facc3 100644
--- a/ql/src/test/queries/clientnegative/orc_type_promotion1.q
+++ b/ql/src/test/queries/clientnegative/orc_type_promotion1.q
@@ -1,2 +1,3 @@
+SET hive.exec.schema.evolution=true;
 create table src_orc (key tinyint, val string) stored as orc;
 alter table src_orc change key key float;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_type_promotion1_acid.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_type_promotion1_acid.q b/ql/src/test/queries/clientnegative/orc_type_promotion1_acid.q
new file mode 100644
index 0000000..4cb3d3e
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/orc_type_promotion1_acid.q
@@ -0,0 +1,3 @@
+SET hive.exec.schema.evolution=false;
+create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');
+alter table src_orc change key key float;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_type_promotion2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_type_promotion2.q b/ql/src/test/queries/clientnegative/orc_type_promotion2.q
index a294bee..c4ee1b5 100644
--- a/ql/src/test/queries/clientnegative/orc_type_promotion2.q
+++ b/ql/src/test/queries/clientnegative/orc_type_promotion2.q
@@ -1,3 +1,4 @@
+SET hive.exec.schema.evolution=true;
 create table src_orc (key smallint, val string) stored as orc;
 desc src_orc;
 alter table src_orc change key key smallint;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_type_promotion2_acid.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_type_promotion2_acid.q b/ql/src/test/queries/clientnegative/orc_type_promotion2_acid.q
new file mode 100644
index 0000000..22a77cd
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/orc_type_promotion2_acid.q
@@ -0,0 +1,10 @@
+SET hive.exec.schema.evolution=false;
+create table src_orc (key smallint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');
+desc src_orc;
+alter table src_orc change key key smallint;
+desc src_orc;
+alter table src_orc change key key int;
+desc src_orc;
+alter table src_orc change key key bigint;
+desc src_orc;
+alter table src_orc change val val char(100);

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_type_promotion3.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_type_promotion3.q b/ql/src/test/queries/clientnegative/orc_type_promotion3.q
index 3d85bcee..3ee99ec 100644
--- a/ql/src/test/queries/clientnegative/orc_type_promotion3.q
+++ b/ql/src/test/queries/clientnegative/orc_type_promotion3.q
@@ -1,2 +1,3 @@
+SET hive.exec.schema.evolution=true;
 create table src_orc (key tinyint, val string) stored as orc;
 alter table src_orc change key key smallint;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientnegative/orc_type_promotion3_acid.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/orc_type_promotion3_acid.q b/ql/src/test/queries/clientnegative/orc_type_promotion3_acid.q
new file mode 100644
index 0000000..90ddb67
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/orc_type_promotion3_acid.q
@@ -0,0 +1,3 @@
+SET hive.exec.schema.evolution=false;
+create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true');
+alter table src_orc change key key smallint;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_part.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_part.q b/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_part.q
index 6fe9d45..800c5f8 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_part.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_part.q
@@ -2,7 +2,7 @@ set hive.mapred.mode=nonstrict;
 set hive.cli.print.header=true;
 set hive.support.concurrency=true;
 set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
-
+SET hive.exec.schema.evolution=false;
 SET hive.vectorized.execution.enabled=false;
 set hive.fetch.task.conversion=none;
 set hive.exec.dynamic.partition.mode=nonstrict;
@@ -11,6 +11,7 @@ set hive.exec.dynamic.partition.mode=nonstrict;
 -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Non-Vectorized, MapWork, Partitioned
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_table.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_table.q b/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_table.q
index 8c933e1..b006acb 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_table.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_orc_acid_mapwork_table.q
@@ -1,7 +1,7 @@
 set hive.cli.print.header=true;
 set hive.support.concurrency=true;
 set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
-
+SET hive.exec.schema.evolution=false;
 SET hive.vectorized.execution.enabled=false;
 set hive.fetch.task.conversion=none;
 set hive.exec.dynamic.partition.mode=nonstrict;
@@ -10,6 +10,7 @@ set hive.exec.dynamic.partition.mode=nonstrict;
 -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Non-Vectorized, MapWork, Table
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_orc_acidvec_mapwork_part.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_acidvec_mapwork_part.q b/ql/src/test/queries/clientpositive/schema_evol_orc_acidvec_mapwork_part.q
index 1581192..fc935d5 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_orc_acidvec_mapwork_part.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_orc_acidvec_mapwork_part.q
@@ -2,7 +2,7 @@ set hive.mapred.mode=nonstrict;
 set hive.cli.print.header=true;
 set hive.support.concurrency=true;
 set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
-
+SET hive.exec.schema.evolution=false;
 SET hive.vectorized.execution.enabled=true;
 set hive.fetch.task.conversion=none;
 set hive.exec.dynamic.partition.mode=nonstrict;
@@ -11,6 +11,7 @@ set hive.exec.dynamic.partition.mode=nonstrict;
 -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Vectorized, MapWork, Partitioned
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_orc_acidvec_mapwork_table.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_acidvec_mapwork_table.q b/ql/src/test/queries/clientpositive/schema_evol_orc_acidvec_mapwork_table.q
index d6e82f5..e49a0f3 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_orc_acidvec_mapwork_table.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_orc_acidvec_mapwork_table.q
@@ -1,7 +1,7 @@
 set hive.cli.print.header=true;
 set hive.support.concurrency=true;
 set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
-
+SET hive.exec.schema.evolution=false;
 SET hive.vectorized.execution.enabled=true;
 set hive.fetch.task.conversion=none;
 set hive.exec.dynamic.partition.mode=nonstrict;
@@ -10,6 +10,7 @@ set hive.exec.dynamic.partition.mode=nonstrict;
 -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Vectorized, MapWork, Table
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_fetchwork_part.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_fetchwork_part.q b/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_fetchwork_part.q
index be3e4da..9c66243 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_fetchwork_part.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_fetchwork_part.q
@@ -1,5 +1,6 @@
 set hive.mapred.mode=nonstrict;
 set hive.cli.print.header=true;
+SET hive.exec.schema.evolution=true;
 SET hive.vectorized.execution.enabled=false;
 set hive.fetch.task.conversion=more;
 set hive.exec.dynamic.partition.mode=nonstrict;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_fetchwork_table.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_fetchwork_table.q b/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_fetchwork_table.q
index 8e7e373..5bdd620 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_fetchwork_table.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_fetchwork_table.q
@@ -1,6 +1,7 @@
 set hive.cli.print.header=true;
 set hive.support.concurrency=true;
 set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
+SET hive.exec.schema.evolution=true;
 SET hive.vectorized.execution.enabled=false;
 set hive.fetch.task.conversion=more;
 set hive.exec.dynamic.partition.mode=nonstrict;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_mapwork_part.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_mapwork_part.q b/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_mapwork_part.q
index d1b0d97..0fbcadb 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_mapwork_part.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_mapwork_part.q
@@ -1,5 +1,6 @@
 set hive.mapred.mode=nonstrict;
 set hive.cli.print.header=true;
+SET hive.exec.schema.evolution=true;
 SET hive.vectorized.execution.enabled=false;
 set hive.fetch.task.conversion=none;
 set hive.exec.dynamic.partition.mode=nonstrict;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_orc_vec_mapwork_part.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_vec_mapwork_part.q b/ql/src/test/queries/clientpositive/schema_evol_orc_vec_mapwork_part.q
index 676756d..30b19bb 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_orc_vec_mapwork_part.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_orc_vec_mapwork_part.q
@@ -1,5 +1,6 @@
 set hive.mapred.mode=nonstrict;
 set hive.cli.print.header=true;
+SET hive.exec.schema.evolution=true;
 SET hive.vectorized.execution.enabled=true;
 set hive.fetch.task.conversion=more;
 set hive.exec.dynamic.partition.mode=nonstrict;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_text_fetchwork_table.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_text_fetchwork_table.q b/ql/src/test/queries/clientpositive/schema_evol_text_fetchwork_table.q
index 7de5367..44f7264 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_text_fetchwork_table.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_text_fetchwork_table.q
@@ -1,7 +1,7 @@
 set hive.cli.print.header=true;
 set hive.support.concurrency=true;
 set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
-
+SET hive.exec.schema.evolution=true;
 SET hive.vectorized.execution.enabled=false;
 set hive.fetch.task.conversion=none;
 set hive.exec.dynamic.partition.mode=nonstrict;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_text_mapwork_table.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_text_mapwork_table.q b/ql/src/test/queries/clientpositive/schema_evol_text_mapwork_table.q
index 7de5367..44f7264 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_text_mapwork_table.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_text_mapwork_table.q
@@ -1,7 +1,7 @@
 set hive.cli.print.header=true;
 set hive.support.concurrency=true;
 set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
-
+SET hive.exec.schema.evolution=true;
 SET hive.vectorized.execution.enabled=false;
 set hive.fetch.task.conversion=none;
 set hive.exec.dynamic.partition.mode=nonstrict;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_fetchwork_part.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_fetchwork_part.q b/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_fetchwork_part.q
index eaa3dc3..4d78642 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_fetchwork_part.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_fetchwork_part.q
@@ -1,5 +1,6 @@
 set hive.mapred.mode=nonstrict;
 set hive.cli.print.header=true;
+SET hive.exec.schema.evolution=true;
 SET hive.vectorized.execution.enabled=false;
 set hive.fetch.task.conversion=more;
 set hive.exec.dynamic.partition.mode=nonstrict;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_fetchwork_table.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_fetchwork_table.q b/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_fetchwork_table.q
index 67c2fc3..0834351 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_fetchwork_table.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_fetchwork_table.q
@@ -1,4 +1,5 @@
 set hive.cli.print.header=true;
+SET hive.exec.schema.evolution=true;
 SET hive.vectorized.execution.enabled=true;
 set hive.fetch.task.conversion=more;
 

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_part.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_part.q b/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_part.q
index aa2cd5e..173e417 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_part.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_part.q
@@ -1,5 +1,6 @@
 set hive.mapred.mode=nonstrict;
 set hive.cli.print.header=true;
+SET hive.exec.schema.evolution=true;
 SET hive.vectorized.execution.enabled=false;
 set hive.fetch.task.conversion=none;
 set hive.exec.dynamic.partition.mode=nonstrict;

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_table.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_table.q b/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_table.q
index 499d36d..83cab14 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_table.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_table.q
@@ -1,4 +1,5 @@
 set hive.cli.print.header=true;
+SET hive.exec.schema.evolution=true;
 SET hive.vectorized.execution.enabled=true;
 set hive.fetch.task.conversion=none;
 

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientnegative/orc_change_fileformat_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/orc_change_fileformat_acid.q.out b/ql/src/test/results/clientnegative/orc_change_fileformat_acid.q.out
new file mode 100644
index 0000000..bd200ce
--- /dev/null
+++ b/ql/src/test/results/clientnegative/orc_change_fileformat_acid.q.out
@@ -0,0 +1,13 @@
+PREHOOK: query: create table src_orc (key tinyint, val string)  clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: create table src_orc (key tinyint, val string)  clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: alter table src_orc set fileformat textfile
+PREHOOK: type: ALTERTABLE_FILEFORMAT
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Changing file format (from ORC) is not supported for table default.src_orc

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientnegative/orc_change_serde_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/orc_change_serde_acid.q.out b/ql/src/test/results/clientnegative/orc_change_serde_acid.q.out
new file mode 100644
index 0000000..e969233
--- /dev/null
+++ b/ql/src/test/results/clientnegative/orc_change_serde_acid.q.out
@@ -0,0 +1,13 @@
+PREHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: alter table src_orc set serde 'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe'
+PREHOOK: type: ALTERTABLE_SERIALIZER
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Changing SerDe (from OrcSerde) is not supported for table default.src_orc. File format may be incompatible

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientnegative/orc_reorder_columns1_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/orc_reorder_columns1_acid.q.out b/ql/src/test/results/clientnegative/orc_reorder_columns1_acid.q.out
new file mode 100644
index 0000000..1727ea0
--- /dev/null
+++ b/ql/src/test/results/clientnegative/orc_reorder_columns1_acid.q.out
@@ -0,0 +1,13 @@
+PREHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: alter table src_orc change key k tinyint first
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Reordering columns is not supported for table default.src_orc. SerDe may be incompatible

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientnegative/orc_reorder_columns2_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/orc_reorder_columns2_acid.q.out b/ql/src/test/results/clientnegative/orc_reorder_columns2_acid.q.out
new file mode 100644
index 0000000..54d8600
--- /dev/null
+++ b/ql/src/test/results/clientnegative/orc_reorder_columns2_acid.q.out
@@ -0,0 +1,13 @@
+PREHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: alter table src_orc change key k tinyint after val
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Reordering columns is not supported for table default.src_orc. SerDe may be incompatible

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientnegative/orc_replace_columns1_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/orc_replace_columns1_acid.q.out b/ql/src/test/results/clientnegative/orc_replace_columns1_acid.q.out
new file mode 100644
index 0000000..ec09d4b
--- /dev/null
+++ b/ql/src/test/results/clientnegative/orc_replace_columns1_acid.q.out
@@ -0,0 +1,13 @@
+PREHOOK: query: create table src_orc (key tinyint, val string) stored as orc TBLPROPERTIES ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: create table src_orc (key tinyint, val string) stored as orc TBLPROPERTIES ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: alter table src_orc replace columns (k int)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Replacing columns cannot drop columns for table default.src_orc. SerDe may be incompatible

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientnegative/orc_replace_columns2_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/orc_replace_columns2_acid.q.out b/ql/src/test/results/clientnegative/orc_replace_columns2_acid.q.out
new file mode 100644
index 0000000..4d16e26
--- /dev/null
+++ b/ql/src/test/results/clientnegative/orc_replace_columns2_acid.q.out
@@ -0,0 +1,13 @@
+PREHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: alter table src_orc replace columns (k smallint, val string)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Replacing columns with unsupported type conversion (from tinyint to smallint) for column k. SerDe may be incompatible

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientnegative/orc_replace_columns3_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/orc_replace_columns3_acid.q.out b/ql/src/test/results/clientnegative/orc_replace_columns3_acid.q.out
new file mode 100644
index 0000000..dde9772
--- /dev/null
+++ b/ql/src/test/results/clientnegative/orc_replace_columns3_acid.q.out
@@ -0,0 +1,21 @@
+PREHOOK: query: create table src_orc (key smallint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: create table src_orc (key smallint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: alter table src_orc replace columns (k int, val string, z smallint)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: alter table src_orc replace columns (k int, val string, z smallint)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
+POSTHOOK: Input: default@src_orc
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: alter table src_orc replace columns (k int, val string, z tinyint)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Replacing columns with unsupported type conversion (from smallint to tinyint) for column z. SerDe may be incompatible

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientnegative/orc_type_promotion1_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/orc_type_promotion1_acid.q.out b/ql/src/test/results/clientnegative/orc_type_promotion1_acid.q.out
new file mode 100644
index 0000000..97fecd0
--- /dev/null
+++ b/ql/src/test/results/clientnegative/orc_type_promotion1_acid.q.out
@@ -0,0 +1,13 @@
+PREHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: alter table src_orc change key key float
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Changing from type tinyint to float is not supported for column key. SerDe may be incompatible

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientnegative/orc_type_promotion2_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/orc_type_promotion2_acid.q.out b/ql/src/test/results/clientnegative/orc_type_promotion2_acid.q.out
new file mode 100644
index 0000000..9f6f213
--- /dev/null
+++ b/ql/src/test/results/clientnegative/orc_type_promotion2_acid.q.out
@@ -0,0 +1,69 @@
+PREHOOK: query: create table src_orc (key smallint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: create table src_orc (key smallint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: desc src_orc
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@src_orc
+POSTHOOK: query: desc src_orc
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@src_orc
+key                 	smallint            	                    
+val                 	string              	                    
+PREHOOK: query: alter table src_orc change key key smallint
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: alter table src_orc change key key smallint
+POSTHOOK: type: ALTERTABLE_RENAMECOL
+POSTHOOK: Input: default@src_orc
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: desc src_orc
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@src_orc
+POSTHOOK: query: desc src_orc
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@src_orc
+key                 	smallint            	                    
+val                 	string              	                    
+PREHOOK: query: alter table src_orc change key key int
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: alter table src_orc change key key int
+POSTHOOK: type: ALTERTABLE_RENAMECOL
+POSTHOOK: Input: default@src_orc
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: desc src_orc
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@src_orc
+POSTHOOK: query: desc src_orc
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@src_orc
+key                 	int                 	                    
+val                 	string              	                    
+PREHOOK: query: alter table src_orc change key key bigint
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: alter table src_orc change key key bigint
+POSTHOOK: type: ALTERTABLE_RENAMECOL
+POSTHOOK: Input: default@src_orc
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: desc src_orc
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@src_orc
+POSTHOOK: query: desc src_orc
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@src_orc
+key                 	bigint              	                    
+val                 	string              	                    
+PREHOOK: query: alter table src_orc change val val char(100)
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Changing from type string to char(100) is not supported for column val. SerDe may be incompatible

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientnegative/orc_type_promotion3_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/orc_type_promotion3_acid.q.out b/ql/src/test/results/clientnegative/orc_type_promotion3_acid.q.out
new file mode 100644
index 0000000..9195d0f
--- /dev/null
+++ b/ql/src/test/results/clientnegative/orc_type_promotion3_acid.q.out
@@ -0,0 +1,13 @@
+PREHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_orc
+POSTHOOK: query: create table src_orc (key tinyint, val string) clustered by (key) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_orc
+PREHOOK: query: alter table src_orc change key key smallint
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@src_orc
+PREHOOK: Output: default@src_orc
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Changing from type tinyint to smallint is not supported for column key. SerDe may be incompatible

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_part.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_part.q.out
index 92d8b01..a922175 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_part.q.out
@@ -1,6 +1,7 @@
 PREHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Non-Vectorized, MapWork, Partitioned
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT
@@ -12,6 +13,7 @@ PREHOOK: Output: default@partitioned1
 POSTHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Non-Vectorized, MapWork, Partitioned
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_table.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_table.q.out
index 0317a99..4885aeb 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_table.q.out
@@ -1,6 +1,7 @@
 PREHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Non-Vectorized, MapWork, Table
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT
@@ -12,6 +13,7 @@ PREHOOK: Output: default@table1
 POSTHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Non-Vectorized, MapWork, Table
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_part.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_part.q.out
index babac1a..c5af165 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_part.q.out
@@ -1,6 +1,7 @@
 PREHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Vectorized, MapWork, Partitioned
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT
@@ -12,6 +13,7 @@ PREHOOK: Output: default@partitioned1
 POSTHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Vectorized, MapWork, Partitioned
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_table.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_table.q.out
index 3edaff0..2b1e5c3 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_table.q.out
@@ -1,6 +1,7 @@
 PREHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Vectorized, MapWork, Table
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT
@@ -12,6 +13,7 @@ PREHOOK: Output: default@table1
 POSTHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Vectorized, MapWork, Table
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_part.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_part.q.out
index 92d8b01..a922175 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_part.q.out
@@ -1,6 +1,7 @@
 PREHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Non-Vectorized, MapWork, Partitioned
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT
@@ -12,6 +13,7 @@ PREHOOK: Output: default@partitioned1
 POSTHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Non-Vectorized, MapWork, Partitioned
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_table.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_table.q.out
index 0317a99..4885aeb 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_table.q.out
@@ -1,6 +1,7 @@
 PREHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Non-Vectorized, MapWork, Table
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT
@@ -12,6 +13,7 @@ PREHOOK: Output: default@table1
 POSTHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Non-Vectorized, MapWork, Table
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_part.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_part.q.out
index babac1a..c5af165 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_part.q.out
@@ -1,6 +1,7 @@
 PREHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Vectorized, MapWork, Partitioned
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT
@@ -12,6 +13,7 @@ PREHOOK: Output: default@partitioned1
 POSTHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Vectorized, MapWork, Partitioned
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT

http://git-wip-us.apache.org/repos/asf/hive/blob/8b3e7aa5/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_table.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_table.q.out
index 3edaff0..2b1e5c3 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_table.q.out
@@ -1,6 +1,7 @@
 PREHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Vectorized, MapWork, Table
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT
@@ -12,6 +13,7 @@ PREHOOK: Output: default@table1
 POSTHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, ACID Vectorized, MapWork, Table
+-- *IMPORTANT NOTE* We set hive.exec.schema.evolution=false above since schema evolution is always used for ACID.
 --
 --
 -- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT