jerryshao opened a new issue, #13567:
URL: https://github.com/apache/gravitino/issues/13567

   ### Describe the subtask
   
   After #13566, the local job executor still relies on the default 
`submitJob(JobContext, JobTemplate)`. It also infers each job's working 
directory from the parent directory of the localized executable, in both 
`LocalProcessBuilder` and the output index. That inference breaks as soon as 
the executable is not a file in the staging directory, for example a command on 
the `PATH`.
   
   Make the local job executor use the job context directly:
   
   - `LocalJobExecutor` implements `submitJob(JobContext, JobTemplate)`. It 
localizes the job template into `JobContext#stagingDir()` with 
`JobResourceUtils#localizeJobTemplate`, and uses that directory as the job's 
working directory. It no longer implements `submitJob(JobTemplate)`.
   - The waiting queue carries the working directory with each job, and 
`LocalProcessBuilder` takes it explicitly instead of inferring it from the 
executable path. `LocalProcessBuilder#resolveWorkingDirectory` is removed.
   - The output index records the working directory from the job context.
   
   Behavior: unchanged for jobs run through `JobManager`. A subclass of 
`LocalJobExecutor` that overrides `submitJob(JobTemplate)` is no longer called 
through that method, and has to override `submitJob(JobContext, JobTemplate)` 
instead.
   
   Depends on #13566.
   
   ### Parent issue
   
   #13554
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to