In MetaStoreUtils.getPartSchemaFromTableSchema() the Propertie of a Partitions is first created by cloning the Properties from a Table. Then some of the properties are overwritten by the Partition level properties (Location/InputFormat/OutputFormat etc.). It also copies the properties from the SerDeInfo. If the SerDeInfo contains properties 'columns', 'column_types' and 'partition_columns' this will introduce incompatibility from the previous code path MetaStoreUtils.getSchema(). In getSchema(), the 'columns' etc are put after copying the SerDeInfo, which means we should not overwrite these 3 properties in the new code.