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

tuichenchuxin 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 aa62576c299 Prepare for CONSISTENCY_CHECK job (#21107)
aa62576c299 is described below

commit aa62576c2991ae7c7478cf6fc7ea6c8e9f3fc06b
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Wed Sep 21 12:25:15 2022 +0800

    Prepare for CONSISTENCY_CHECK job (#21107)
    
    * Add data consistency check related path and api in PipelineMetaDataNode
    
    * Add CONSISTENCY_CHECK job type and id
---
 .../data/pipeline/api/job/JobType.java             |  5 +--
 .../pipeline/core/api/GovernanceRepositoryAPI.java | 43 ++++++++++++++++---
 .../core/api/impl/GovernanceRepositoryAPIImpl.java | 34 ++++++++++++---
 .../metadata/loader/PipelineTableMetaDataUtil.java |  3 +-
 .../core/metadata/node/PipelineMetaDataNode.java   | 45 ++++++++++++++++----
 .../consistencycheck/ConsistencyCheckJobId.java    | 49 ++++++++++++++++++++++
 .../scenario/migration/MigrationJobAPIImpl.java    |  2 +-
 .../metadata/node/PipelineMetaDataNodeTest.java    | 26 ++++++++++--
 .../api/impl/GovernanceRepositoryAPIImplTest.java  |  4 +-
 .../core/api/impl/MigrationJobAPIImplTest.java     |  2 +-
 10 files changed, 184 insertions(+), 29 deletions(-)

diff --git 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/api/job/JobType.java
 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/api/job/JobType.java
index c1c62294fb0..71724be7cbe 100644
--- 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/api/job/JobType.java
+++ 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-api/src/main/java/org/apache/shardingsphere/data/pipeline/api/job/JobType.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.data.pipeline.api.job;
 
 import com.google.common.base.Preconditions;
 import lombok.Getter;
-import org.apache.commons.lang3.StringUtils;
 
 import java.util.Arrays;
 import java.util.Map;
@@ -31,7 +30,8 @@ import java.util.stream.Collectors;
 @Getter
 public enum JobType {
     
-    MIGRATION("MIGRATION", "01");
+    MIGRATION("MIGRATION", "01"),
+    CONSISTENCY_CHECK("CONSISTENCY_CHECK", "02");
     
     private static final Map<String, JobType> CODE_JOB_TYPE_MAP;
     
@@ -46,7 +46,6 @@ public enum JobType {
     private final String typeCode;
     
     JobType(final String typeName, final String typeCode) {
-        Preconditions.checkArgument(StringUtils.isAlpha(typeName), "type name 
must be character of [a-z]");
         this.typeName = typeName;
         lowercaseTypeName = typeName.toLowerCase();
         Preconditions.checkArgument(2 == typeCode.length(), "code length is 
not 2");
diff --git 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/GovernanceRepositoryAPI.java
 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/GovernanceRepositoryAPI.java
index e48f01c66e2..b0c6f88c255 100644
--- 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/GovernanceRepositoryAPI.java
+++ 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/GovernanceRepositoryAPI.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.data.pipeline.core.api;
 import org.apache.shardingsphere.data.pipeline.api.job.JobType;
 import 
org.apache.shardingsphere.mode.repository.cluster.listener.DataChangedEventListener;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Optional;
 
@@ -55,20 +56,52 @@ public interface GovernanceRepositoryAPI {
     String getJobItemProgress(String jobId, int shardingItem);
     
     /**
-     * Persist job check result.
+     * Persist check latest result.
      *
      * @param jobId job id
      * @param checkSuccess check success
      */
-    void persistJobCheckResult(String jobId, boolean checkSuccess);
+    void persistCheckLatestResult(String jobId, boolean checkSuccess);
     
     /**
-     * Get job check result.
+     * Get check latest result.
      *
      * @param jobId job id
-     * @return job check result
+     * @return check result
      */
-    Optional<Boolean> getJobCheckResult(String jobId);
+    Optional<Boolean> getCheckLatestResult(String jobId);
+    
+    /**
+     * Persist check latest detailed result.
+     *
+     * @param jobId job id
+     * @param checkDetailedSuccess check detailed success
+     */
+    void persistCheckLatestDetailedResult(String jobId, String 
checkDetailedSuccess);
+    
+    /**
+     * Get check latest detailed result.
+     *
+     * @param jobId job id
+     * @return check detailed result
+     */
+    Optional<String> getCheckLatestDetailedResult(String jobId);
+    
+    /**
+     * Persist check job id.
+     *
+     * @param jobId job id
+     * @param checkJobId check job id
+     */
+    void persistCheckJobId(String jobId, String checkJobId);
+    
+    /**
+     * List check job ids.
+     *
+     * @param jobId job id
+     * @return check job ids
+     */
+    Collection<String> listCheckJobIds(String jobId);
     
     /**
      * Delete job.
diff --git 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/GovernanceRepositoryAPIImpl.java
 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/GovernanceRepositoryAPIImpl.java
index 00a51184f12..7a2f7f141a8 100644
--- 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/GovernanceRepositoryAPIImpl.java
+++ 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/GovernanceRepositoryAPIImpl.java
@@ -18,6 +18,7 @@
 package org.apache.shardingsphere.data.pipeline.core.api.impl;
 
 import com.google.common.base.Strings;
+import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.data.pipeline.api.job.JobType;
@@ -26,6 +27,7 @@ import 
org.apache.shardingsphere.data.pipeline.core.metadata.node.PipelineMetaDa
 import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository;
 import 
org.apache.shardingsphere.mode.repository.cluster.listener.DataChangedEventListener;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
@@ -55,17 +57,39 @@ public final class GovernanceRepositoryAPIImpl implements 
GovernanceRepositoryAP
     }
     
     @Override
-    public void persistJobCheckResult(final String jobId, final boolean 
checkSuccess) {
-        log.info("persist job check result '{}' for job {}", checkSuccess, 
jobId);
-        repository.persist(PipelineMetaDataNode.getJobCheckResultPath(jobId), 
String.valueOf(checkSuccess));
+    public void persistCheckLatestResult(final String jobId, final boolean 
checkSuccess) {
+        log.info("persist check latest result '{}' for job {}", checkSuccess, 
jobId);
+        
repository.persist(PipelineMetaDataNode.getCheckLatestResultPath(jobId), 
String.valueOf(checkSuccess));
     }
     
     @Override
-    public Optional<Boolean> getJobCheckResult(final String jobId) {
-        String data = 
repository.get(PipelineMetaDataNode.getJobCheckResultPath(jobId));
+    public Optional<Boolean> getCheckLatestResult(final String jobId) {
+        String data = 
repository.get(PipelineMetaDataNode.getCheckLatestResultPath(jobId));
         return Strings.isNullOrEmpty(data) ? Optional.empty() : 
Optional.of(Boolean.parseBoolean(data));
     }
     
+    @Override
+    public void persistCheckLatestDetailedResult(final String jobId, @NonNull 
final String checkDetailedSuccess) {
+        log.info("persist check latest detailed result, jobId={}, 
checkDetailedSuccess={}", jobId, checkDetailedSuccess);
+        
repository.persist(PipelineMetaDataNode.getCheckLatestDetailedResultPath(jobId),
 checkDetailedSuccess);
+    }
+    
+    @Override
+    public Optional<String> getCheckLatestDetailedResult(final String jobId) {
+        return 
Optional.ofNullable(repository.get(PipelineMetaDataNode.getCheckLatestDetailedResultPath(jobId)));
+    }
+    
+    @Override
+    public void persistCheckJobId(final String jobId, final String checkJobId) 
{
+        log.info("persist check job id, jobId={}, checkJobId={}", jobId, 
checkJobId);
+        repository.persist(PipelineMetaDataNode.getCheckJobIdPath(jobId, 
checkJobId), "");
+    }
+    
+    @Override
+    public Collection<String> listCheckJobIds(final String jobId) {
+        return 
repository.getChildrenKeys(PipelineMetaDataNode.getCheckJobIdsRootPath(jobId));
+    }
+    
     @Override
     public void deleteJob(final String jobId) {
         log.info("delete job {}", jobId);
diff --git 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataUtil.java
 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataUtil.java
index 2935845ac78..80d49351208 100644
--- 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataUtil.java
+++ 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataUtil.java
@@ -19,6 +19,7 @@ package 
org.apache.shardingsphere.data.pipeline.core.metadata.loader;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import 
org.apache.shardingsphere.data.pipeline.api.metadata.loader.PipelineTableMetaDataLoader;
 import 
org.apache.shardingsphere.data.pipeline.api.metadata.model.PipelineColumnMetaData;
 import 
org.apache.shardingsphere.data.pipeline.api.metadata.model.PipelineIndexMetaData;
 import 
org.apache.shardingsphere.data.pipeline.api.metadata.model.PipelineTableMetaData;
@@ -42,7 +43,7 @@ public final class PipelineTableMetaDataUtil {
      * @param metaDataLoader meta data loader
      * @return pipeline column meta data
      */
-    public static PipelineColumnMetaData getUniqueKeyColumn(final String 
schemaName, final String tableName, final StandardPipelineTableMetaDataLoader 
metaDataLoader) {
+    public static PipelineColumnMetaData getUniqueKeyColumn(final String 
schemaName, final String tableName, final PipelineTableMetaDataLoader 
metaDataLoader) {
         PipelineTableMetaData pipelineTableMetaData = 
metaDataLoader.getTableMetaData(schemaName, tableName);
         return mustGetAnAppropriateUniqueKeyColumn(pipelineTableMetaData, 
tableName);
     }
diff --git 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/node/PipelineMetaDataNode.java
 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/node/PipelineMetaDataNode.java
index 6eeab56f1d7..3d459741913 100644
--- 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/node/PipelineMetaDataNode.java
+++ 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/node/PipelineMetaDataNode.java
@@ -112,21 +112,52 @@ public final class PipelineMetaDataNode {
     /**
      * Get job config path.
      *
-     * @param jobId job id.
-     * @return job config path.
+     * @param jobId job id
+     * @return job configuration path
      */
     public static String getJobConfigPath(final String jobId) {
         return String.join("/", getJobRootPath(jobId), "config");
     }
     
     /**
-     * Get job check result path.
+     * Get check latest result path.
      *
-     * @param jobId job id.
-     * @return job config path.
+     * @param jobId job id
+     * @return check latest result path
+     */
+    public static String getCheckLatestResultPath(final String jobId) {
+        return String.join("/", getJobRootPath(jobId), "check", 
"latest_result");
+    }
+    
+    /**
+     * Get check latest detailed result path.
+     *
+     * @param jobId job id
+     * @return check latest detailed result path
+     */
+    public static String getCheckLatestDetailedResultPath(final String jobId) {
+        return String.join("/", getJobRootPath(jobId), "check", 
"latest_detailed_result");
+    }
+    
+    /**
+     * Get check job ids root path.
+     *
+     * @param jobId job id
+     * @return check job ids root path
+     */
+    public static String getCheckJobIdsRootPath(final String jobId) {
+        return String.join("/", getJobRootPath(jobId), "check", "job_ids");
+    }
+    
+    /**
+     * Get check job id path.
+     *
+     * @param jobId job id
+     * @param checkJobId check job id
+     * @return check job id path
      */
-    public static String getJobCheckResultPath(final String jobId) {
-        return String.join("/", getJobRootPath(jobId), "check", "result");
+    public static String getCheckJobIdPath(final String jobId, final String 
checkJobId) {
+        return String.join("/", getCheckJobIdsRootPath(jobId), checkJobId);
     }
     
     /**
diff --git 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobId.java
 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobId.java
new file mode 100644
index 00000000000..c5bc8680f5c
--- /dev/null
+++ 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobId.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.data.pipeline.scenario.consistencycheck;
+
+import lombok.Getter;
+import lombok.NonNull;
+import lombok.ToString;
+import org.apache.shardingsphere.data.pipeline.api.job.JobType;
+import org.apache.shardingsphere.data.pipeline.core.job.AbstractPipelineJobId;
+
+import java.time.Instant;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * Consistency check job id.
+ */
+@Getter
+@ToString(callSuper = true)
+public final class ConsistencyCheckJobId extends AbstractPipelineJobId {
+    
+    public static final String CURRENT_VERSION = "01";
+    
+    private static final DateTimeFormatter DATE_TIME_FORMATTER = 
DateTimeFormatter.ofPattern("yyyyMMddHHmm");
+    
+    private final String pipelineJobId;
+    
+    private final String createTimeMinutes;
+    
+    public ConsistencyCheckJobId(final @NonNull String pipelineJobId, final 
long createTimeMillis) {
+        super(JobType.CONSISTENCY_CHECK, CURRENT_VERSION);
+        this.pipelineJobId = pipelineJobId;
+        this.createTimeMinutes = 
DATE_TIME_FORMATTER.format(Instant.ofEpochMilli(createTimeMillis));
+    }
+}
diff --git 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJobAPIImpl.java
 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJobAPIImpl.java
index 827cc74320a..560379526fa 100644
--- 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJobAPIImpl.java
+++ 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJobAPIImpl.java
@@ -334,7 +334,7 @@ public final class MigrationJobAPIImpl extends 
AbstractPipelineJobAPIImpl implem
         JobRateLimitAlgorithm readRateLimitAlgorithm = 
buildPipelineProcessContext(jobConfig).getReadRateLimitAlgorithm();
         Map<String, DataConsistencyCheckResult> result = new 
MigrationDataConsistencyChecker(jobConfig, 
readRateLimitAlgorithm).check(calculator);
         log.info("job {} with check algorithm '{}' data consistency checker 
result {}", jobId, calculator.getType(), result);
-        
PipelineAPIFactory.getGovernanceRepositoryAPI().persistJobCheckResult(jobId, 
aggregateDataConsistencyCheckResults(jobId, result));
+        
PipelineAPIFactory.getGovernanceRepositoryAPI().persistCheckLatestResult(jobId, 
aggregateDataConsistencyCheckResults(jobId, result));
         return result;
     }
     
diff --git 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/test/java/org/apache/shardingsphere/data/pipeline/core/metadata/node/PipelineMetaDataNodeTest.java
 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/test/java/org/apache/shardingsphere/data/pipeline/core/metadata/node/PipelineMetaDataNodeTest.java
index 278af44ff53..28683d1da23 100644
--- 
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/test/java/org/apache/shardingsphere/data/pipeline/core/metadata/node/PipelineMetaDataNodeTest.java
+++ 
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/test/java/org/apache/shardingsphere/data/pipeline/core/metadata/node/PipelineMetaDataNodeTest.java
@@ -27,11 +27,13 @@ public final class PipelineMetaDataNodeTest {
     
     private final String migrationMetaDataRootPath = 
"/pipeline/migration/metadata";
     
-    private final String jobId = "j01001";
+    private final String jobId = "j0101001";
     
     private final String jobsPath = "/pipeline/jobs";
     
-    private final String jobRootPath = jobsPath + "/j01001";
+    private final String jobRootPath = jobsPath + "/" + jobId;
+    
+    private final String jobCheckRootPath = jobRootPath + "/check";
     
     @Test
     public void assertGetMetaDataDataSourcesPath() {
@@ -69,8 +71,24 @@ public final class PipelineMetaDataNodeTest {
     }
     
     @Test
-    public void assertGetCheckResultPath() {
-        assertThat(PipelineMetaDataNode.getJobCheckResultPath(jobId), 
is(jobRootPath + "/check/result"));
+    public void assertGetCheckLatestResultPath() {
+        assertThat(PipelineMetaDataNode.getCheckLatestResultPath(jobId), 
is(jobCheckRootPath + "/latest_result"));
+    }
+    
+    @Test
+    public void assertGetCheckLatestDetailedResultPath() {
+        
assertThat(PipelineMetaDataNode.getCheckLatestDetailedResultPath(jobId), 
is(jobCheckRootPath + "/latest_detailed_result"));
+    }
+    
+    @Test
+    public void assertGetCheckJobIdsPath() {
+        assertThat(PipelineMetaDataNode.getCheckJobIdsRootPath(jobId), 
is(jobCheckRootPath + "/job_ids"));
+    }
+    
+    @Test
+    public void assertGetCheckJobIdPath() {
+        String checkJobId = "j0201001";
+        assertThat(PipelineMetaDataNode.getCheckJobIdPath(jobId, checkJobId), 
is(jobCheckRootPath + "/job_ids/" + checkJobId));
     }
     
     @Test
diff --git 
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/api/impl/GovernanceRepositoryAPIImplTest.java
 
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/api/impl/GovernanceRepositoryAPIImplTest.java
index ecf0ebd3ace..af4e96eb5a1 100644
--- 
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/api/impl/GovernanceRepositoryAPIImplTest.java
+++ 
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/api/impl/GovernanceRepositoryAPIImplTest.java
@@ -76,8 +76,8 @@ public final class GovernanceRepositoryAPIImplTest {
     @Test
     public void assertPersistJobCheckResult() {
         MigrationJobItemContext jobItemContext = mockJobItemContext();
-        
governanceRepositoryAPI.persistJobCheckResult(jobItemContext.getJobId(), true);
-        Optional<Boolean> checkResult = 
governanceRepositoryAPI.getJobCheckResult(jobItemContext.getJobId());
+        
governanceRepositoryAPI.persistCheckLatestResult(jobItemContext.getJobId(), 
true);
+        Optional<Boolean> checkResult = 
governanceRepositoryAPI.getCheckLatestResult(jobItemContext.getJobId());
         assertTrue(checkResult.isPresent() && checkResult.get());
     }
     
diff --git 
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/api/impl/MigrationJobAPIImplTest.java
 
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/api/impl/MigrationJobAPIImplTest.java
index 19976c5e08c..41d85c69570 100644
--- 
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/api/impl/MigrationJobAPIImplTest.java
+++ 
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/api/impl/MigrationJobAPIImplTest.java
@@ -225,7 +225,7 @@ public final class MigrationJobAPIImplTest {
         GovernanceRepositoryAPI repositoryAPI = 
PipelineAPIFactory.getGovernanceRepositoryAPI();
         MigrationJobItemContext jobItemContext = 
PipelineContextUtil.mockMigrationJobItemContext(jobConfig);
         jobAPI.persistJobItemProgress(jobItemContext);
-        repositoryAPI.persistJobCheckResult(jobId.get(), true);
+        repositoryAPI.persistCheckLatestResult(jobId.get(), true);
         jobAPI.updateJobItemStatus(jobId.get(), 
jobItemContext.getShardingItem(), JobStatus.EXECUTE_INVENTORY_TASK);
         Map<Integer, InventoryIncrementalJobItemProgress> progress = 
jobAPI.getJobProgress(jobId.get());
         for (Entry<Integer, InventoryIncrementalJobItemProgress> entry : 
progress.entrySet()) {

Reply via email to