It is because StatsUtils uses the String.startWith to compare VARCHAR/DECIMAL column type name with serdeConstants which are in lowercase. But these type names in stats might not be in lower case. We ran into a case where the type name from TAB_COL_STATS/PART_COL_STATS was actually in uppercase (e.g. VARCHAR, DECIMAL) because these column stats were populated from other HMS clients like Impala.
We need changes these type name comparison to be case insensitive