This is an automated email from the ASF dual-hosted git repository. menghaoran 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 9165405edd4 Ignored table in data consistency check handled as successful (#35338) 9165405edd4 is described below commit 9165405edd48f2cb83842f2e32f794d2e5b50857 Author: Hongsheng Zhong <zhonghongsh...@apache.org> AuthorDate: Tue May 6 12:00:51 2025 +0800 Ignored table in data consistency check handled as successful (#35338) --- .../consistencycheck/result/TableDataConsistencyCheckResult.java | 9 +++++++++ .../scenario/consistencycheck/api/ConsistencyCheckJobAPI.java | 4 ++-- .../consistencycheck/task/ConsistencyCheckTasksRunner.java | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/result/TableDataConsistencyCheckResult.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/result/TableDataConsistencyCheckResult.java index ebf462baea7..38c208962ab 100644 --- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/result/TableDataConsistencyCheckResult.java +++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/result/TableDataConsistencyCheckResult.java @@ -58,4 +58,13 @@ public final class TableDataConsistencyCheckResult { public boolean isMatched() { return null == ignoredType && matched; } + + /** + * Is successful. + * + * @return successful or not + */ + public boolean isSuccessful() { + return isMatched() || isIgnored(); + } } diff --git a/kernel/data-pipeline/scenario/consistency-check/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/api/ConsistencyCheckJobAPI.java b/kernel/data-pipeline/scenario/consistency-check/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/api/ConsistencyCheckJobAPI.java index 566da946436..ba6fe2501b7 100644 --- a/kernel/data-pipeline/scenario/consistency-check/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/api/ConsistencyCheckJobAPI.java +++ b/kernel/data-pipeline/scenario/consistency-check/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/api/ConsistencyCheckJobAPI.java @@ -225,8 +225,8 @@ public final class ConsistencyCheckJobAPI { result.setErrorMessage(PipelineAPIFactory.getPipelineGovernanceFacade(PipelineJobIdUtils.parseContextKey(latestCheckJobId)).getJobItemFacade().getErrorMessage().load(latestCheckJobId, 0)); Map<String, TableDataConsistencyCheckResult> checkJobResults = PipelineAPIFactory.getPipelineGovernanceFacade(PipelineJobIdUtils.parseContextKey(parentJobId)) .getJobFacade().getCheck().getCheckJobResult(parentJobId, latestCheckJobId); - result.setCheckSuccess(checkJobResults.isEmpty() ? null : checkJobResults.values().stream().allMatch(TableDataConsistencyCheckResult::isMatched)); - result.setCheckFailedTableNames(checkJobResults.entrySet().stream().filter(each -> !each.getValue().isIgnored() && !each.getValue().isMatched()) + result.setCheckSuccess(checkJobResults.isEmpty() ? null : checkJobResults.values().stream().allMatch(TableDataConsistencyCheckResult::isSuccessful)); + result.setCheckFailedTableNames(checkJobResults.entrySet().stream().filter(each -> !each.getValue().isSuccessful()) .map(Entry::getKey).collect(Collectors.joining(","))); return result; } diff --git a/kernel/data-pipeline/scenario/consistency-check/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/task/ConsistencyCheckTasksRunner.java b/kernel/data-pipeline/scenario/consistency-check/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/task/ConsistencyCheckTasksRunner.java index e348747462c..0190fd40117 100644 --- a/kernel/data-pipeline/scenario/consistency-check/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/task/ConsistencyCheckTasksRunner.java +++ b/kernel/data-pipeline/scenario/consistency-check/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/task/ConsistencyCheckTasksRunner.java @@ -146,7 +146,7 @@ public final class ConsistencyCheckTasksRunner implements PipelineTasksRunner { log.info("onSuccess, check job id: {}, parent job id: {}", checkJobId, parentJobId); Map<String, TableDataConsistencyCheckResult> checkJobResult = PipelineAPIFactory.getPipelineGovernanceFacade( PipelineJobIdUtils.parseContextKey(parentJobId)).getJobFacade().getCheck().getCheckJobResult(parentJobId, checkJobId); - if (checkJobResult.values().stream().allMatch(TableDataConsistencyCheckResult::isMatched)) { + if (checkJobResult.values().stream().allMatch(TableDataConsistencyCheckResult::isSuccessful)) { jobItemContext.setStatus(JobStatus.FINISHED); } else { jobItemContext.setStatus(JobStatus.CONSISTENCY_CHECK_FAILURE);