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

Reply via email to