瀏覽代碼

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

wangsaner 6 年之前
父節點
當前提交
9826948ebb
共有 1 個文件被更改,包括 1 次插入0 次删除
  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();