[jira] [Work logged] (GOBBLIN-713) Lazy load job specification from job catalog to avoid OOM issue when JobCatalog is bootup.
[ https://issues.apache.org/jira/browse/GOBBLIN-713?focusedWorklogId=219687=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-219687 ] ASF GitHub Bot logged work on GOBBLIN-713: -- Author: ASF GitHub Bot Created on: 27/Mar/19 22:50 Start Date: 27/Mar/19 22:50 Worklog Time Spent: 10m Work Description: asfgit commented on pull request #2581: [GOBBLIN-713] Lazy load job specification from job catalog to avoid OOM issue. URL: https://github.com/apache/incubator-gobblin/pull/2581 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: 219687) Time Spent: 50m (was: 40m) > Lazy load job specification from job catalog to avoid OOM issue when > JobCatalog is bootup. > -- > > Key: GOBBLIN-713 > URL: https://issues.apache.org/jira/browse/GOBBLIN-713 > Project: Apache Gobblin > Issue Type: Improvement >Reporter: Kuai Yu >Priority: Major > Time Spent: 50m > Remaining Estimate: 0h > > Today whenever the job catalog is restarted, all the job specs are load into > memory. This can cause OOM issue in our production load. Ticket was created > to provide an easy way to load job spec without materializing all the job > specs into memory. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Work logged] (GOBBLIN-713) Lazy load job specification from job catalog to avoid OOM issue when JobCatalog is bootup.
[ https://issues.apache.org/jira/browse/GOBBLIN-713?focusedWorklogId=218986=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-218986 ] ASF GitHub Bot logged work on GOBBLIN-713: -- Author: ASF GitHub Bot Created on: 26/Mar/19 22:43 Start Date: 26/Mar/19 22:43 Worklog Time Spent: 10m Work Description: yukuai518 commented on pull request #2581: [GOBBLIN-713] Lazy load job specification from job catalog to avoid OOM issue. URL: https://github.com/apache/incubator-gobblin/pull/2581#discussion_r269345097 ## File path: gobblin-utility/src/main/java/org/apache/gobblin/util/PullFileLoader.java ## @@ -212,6 +212,47 @@ public Config loadPullFile(Path path, Config sysProps, boolean loadGlobalPropert } } + public List fetchJobFilesRecursively(Path path) { +return getSortedPaths(fetchJobFilePathsRecursivelyHelper(path)); + } + + private List getSortedPaths(List pathsWithTimeStamps) { +List sortedPaths = Lists.newArrayList(); +Collections.sort(pathsWithTimeStamps, Comparator.comparingLong(o -> o.timeStamp)); +for (PathWithTimeStamp pathWithTimeStamp : pathsWithTimeStamps) { + sortedPaths.add(pathWithTimeStamp.path); +} +return sortedPaths; + } + + private List fetchJobFilePathsRecursivelyHelper(Path path) { Review comment: Resolved 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: 218986) Time Spent: 40m (was: 0.5h) > Lazy load job specification from job catalog to avoid OOM issue when > JobCatalog is bootup. > -- > > Key: GOBBLIN-713 > URL: https://issues.apache.org/jira/browse/GOBBLIN-713 > Project: Apache Gobblin > Issue Type: Improvement >Reporter: Kuai Yu >Priority: Major > Time Spent: 40m > Remaining Estimate: 0h > > Today whenever the job catalog is restarted, all the job specs are load into > memory. This can cause OOM issue in our production load. Ticket was created > to provide an easy way to load job spec without materializing all the job > specs into memory. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Work logged] (GOBBLIN-713) Lazy load job specification from job catalog to avoid OOM issue when JobCatalog is bootup.
[ https://issues.apache.org/jira/browse/GOBBLIN-713?focusedWorklogId=218977=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-218977 ] ASF GitHub Bot logged work on GOBBLIN-713: -- Author: ASF GitHub Bot Created on: 26/Mar/19 22:23 Start Date: 26/Mar/19 22:23 Worklog Time Spent: 10m Work Description: htran1 commented on pull request #2581: [GOBBLIN-713] Lazy load job specification from job catalog to avoid OOM issue. URL: https://github.com/apache/incubator-gobblin/pull/2581#discussion_r269339933 ## File path: gobblin-utility/src/main/java/org/apache/gobblin/util/PullFileLoader.java ## @@ -212,6 +212,47 @@ public Config loadPullFile(Path path, Config sysProps, boolean loadGlobalPropert } } + public List fetchJobFilesRecursively(Path path) { +return getSortedPaths(fetchJobFilePathsRecursivelyHelper(path)); + } + + private List getSortedPaths(List pathsWithTimeStamps) { +List sortedPaths = Lists.newArrayList(); +Collections.sort(pathsWithTimeStamps, Comparator.comparingLong(o -> o.timeStamp)); +for (PathWithTimeStamp pathWithTimeStamp : pathsWithTimeStamps) { + sortedPaths.add(pathWithTimeStamp.path); +} +return sortedPaths; + } + + private List fetchJobFilePathsRecursivelyHelper(Path path) { Review comment: See if this can be reused to replace `loadPullFilesRecursivelyHelper` 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: 218977) Time Spent: 0.5h (was: 20m) > Lazy load job specification from job catalog to avoid OOM issue when > JobCatalog is bootup. > -- > > Key: GOBBLIN-713 > URL: https://issues.apache.org/jira/browse/GOBBLIN-713 > Project: Apache Gobblin > Issue Type: Improvement >Reporter: Kuai Yu >Priority: Major > Time Spent: 0.5h > Remaining Estimate: 0h > > Today whenever the job catalog is restarted, all the job specs are load into > memory. This can cause OOM issue in our production load. Ticket was created > to provide an easy way to load job spec without materializing all the job > specs into memory. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Work logged] (GOBBLIN-713) Lazy load job specification from job catalog to avoid OOM issue when JobCatalog is bootup.
[ https://issues.apache.org/jira/browse/GOBBLIN-713?focusedWorklogId=218954=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-218954 ] ASF GitHub Bot logged work on GOBBLIN-713: -- Author: ASF GitHub Bot Created on: 26/Mar/19 21:53 Start Date: 26/Mar/19 21:53 Worklog Time Spent: 10m Work Description: yukuai518 commented on issue #2581: [GOBBLIN-713] Lazy load job specification from job catalog to avoid OOM issue. URL: https://github.com/apache/incubator-gobblin/pull/2581#issuecomment-476867904 @htran1 Can you review? 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: 218954) Time Spent: 20m (was: 10m) > Lazy load job specification from job catalog to avoid OOM issue when > JobCatalog is bootup. > -- > > Key: GOBBLIN-713 > URL: https://issues.apache.org/jira/browse/GOBBLIN-713 > Project: Apache Gobblin > Issue Type: Improvement >Reporter: Kuai Yu >Priority: Major > Time Spent: 20m > Remaining Estimate: 0h > > Today whenever the job catalog is restarted, all the job specs are load into > memory. This can cause OOM issue in our production load. Ticket was created > to provide an easy way to load job spec without materializing all the job > specs into memory. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Work logged] (GOBBLIN-713) Lazy load job specification from job catalog to avoid OOM issue when JobCatalog is bootup.
[ https://issues.apache.org/jira/browse/GOBBLIN-713?focusedWorklogId=218953=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-218953 ] ASF GitHub Bot logged work on GOBBLIN-713: -- Author: ASF GitHub Bot Created on: 26/Mar/19 21:53 Start Date: 26/Mar/19 21:53 Worklog Time Spent: 10m Work Description: yukuai518 commented on pull request #2581: [GOBBLIN-713] Lazy load job specification from job catalog to avoid OOM issue. URL: https://github.com/apache/incubator-gobblin/pull/2581 Lazy load job specification from job catalog to avoid OOM issue. Dear Gobblin maintainers, Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below! ### JIRA - [x] My PR addresses the following [Gobblin JIRA](https://issues.apache.org/jira/browse/GOBBLIN/) issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR" - https://issues.apache.org/jira/browse/GOBBLIN-713 ### Description - [x] Here are some details about my PR, including screenshots (if applicable): Use iterator instead of a collection to handle the lazy loading of job specs. All the job spec's path is load first and then convert to the job spec during the iteration. ### Tests - [x] My PR adds the following unit tests __OR__ does not need testing for this extremely good reason: ### Commits - [x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "[How to write a good git commit message](http://chris.beams.io/posts/git-commit/)": 1. Subject is separated from body by a blank line 2. Subject is limited to 50 characters 3. Subject does not end with a period 4. Subject uses the imperative mood ("add", not "adding") 5. Body wraps at 72 characters 6. Body explains "what" and "why", not "how" 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: 218953) Time Spent: 10m Remaining Estimate: 0h > Lazy load job specification from job catalog to avoid OOM issue when > JobCatalog is bootup. > -- > > Key: GOBBLIN-713 > URL: https://issues.apache.org/jira/browse/GOBBLIN-713 > Project: Apache Gobblin > Issue Type: Improvement >Reporter: Kuai Yu >Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > Today whenever the job catalog is restarted, all the job specs are load into > memory. This can cause OOM issue in our production load. Ticket was created > to provide an easy way to load job spec without materializing all the job > specs into memory. -- This message was sent by Atlassian JIRA (v7.6.3#76005)