in flink-doris-connector/src/main/java/org/apache/doris/flink/rest/PartitionDefinition.java [69:103]
public int compareTo(PartitionDefinition o) {
int cmp = database.compareTo(o.database);
if (cmp != 0) {
return cmp;
}
cmp = table.compareTo(o.table);
if (cmp != 0) {
return cmp;
}
cmp = beAddress.compareTo(o.beAddress);
if (cmp != 0) {
return cmp;
}
cmp = queryPlan.compareTo(o.queryPlan);
if (cmp != 0) {
return cmp;
}
cmp = tabletIds.size() - o.tabletIds.size();
if (cmp != 0) {
return cmp;
}
Set<Long> similar = new HashSet<>(tabletIds);
Set<Long> diffSelf = new HashSet<>(tabletIds);
Set<Long> diffOther = new HashSet<>(o.tabletIds);
similar.retainAll(o.tabletIds);
diffSelf.removeAll(similar);
diffOther.removeAll(similar);
if (diffSelf.size() == 0) {
return 0;
}
long diff = Collections.min(diffSelf) - Collections.min(diffOther);
return diff < 0 ? -1 : 1;
}