luoyuan3471 opened a new pull request, #8767:
URL: https://github.com/apache/hadoop/pull/8767

   ### Description of PR
   
   When multiple containers request the same Docker image concurrently, 
separate NodeManager launch threads can invoke duplicate `docker pull` commands 
for that image. These pulls contend on the same image and perform redundant 
work.
   
   This change serializes pulls by image name with reference-counted per-image 
locks. Pulls for the same image execute one at a time, while pulls for 
different images can still run concurrently. Unused locks are removed after the 
last waiter finishes, including when a pull fails.
   
   JIRA: https://issues.apache.org/jira/browse/YARN-11997
   
   ### How was this patch tested?
   
   - Added focused coverage in `TestDockerContainerRuntime` for serializing 
concurrent pulls of the same image, allowing different images to pull 
concurrently, and releasing the image lock after a failed pull.
   - `TestDockerContainerRuntime`: 127 tests passed, 0 failures, 0 errors, 0 
skipped.
   - `git diff --check` passed.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to