Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

Directory caching failure on unix #4576

drdt ·

I have a job which does the following:

  • on the server, check out the source to a network drive.
  • on a remote machine, launch the compilation step, which creates artifacts on the same network drive.
  • back on the server, use the "Artifactory Artifacts" publish step type to upload the artifacts from the network drive.

When the remote machine is Windows, this works fine, but recently when trying this on unix we are getting this error from the publish step:
Can not find source directory for artifact deployment: /path-to-workspace/dev/.../release

That "release" directory does exist and is accessible from the server. However, experimentation shows that any attempt to trigger a step which has that location as its working directory fails with this error. However, if I precede that with a step that simply does "ls path-to-workspace", it works.

As an experiment I created a groovy step that does the following:
ls /path-to-workspace/dev/.../release
ls /path-to-workspace
ls /path-to-workspace/dev/.../release

The first 'ls' command returns nothing, but the last one shows the contents of the 'release' directory. So, it looks like QB is caching the old contents of the workspace and doesn't realize the other machine created a new directory until we run the 'ls' command.

This seems like a bug to me, can you look into it?

  • replies 4
  • views 328
  • stars 0
robinshen ADMIN ·

QB does not cache any workspace directories. Can you help to reproduce the issue with an example QB setup and send me the database backup?

drdt ·

Thank you for the food for thought. I am going to try to reproduce it outside of QB first. It may in fact be an issue with our NFS server. But it has only appeared in QB. Or at least, has only been reported in QB.

robinshen ADMIN ·

Can it be that there is a slight delay for files to be accessed by other machines after being created for this network share? You may add a short sleep before accessing to see if this is the case.

drdt ·

I was able to reproduce the problem outside of QB, using a shell script. So it is an issue with our NFS configuration.

It isn't a delay, the new folder is not seen until I run 'ls' in the parent directory. which is how we are working around the problem in QB for now.

Thanks for your thoughts, though.