On 23 Jan 2018, at 5:47, Pascal Bourguignon wrote:
On 23 Jan 2018, at 12:00, Jim Newton jnewton@lrde.epita.fr wrote:
If I run several sbcl processes on different nodes in my compute cluster, it might happen that two different runs notice the same file needs to be recompiled (via asdf), and they might try to compile it at the same time. What is the best way to prevent this?
I see in the asdf documentation that there is an asdf:*user-cache* variable whose value is the path name of the directory where asdf compiles into. Would it be advisable for my to arrange so that asdf:*user-cache* is a function of the pid and hostname and perhaps thread-id (if such a thing exists) to avoid such collisions?
Or is there some better way to handle this which is build into asdf?
I had requested that ASDF includes the hostname (or machine-instance), in the built path for the cache. Unfortunately, for some reason, the maintainers of ASDF thought it was a good read to remove it. There you are!
This would be a poor solution for the many users who connect via DHCP on different networks and have hostnames that change.
There are relatively few people who have an issue with contention over their home directories, and those users can simply reconfigure their ASDF output translations. But there are relatively many who might find their hostname changing.