Tools/Manuals/TS121
Back to Administration FAQ
Stopping WMS jobs flooding my site
Problem
A CE is getting flooded with jobs from a particular user or WMS/Condor-G node: how to stop that while keeping the CE available to others?
Solution
If the trouble comes from a particular WMS/Condor-G node, the firewall rules on the CE can be adjusted to refuse connections from that node. Note: here it is better to refuse connections instead of dropping the traffic, to allow the remote host to abort the corresponding jobs with the smallest delay.
If the trouble comes from a particular user (e.g. a huge amount of jobs submitted by accident), on an LCG-CE or CREAM CE the user DN should first be banned in /opt/glite/etc/lcas/ban_users.db (between double quotes, like in the grid-mapfile) to prevent further load on the service; the DN may need to be kept banned for a few days to try and ensure that the remote submission hosts had enough time to fail all the jobs involved.
Then, on a CREAM CE the jobs in question can be canceled in the batch system and (if needed) purged selectively as described here:
- http://grid.pd.infn.it/cream/field.php?n=Main.HowToPurgeJobsFromTheCREAMDB
- http://wiki.italiangrid.org/twiki/bin/view/CREAM/SystemAdministratorGuideForEMI1
On an LCG-CE one can remove all traces of the jobs in question as follows:
- Stop the relevant daemons:
/etc/init.d/globus-gma stop /etc/init.d/globus-job-manager-marshal stop /etc/init.d/globus-gass-cache-marshal stop
- In /opt/globus/tmp/gram_job_state remove the files owned by the affected (pool) account to which the user is mapped
- In /opt/globus/tmp/gma_state remove the single file for that account (beware that the file is owned by root)
- In the account's home directory rename the .lcgjm and .globus subdirectories:
mkdir junk mv .lcgjm .globus junk
- Restart the relevant daemons:
/etc/init.d/globus-gma start /etc/init.d/globus-job-manager-marshal start /etc/init.d/globus-gass-cache-marshal start
- Cancel the account's remaining jobs in the batch system.
- Remove the junk directory created earlier (it may take many minutes):
nice /bin/rm -r junk > /tmp/rm-$$.log 2>&1 < /dev/null &
- Check the log file afterwards: it should be empty.