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()) {