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 31a36880ebf Fix data consistency check props missing (#18137)
31a36880ebf is described below

commit 31a36880ebfde3f2c209d01a2b35d448c8e0910e
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Thu Jun 2 10:27:17 2022 +0800

    Fix data consistency check props missing (#18137)
---
 .../scaling/distsql/handler/query/CheckScalingQueryResultSet.java   | 6 ++++--
 .../apache/shardingsphere/data/pipeline/api/RuleAlteredJobAPI.java  | 4 +++-
 .../data/pipeline/api/fixture/RuleAlteredJobAPIFixture.java         | 3 ++-
 .../data/pipeline/core/api/impl/RuleAlteredJobAPIImpl.java          | 4 ++--
 .../data/pipeline/core/api/impl/RuleAlteredJobAPIImplTest.java      | 2 +-
 5 files changed, 12 insertions(+), 7 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/scaling/distsql/handler/query/CheckScalingQueryResultSet.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/scaling/distsql/handler/query/CheckScalingQueryResultSet.java
index 75ed5c8c555..63d4b56dc95 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/scaling/distsql/handler/query/CheckScalingQueryResultSet.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/scaling/distsql/handler/query/CheckScalingQueryResultSet.java
@@ -20,6 +20,7 @@ package 
org.apache.shardingsphere.scaling.distsql.handler.query;
 import org.apache.shardingsphere.data.pipeline.api.RuleAlteredJobAPIFactory;
 import org.apache.shardingsphere.data.pipeline.api.RuleAlteredJobAPI;
 import 
org.apache.shardingsphere.data.pipeline.api.check.consistency.DataConsistencyCheckResult;
+import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
 import org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.scaling.distsql.statement.CheckScalingStatement;
@@ -45,10 +46,11 @@ public final class CheckScalingQueryResultSet implements 
DistSQLResultSet {
     public void init(final ShardingSphereDatabase database, final SQLStatement 
sqlStatement) {
         CheckScalingStatement checkScalingStatement = (CheckScalingStatement) 
sqlStatement;
         Map<String, DataConsistencyCheckResult> checkResultMap;
-        if (null == checkScalingStatement.getTypeStrategy()) {
+        AlgorithmSegment typeStrategy = 
checkScalingStatement.getTypeStrategy();
+        if (null == typeStrategy) {
             checkResultMap = 
RULE_ALTERED_JOB_API.dataConsistencyCheck(checkScalingStatement.getJobId());
         } else {
-            checkResultMap = 
RULE_ALTERED_JOB_API.dataConsistencyCheck(checkScalingStatement.getJobId(), 
checkScalingStatement.getTypeStrategy().getName());
+            checkResultMap = 
RULE_ALTERED_JOB_API.dataConsistencyCheck(checkScalingStatement.getJobId(), 
typeStrategy.getName(), typeStrategy.getProps());
         }
         data = checkResultMap.entrySet().stream()
                 .map(each -> {
diff --git 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/api/RuleAlteredJobAPI.java
 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/api/RuleAlteredJobAPI.java
index 3f6774a65d6..976670b146e 100644
--- 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/api/RuleAlteredJobAPI.java
+++ 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/api/RuleAlteredJobAPI.java
@@ -28,6 +28,7 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
+import java.util.Properties;
 
 /**
  * Rule altered job API.
@@ -139,9 +140,10 @@ public interface RuleAlteredJobAPI extends PipelineJobAPI, 
RequiredSPI {
      *
      * @param jobId job id
      * @param algorithmType algorithm type
+     * @param algorithmProps algorithm props. Nullable
      * @return each logic table check result
      */
-    Map<String, DataConsistencyCheckResult> dataConsistencyCheck(String jobId, 
String algorithmType);
+    Map<String, DataConsistencyCheckResult> dataConsistencyCheck(String jobId, 
String algorithmType, Properties algorithmProps);
     
     /**
      * Aggregate data consistency check results.
diff --git 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/api/fixture/RuleAlteredJobAPIFixture.java
 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/api/fixture/RuleAlteredJobAPIFixture.java
index edf07cbf91b..94918f5202e 100644
--- 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/api/fixture/RuleAlteredJobAPIFixture.java
+++ 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/test/java/org/apache/shardingsphere/data/pipeline/api/fixture/RuleAlteredJobAPIFixture.java
@@ -28,6 +28,7 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
+import java.util.Properties;
 
 public final class RuleAlteredJobAPIFixture implements RuleAlteredJobAPI {
     
@@ -105,7 +106,7 @@ public final class RuleAlteredJobAPIFixture implements 
RuleAlteredJobAPI {
     }
     
     @Override
-    public Map<String, DataConsistencyCheckResult> dataConsistencyCheck(final 
String jobId, final String algorithmType) {
+    public Map<String, DataConsistencyCheckResult> dataConsistencyCheck(final 
String jobId, final String algorithmType, final Properties algorithmProps) {
         return null;
     }
     
diff --git 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/RuleAlteredJobAPIImpl.java
 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/RuleAlteredJobAPIImpl.java
index a4bc5beefd3..13e9cb09742 100644
--- 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/RuleAlteredJobAPIImpl.java
+++ 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/RuleAlteredJobAPIImpl.java
@@ -260,12 +260,12 @@ public final class RuleAlteredJobAPIImpl extends 
AbstractPipelineJobAPIImpl impl
     }
     
     @Override
-    public Map<String, DataConsistencyCheckResult> dataConsistencyCheck(final 
String jobId, final String algorithmType) {
+    public Map<String, DataConsistencyCheckResult> dataConsistencyCheck(final 
String jobId, final String algorithmType, final Properties algorithmProps) {
         checkModeConfig();
         log.info("Data consistency check for job {}, algorithmType: {}", 
jobId, algorithmType);
         RuleAlteredJobConfiguration jobConfig = 
getJobConfig(getElasticJobConfigPOJO(jobId));
         verifyDataConsistencyCheck(jobConfig);
-        return dataConsistencyCheck(jobConfig, 
DataConsistencyCalculateAlgorithmFactory.newInstance(algorithmType, new 
Properties()));
+        return dataConsistencyCheck(jobConfig, 
DataConsistencyCalculateAlgorithmFactory.newInstance(algorithmType, 
algorithmProps));
     }
     
     private Map<String, DataConsistencyCheckResult> dataConsistencyCheck(final 
RuleAlteredJobConfiguration jobConfig, final DataConsistencyCalculateAlgorithm 
calculator) {
diff --git 
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/api/impl/RuleAlteredJobAPIImplTest.java
 
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/api/impl/RuleAlteredJobAPIImplTest.java
index a445e34c2c7..b0c5553cdaf 100644
--- 
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/api/impl/RuleAlteredJobAPIImplTest.java
+++ 
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/api/impl/RuleAlteredJobAPIImplTest.java
@@ -151,7 +151,7 @@ public final class RuleAlteredJobAPIImplTest {
         initTableData(jobConfig);
         String databaseName = jobConfig.getDatabaseName();
         ruleAlteredJobAPI.stopClusterWriteDB(databaseName, jobId.get());
-        Map<String, DataConsistencyCheckResult> checkResultMap = 
ruleAlteredJobAPI.dataConsistencyCheck(jobId.get(), "FIXTURE");
+        Map<String, DataConsistencyCheckResult> checkResultMap = 
ruleAlteredJobAPI.dataConsistencyCheck(jobId.get(), "FIXTURE", null);
         ruleAlteredJobAPI.restoreClusterWriteDB(databaseName, jobId.get());
         assertThat(checkResultMap.size(), is(1));
         
assertTrue(checkResultMap.get("t_order").getCountCheckResult().isMatched());

Reply via email to