[ https://issues.apache.org/jira/browse/GOBBLIN-2135?focusedWorklogId=931402&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-931402 ]
ASF GitHub Bot logged work on GOBBLIN-2135: ------------------------------------------- Author: ASF GitHub Bot Created on: 22/Aug/24 23:39 Start Date: 22/Aug/24 23:39 Worklog Time Spent: 10m Work Description: homatthew commented on code in PR #4030: URL: https://github.com/apache/gobblin/pull/4030#discussion_r1728046675 ########## gobblin-runtime/src/main/java/org/apache/gobblin/runtime/mapreduce/MRJobLauncher.java: ########## @@ -572,56 +573,22 @@ private void addJars(Path jarFileDir, String jarFileList, Configuration conf) th for (String jarFile : SPLITTER.split(jarFileList)) { Path srcJarFile = new Path(jarFile); FileStatus[] fileStatusList = lfs.globStatus(srcJarFile); - for (FileStatus status : fileStatusList) { + Path destJarFile = HdfsJarUploadUtils.calculateDestJarFile(fs, status, this.unsharedJarsDir, jarFileDir); // For each FileStatus there are chances it could fail in copying at the first attempt, due to file-existence // or file-copy is ongoing by other job instance since all Gobblin jobs share the same jar file directory. // the retryCount is to avoid cases (if any) where retry is going too far and causes job hanging. - int retryCount = 0; - boolean shouldFileBeAddedIntoDC = true; - Path destJarFile = calculateDestJarFile(status, jarFileDir); - // Adding destJarFile into HDFS until it exists and the size of file on targetPath matches the one on local path. - while (!this.fs.exists(destJarFile) || fs.getFileStatus(destJarFile).getLen() != status.getLen()) { - try { - if (this.fs.exists(destJarFile) && fs.getFileStatus(destJarFile).getLen() != status.getLen()) { - Thread.sleep(WAITING_TIME_ON_IMCOMPLETE_UPLOAD); Review Comment: This key seems unused now in this class. And might as well fix the typo in `HdfsJarUploadUtils` Issue Time Tracking ------------------- Worklog Id: (was: 931402) Remaining Estimate: 0h Time Spent: 10m > Cache Yarn jars in GobblinYarnAppLauncher > ----------------------------------------- > > Key: GOBBLIN-2135 > URL: https://issues.apache.org/jira/browse/GOBBLIN-2135 > Project: Apache Gobblin > Issue Type: Improvement > Reporter: William Lo > Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > Gobblin YARN Application Launcher lacks some functionality used in > MRJobLauncher. One of the biggest gaps in feature parity is the absence of > jar caching, where MRJobLauncher creates a monthly cache that is > automatically cleaned up by subsequent executions performed 2 months in > advance. > YARN/MR requires uploading jars to HDFS, this step can be quite slow (~15 > mins for a sizeable job to get all the jars), and given that many jobs do > share the same jars, it makes sense to cache them together and only provide > YARN the shared path. > We also want to ensure that SNAPSHOT jars are other files are not uploaded to > a cache, since they are not immutable unlike jar versions on Artifactory. -- This message was sent by Atlassian Jira (v8.20.10#820010)