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


---

Reply via email to