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);