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

Reply via email to