[
https://issues.apache.org/jira/browse/GOBBLIN-1948?focusedWorklogId=888510&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-888510
]
ASF GitHub Bot logged work on GOBBLIN-1948:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 02/Nov/23 20:44
Start Date: 02/Nov/23 20:44
Worklog Time Spent: 10m
Work Description: umustafi commented on code in PR #3819:
URL: https://github.com/apache/gobblin/pull/3819#discussion_r1380753192
##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/FlowSpec.java:
##########
@@ -423,6 +423,17 @@ public boolean isScheduled() {
return getConfig().hasPath(ConfigurationKeys.JOB_SCHEDULE_KEY);
}
+ /**
+ * Create a new FlowSpec object with the added property defined by path and
value parameters
+ * @param path key for new property
+ * @param value
+ */
+ public FlowSpec addProperty(String path, String value) {
+ Properties properties = this.getConfigAsProperties();
+ properties.setProperty(path, value);
+ return new
Builder(this.getUri()).withConfigAsProperties(properties).build();
Review Comment:
Yes I have to clone and create a new FlowSpec because `type safe Configs`
are immutable plus we have made `Config` a final variable (All variables are
final). Rather than change what may be a core idea that `FlowSpecs` are
immutable, I am creating a clone which has all the previous properties and URI
plus the new one.
Issue Time Tracking
-------------------
Worklog Id: (was: 888510)
Time Spent: 1h (was: 50m)
> Use Consist flowExecutionId Across Participants
> -----------------------------------------------
>
> Key: GOBBLIN-1948
> URL: https://issues.apache.org/jira/browse/GOBBLIN-1948
> Project: Apache Gobblin
> Issue Type: New Feature
> Components: gobblin-service
> Reporter: Urmi Mustafi
> Assignee: Abhishek Tiwari
> Priority: Major
> Time Spent: 1h
> Remaining Estimate: 0h
>
> A consistent flowExecutionId is used during lease arbitration between hosts
> and that id is available to the DagActionStoreChangeMonitor but not used when
> passing launch events to the Orchestrator for recompilation and eventual
> execution. The unintended consequence of this is that a different
> flowExecutionId will be used across each participant when the flow is
> recompiled before passing to the DagManager. This messes up the job status of
> the most recent flow execution of each flow as it appears there are N flow
> execution Ids, 1 for each of the N hosts. Only one will be executed but the
> other N-1 are stuck in "compiling" job status state.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)