[ https://issues.apache.org/jira/browse/GOBBLIN-1084?focusedWorklogId=404075&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-404075 ]
ASF GitHub Bot logged work on GOBBLIN-1084: ------------------------------------------- Author: ASF GitHub Bot Created on: 16/Mar/20 16:40 Start Date: 16/Mar/20 16:40 Worklog Time Spent: 10m Work Description: sv2000 commented on pull request #2924: [GOBBLIN-1084] Refresh flowgraph when templates are modified URL: https://github.com/apache/incubator-gobblin/pull/2924#discussion_r393159757 ########## File path: gobblin-service/src/main/java/org/apache/gobblin/service/modules/core/GitFlowGraphMonitor.java ########## @@ -128,11 +131,15 @@ public boolean shouldPollGit() { */ @Override void processGitConfigChanges() throws GitAPIException, IOException { - if (flowTemplateCatalog.isPresent() && (flowTemplateCatalog.get() instanceof ObservingFSFlowEdgeTemplateCatalog)) { - ObservingFSFlowEdgeTemplateCatalog catalog = (ObservingFSFlowEdgeTemplateCatalog) flowTemplateCatalog.get(); - if (catalog.isShouldRefreshFlowGraph()) { - this.gitRepo.initRepository(); - catalog.setShouldRefreshFlowGraph(false); + if (lock.tryLock()) { Review comment: So here is the race condition I was thinking of: 1. FlowCatalog has been refreshed so shouldRefreshFlowGraph is marked true. 2. GitMonitoringService calls processGitConfigChanges() and at some point before this method is done, FlowCatalog observes another refresh and sets shouldRefreshFlowGraph flag to true. 3. This flag is reset by GitMonitoringService to false at the end of processGitConfigChanges(). So the GitMonitoringService can miss the 2nd catalog refresh and fail to add edges. LMK, if this is still not clear. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 404075) Time Spent: 1h 40m (was: 1.5h) > Refresh flowgraph when templates are modified > --------------------------------------------- > > Key: GOBBLIN-1084 > URL: https://issues.apache.org/jira/browse/GOBBLIN-1084 > Project: Apache Gobblin > Issue Type: Improvement > Reporter: Jack Moseley > Priority: Major > Time Spent: 1h 40m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.3.4#803005)