[ https://issues.apache.org/jira/browse/FLINK-36579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated FLINK-36579: ----------------------------------- Labels: pull-request-available (was: ) > mysql cdc charset collation sort not equals java string compare. > ---------------------------------------------------------------- > > Key: FLINK-36579 > URL: https://issues.apache.org/jira/browse/FLINK-36579 > Project: Flink > Issue Type: Improvement > Components: Flink CDC > Affects Versions: cdc-3.2.0 > Environment: mysql 8.0 > mysql-cdc 3.2 > Reporter: LIU > Priority: Major > Labels: pull-request-available > Fix For: cdc-3.2.0 > > > Use id VARCHAR(255) NOT NULL PRIMARY KEY COLLATE utf8mb3_general_ci as > ChunkSplitKey. > Once data for id is > {code:java} > aGGGGGG > GbGGGGG > GGcGGGG > GGGdGGG > GGGGeGG > GGGGGfG > GGGGGGg{code} > mysql sort order is unchanged. > but java string compare sort becomes reverse order. > > {code:java} > if (ObjectUtils.compare(chunkEnd, max) >= 0) { > return null; > } else { > return chunkEnd; > } > public static int compare(Object obj1, Object obj2) { > if (obj1 instanceof Comparable && > obj1.getClass().equals(obj2.getClass())) { > return ((Comparable) obj1).compareTo(obj2); > } else { > return obj1.toString().compareTo(obj2.toString()); > } > } > {code} > > mysql-cdc queryNextChunkMax will return null. so current snapshotSplit is > [null, null]. > It will cause the read task to read all data in the table. and make current > read task hang out for a long time. -- This message was sent by Atlassian Jira (v8.20.10#820010)