-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New SHARE and WORK variables pointing to the symlink'd location? #6488
Comments
Suggest using [runtime]
[[root]]
[[[environment]]]]
CYLC_TASK_WORK_DIR = $(realpath "$CYLC_TASK_WORK_DIR") This will ensure that all uses of the env var will pick up the resolved location if that is what you want. |
I know that is doable, but, that still adds some I/O load to the system via |
Seems reasonable to me. E.g. |
The downsides are:
If there is no downside to resolving this symlink (requires thought), then we could consider making this the default. Alternatively, if your site is keen to avoid symlink resolving, then perhaps we could consider a per-platform config to flatten the existing env vars? |
I don't think there is any way to safely avoid using realpath in which case I think Oliver's original suggestion makes sense rather than adding more variables. |
Problem
In the global.cylc, we have our
share
andwork
directories on lustre, which are symlinked into our workflows area. Typically, we access those locations using things likeCYLC_TASK_WORK_DIR
andROSE_DATAC
- but they go through the symoblic link. Under low traffic, that is fine, but, we have shown under high traffic this can cause problems and it is less load on metadata servers to use the real path. Someone explained it to me a while ago, but I've forgotten what goes on each time a symbolic link is traversed.Proposed Solution
When a workflow is installed, it obviously knows that real path as it sets the symlinks up. I would like those variables made available directly in a job script so we can avoid traversing the symbolic links when scripting. I think the symlinks are useful for navigating easily in interactive mode, but from an efficiency perspective, not using them inside a script is better.
The text was updated successfully, but these errors were encountered: