Github user kunal642 commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2956#discussion_r236768636
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/datastore/block/SegmentPropertiesAndSchemaHolder.java
 ---
    @@ -332,13 +334,42 @@ public void clear() {
           }
           SegmentPropertiesAndSchemaHolder.SegmentPropertiesWrapper other =
               (SegmentPropertiesAndSchemaHolder.SegmentPropertiesWrapper) obj;
    -      return tableIdentifier.equals(other.tableIdentifier) && 
columnsInTable
    -          .equals(other.columnsInTable) && Arrays
    +      return tableIdentifier.equals(other.tableIdentifier) && 
checkColumnSchemaEquality(
    +          columnsInTable, other.columnsInTable) && Arrays
               .equals(columnCardinality, other.columnCardinality);
         }
     
    +    private boolean checkColumnSchemaEquality(List<ColumnSchema> obj1, 
List<ColumnSchema> obj2) {
    +      List<ColumnSchema> clonedObj1 = new ArrayList<>(obj1);
    +      List<ColumnSchema> clonedObj2 = new ArrayList<>(obj2);
    +      clonedObj1.addAll(obj1);
    +      clonedObj2.addAll(obj2);
    +      Collections.sort(clonedObj1, new Comparator<ColumnSchema>() {
    +        @Override public int compare(ColumnSchema o1, ColumnSchema o2) {
    +          return o1.getColumnUniqueId().compareTo(o2.getColumnUniqueId());
    +        }
    +      });
    +      Collections.sort(clonedObj2, new Comparator<ColumnSchema>() {
    --- End diff --
    
    done


---

Reply via email to