You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2021/07/09 11:30:11 UTC

[shardingsphere] branch master updated: Fix scaling breakpoint sync (#11244)

This is an automated email from the ASF dual-hosted git repository.

panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 72ce86b  Fix scaling breakpoint sync (#11244)
72ce86b is described below

commit 72ce86be128ae832da1316c0aaa1f246dfa8b67b
Author: avalon5666 <64...@users.noreply.github.com>
AuthorDate: Fri Jul 9 19:29:42 2021 +0800

    Fix scaling breakpoint sync (#11244)
---
 .../core/job/preparer/splitter/InventoryTaskSplitter.java        | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/splitter/InventoryTaskSplitter.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/splitter/InventoryTaskSplitter.java
index 87561b1..6a9c27b 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/splitter/InventoryTaskSplitter.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/splitter/InventoryTaskSplitter.java
@@ -108,7 +108,14 @@ public final class InventoryTaskSplitter {
     private Collection<ScalingPosition<?>> getInventoryPositions(
             final JobContext jobContext, final InventoryDumperConfiguration dumperConfig, final DataSource dataSource, final MetaDataManager metaDataManager) {
         if (null != jobContext.getInitProgress()) {
-            return jobContext.getInitProgress().getInventoryPosition(dumperConfig.getTableName()).values();
+            Collection<ScalingPosition<?>> result = jobContext.getInitProgress().getInventoryPosition(dumperConfig.getTableName()).values();
+            result.stream().findFirst().ifPresent(position -> {
+                if (position instanceof PrimaryKeyPosition) {
+                    String primaryKey = metaDataManager.getTableMetaData(dumperConfig.getTableName()).getPrimaryKeyColumns().get(0);
+                    dumperConfig.setPrimaryKey(primaryKey);
+                }
+            });
+            return result;
         }
         if (isSpiltByPrimaryKeyRange(metaDataManager, dumperConfig.getTableName())) {
             String primaryKey = metaDataManager.getTableMetaData(dumperConfig.getTableName()).getPrimaryKeyColumns().get(0);