Job Launchpad may need a protection against LFN sandbox
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Read JobLaunchpadHandler.py around line 201 and JobWrapper.py around line 1127 to trace how LFNs become sandbox downloads. Compare where file counts, volume, or available disk space could be checked. Done means a directory LFN cannot fill a worker-node disk without being rejected or bounded by an explicit protection.
Written by the indexing model from the issue text.
Description
We had a case where
- A user used the DIRAC JobLaunchpad WebApp specifying a LFN
- The "LFN" specified was not a file, but a directory
- The job started downloading files under the directory, filling up the WN disk
- The site found the problem and closed the WN, then contacted us
JobLaunchpadHandler simply adds the specified LFNs to JDL
https://github.com/DIRACGrid/WebAppDIRAC/blob/9948d0ef327368ed1e502f41e029f91de3af121d/src/WebAppDIRAC/WebApp/handler/JobLaunchpadHandler.py#L201
JobWrapper simply passes the sandbox files with "LFN:" to DMS getFile
https://github.com/DIRACGrid/DIRAC/blob/fdfd3a4802a5543369d307cbbb3c0781f2f14219/src/DIRAC/WorkloadManagementSystem/JobWrapper/JobWrapper.py#L1127
Can there be some kind of protection to avoid this?
Preferably in JobLaunchpad, with the number of files, or with the total volume?
If that is difficult in the WebApp, then in JobWrapper where it can tell the disk space and the volume of the sandbox?
- Dominant language
- JavaScript
- Stars
- 8
- Forks
- 42
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Similar issues
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 92/100
PedestrianDynamics/pyFDS-Evac#476 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
aiko-chan-ai/DiscordBotClient#380 ·
-
Offisielle trærOpen
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 3 days
-
Add: Atlas TVOpenchannels:add check:passed
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 4 days