Github user ravipesala commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2401#discussion_r198436867
--- Diff:
core/src/main/java/org/apache/carbondata/core/metadata/schema/table/CarbonTable.java
---
@@ -1110,9 +1110,18 @@ private static void setLocalDictInfo(CarbonTable
table, TableInfo tableInfo) {
String localDictionaryThreshold =
tableInfo.getFactTable().getTableProperties()
.get(CarbonCommonConstants.LOCAL_DICTIONARY_THRESHOLD);
if (null != isLocalDictionaryEnabled) {
-
table.setLocalDictionaryEnabled(Boolean.parseBoolean(isLocalDictionaryEnabled));
+ // if table is altered then, for same key in table properties,
multiple values will be
+ // appended, so after splitting, get the first value for enable and
threshold, and that will
+ // be latest configurations for the table for further local
dictionary generation, because for
+ // alter table add operation, local dictionary enable and threshold
configuration is not
+ // allowed
+ String[] isLocalDictEnabled = isLocalDictionaryEnabled.split(",");
--- End diff --
Please don't handle the default property here. Better handle in parser like
don't add default values if the flow through alter
---