Bladeren bron

修改canal.mq.partitionHash散列规则,
当指明pk级做分区(schema.table:pk1^pk2)时,由table.hashCode()^column.getValue().hashCode()改为database.hashCode()^column.getValue().hashCode(),从而支持同库下不同表hash至相同分区

wangsaner 6 jaren geleden
bovenliggende
commit
9826948ebb
1 gewijzigde bestanden met toevoegingen van 1 en 0 verwijderingen
  1. 1 0
      server/src/main/java/com/alibaba/otter/canal/common/MQMessageUtils.java

+ 1 - 0
server/src/main/java/com/alibaba/otter/canal/common/MQMessageUtils.java

@@ -230,6 +230,7 @@ public class MQMessageUtils {
                                     }
                                 }
                             } else {
+                            	hashCode = database.hashCode();
                                 for (CanalEntry.Column column : rowData.getAfterColumnsList()) {
                                     if (checkPkNamesHasContain(hashMode.pkNames, column.getName())) {
                                         hashCode = hashCode ^ column.getValue().hashCode();