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

zhonghongsheng 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 c13e09c7752 Refactor PipelineJobId to add ParentJobId (#29285)
c13e09c7752 is described below

commit c13e09c775285f259def545a54b31d40847e8567
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Dec 5 10:14:32 2023 +0800

    Refactor PipelineJobId to add ParentJobId (#29285)
---
 .../shardingsphere/data/pipeline/common/job/PipelineJobId.java   | 9 +++++++++
 .../data/pipeline/core/job/PipelineJobIdUtils.java               | 2 +-
 .../scenario/consistencycheck/ConsistencyCheckJobId.java         | 5 +++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/job/PipelineJobId.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/job/PipelineJobId.java
index 0d2827566e5..e5b28ff2d9e 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/job/PipelineJobId.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/common/job/PipelineJobId.java
@@ -43,6 +43,15 @@ public interface PipelineJobId {
      */
     PipelineContextKey getContextKey();
     
+    /**
+     * Get parent job id.
+     *
+     * @return parent job id
+     */
+    default Optional<String> getParentJobId() {
+        return Optional.empty();
+    }
+    
     /**
      * Get sequence.
      *
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/PipelineJobIdUtils.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/PipelineJobIdUtils.java
index 829e2a458cf..3ad5083cba7 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/PipelineJobIdUtils.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/PipelineJobIdUtils.java
@@ -52,7 +52,7 @@ public final class PipelineJobIdUtils {
      * @return job id
      */
     public static String marshal(final PipelineJobId jobId) {
-        return marshalPrefix(jobId.getJobType(), jobId.getContextKey()) + 
marshalSuffix(jobId) + jobId.getSequence().map(String::valueOf).orElse("");
+        return marshalPrefix(jobId.getJobType(), jobId.getContextKey()) + 
marshalSuffix(jobId) + jobId.getParentJobId().orElse("") + 
jobId.getSequence().map(String::valueOf).orElse("");
     }
     
     private static String marshalPrefix(final PipelineJobType jobType, final 
PipelineContextKey contextKey) {
diff --git 
a/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobId.java
 
b/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobId.java
index 526b23f97fa..3302b6ea929 100644
--- 
a/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobId.java
+++ 
b/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobId.java
@@ -63,6 +63,11 @@ public final class ConsistencyCheckJobId implements 
PipelineJobId {
         return Integer.parseInt(checkJobId.substring(checkJobId.length() - 1));
     }
     
+    @Override
+    public Optional<String> getParentJobId() {
+        return Optional.of(parentJobId);
+    }
+    
     @Override
     public Optional<Integer> getSequence() {
         return Optional.of(sequence);

Reply via email to