Github user manishgupta88 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/3022#discussion_r244086110
--- Diff:
processing/src/main/java/org/apache/carbondata/processing/store/CarbonFactDataHandlerModel.java
---
@@ -356,9 +359,20 @@ public static CarbonFactDataHandlerModel
getCarbonFactDataHandlerModel(CarbonLoa
.getColumnSchemaList(carbonTable.getDimensionByTableName(tableName),
carbonTable.getMeasureByTableName(tableName));
carbonFactDataHandlerModel.setWrapperColumnSchema(wrapperColumnSchema);
- // get the cardinality for all all the columns including no dictionary
columns
- int[] formattedCardinality = CarbonUtil
-
.getFormattedCardinality(segmentProperties.getDimColumnsCardinality(),
wrapperColumnSchema);
+ // get the cardinality for all all the columns including no
+ // dictionary columns and complex columns
+ int[] dimAndComplexColumnCardinality =
+ new int[segmentProperties.getDimColumnsCardinality().length +
segmentProperties
+ .getComplexDimColumnCardinality().length];
+ for (int i = 0; i <
segmentProperties.getDimColumnsCardinality().length; i++) {
+ dimAndComplexColumnCardinality[i] =
segmentProperties.getDimColumnsCardinality()[i];
--- End diff --
Check for a resturcture drop column case when few loads are done and then
dictionary column is dropped and compaction is triggered. In that case
segmentProperties will contain cardinality of dropped column also check finally
what is the schema and cardinality written during compaction
---