If a push of an existing docker image with existing tag finishes while some client is pulling this tag, we will fail and get a "unknown blob" error.
If some client is still in the process of pulling the image, based on the manifest it received before the push, which still included the deleted layers layers post the push. When the pull gets to the point of downloading one of the deleted layers, it encounters a 404 error because the layer no longer exists in the repository. This results in the Docker daemon on the client returning an "unknown blob" error and aborting the pull.
Steps to reproduce:
1. Upload a docker image with size above 1GB to Artifactory
2. Find another image with size of few kb's, tag it with the same image name and tag as the image in step 1.
3. Start pulling the image from step 1
4. Upload the image from step 2 while pulling
5. You will notice a "unknown blob" error in the docker client once the upload is done