Skip to content

Commit 45564d1

Browse files
committed
Cache split.splitId() result in a local variable to avoid calling the method twice per iteration:
- Clarity: Makes it explicit that both usages refer to the same value, improving readability. - Consistency: Eliminates any theoretical risk if splitId() were ever changed to a non-pure method in the future. - Minor efficiency: Avoids a redundant method dispatch on every iteration of the loop.
1 parent d993c6a commit 45564d1

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mysql-cdc/src/main/java/org/apache/flink/cdc/connectors/mysql/source/assigners/MySqlSnapshotSplitAssigner.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -390,11 +390,12 @@ public List<FinishedSnapshotSplitInfo> getFinishedSplitInfos() {
390390
new ArrayList<>(assignedSplits.values());
391391
List<FinishedSnapshotSplitInfo> finishedSnapshotSplitInfos = new ArrayList<>();
392392
for (MySqlSchemalessSnapshotSplit split : assignedSnapshotSplit) {
393-
BinlogOffset binlogOffset = splitFinishedOffsets.get(split.splitId());
393+
String splitId = split.splitId();
394+
BinlogOffset binlogOffset = splitFinishedOffsets.get(splitId);
394395
finishedSnapshotSplitInfos.add(
395396
new FinishedSnapshotSplitInfo(
396397
split.getTableId(),
397-
split.splitId(),
398+
splitId,
398399
split.getSplitStart(),
399400
split.getSplitEnd(),
400401
binlogOffset));

0 commit comments

Comments
 (0)