Github user manishgupta88 commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2990#discussion_r242870457
  
    --- Diff: 
integration/spark2/src/main/scala/org/apache/spark/sql/hive/CarbonHiveMetaStore.scala
 ---
    @@ -199,11 +202,22 @@ class CarbonHiveMetaStore extends CarbonFileMetastore 
{
        */
       override def revertTableSchemaInAlterFailure(carbonTableIdentifier: 
CarbonTableIdentifier,
           thriftTableInfo: format.TableInfo,
    -      identifier: AbsoluteTableIdentifier)
    +      identifier: AbsoluteTableIdentifier,
    +      timeStamp: Long)
         (sparkSession: SparkSession): String = {
         val schemaConverter = new ThriftWrapperSchemaConverterImpl
         val evolutionEntries = 
thriftTableInfo.fact_table.schema_evolution.schema_evolution_history
    -    evolutionEntries.remove(evolutionEntries.size() - 1)
    +    // we may need to remove two evolution entries if the operation is 
both col rename and datatype
    +    // change operation
    +    if (evolutionEntries.size() > 1 && 
(evolutionEntries.get(evolutionEntries.size() - 1).time_stamp
    +           == evolutionEntries.get(evolutionEntries.size() - 
2).time_stamp)) {
    +      evolutionEntries.remove(evolutionEntries.size() - 1)
    +      evolutionEntries.remove(evolutionEntries.size() - 2)
    +    } else {
    +      if (evolutionEntries.get(evolutionEntries.size() - 1).time_stamp == 
timeStamp) {
    +        evolutionEntries.remove(evolutionEntries.size() - 1)
    +      }
    --- End diff --
    
    Same comment as above


---

Reply via email to