I'm using a cluster with multiple machines that all share a filesystem. This is managed using SLURM, and in order to get compute time, I request a node for a period of time and I get one of 100 or more possible machines, with a name like 'c222-103'. When I switch machines, SBT insists on recompiling every single one of my Scala and Java files rather than only the ones that have changed.
This doesn't happen if the last compilation was on the same machine as the next one, e.g. if I compile multiple times in a single session or if I request a new compute session and happen to get the same node as last time, so somewhere SBT is clearly noting which machine I'm on and deciding to recompile everything if it changes, even though all the paths are the same due to the shared filesystem.
How do I debug and/or fix this problem?