Dear TJ, thanks for the quick reply, answers inline :-). Am 06.08.20 um 16:15 schrieb John M Knoeller:
There is no formal way to mark attributes as IMMUTABLE while the job is running. But I should point out that if the user does change the MaxJobRuntimeHours value, that change will never be forwarded to the execute node. So it will be effectively immutable while the job is running as far as the execute node is concerned. Is that good enough for your purpose?
Sadly, no (or let's say, not in the way we use it now). We use it both on the Schedd: RemoveExceededMaxRuntimeHours = ( (MaxRuntimeHours isnt Undefined) && ( RemoteWallClockTime > (MaxRuntimeHours*60*60) ) ) SYSTEM_PERIODIC_REMOVE = $(SYSTEM_PERIODIC_REMOVE) || $(RemoveExceededMaxRuntimeHours) and in the START expression on the Startd: START = ( $(START) ) && ( MY.BackfillableMaxRuntimeHours >= ifThenElse(isUndefined(TARGET.MaxRuntimeHours),168,TARGET.MaxRuntimeHours) )
If we added IMMUTABLE_WHILE_RUNNING, what should happen if the job goes on hold or runs and is evicted and the job goes back to IDLE state, should the attribute be editable again?
That's a very good question indeed, and I think there is no non-confusing answer to it. My personal feeling would be that the attribute should only be editable before being first "used", i.e. PROTECTED_BEFORE_USED_JOB_ATTRS, defining "USED" as the first time the job has changed state. But others might well argue that attributes should become editable again once the job becomes IDLE / HELD again.
Is MaxJobRuntimeHours something that the execute node enforces? or is it something that the Schedd enforces via a PERIODIC_REMOVE or PERIODIC_HOLD expression?
See above, we enforce almost all out limits via the Schedds at the moment. Cheers and thanks, Oliver
-tj -----Original Message----- From: HTCondor-users <htcondor-users-bounces@xxxxxxxxxxx> On Behalf Of Oliver Freyermuth Sent: Thursday, August 6, 2020 8:14 AM To: htcondor-users@xxxxxxxxxxx Cc: Peter Wienemann <peter.wienemann@xxxxxxxxxxx> Subject: [HTCondor-users] Editing PROTECTED_JOB_ATTRS while Jobs are still IDLE? Dear HTCondor experts, I'm using PROTECTED_JOB_ATTRS for some attributes such as the MaxJobRuntimeHours our users can specify (i.e. the maximum time their job is allowed to run before it can be killed, we use that to backfill draining nodes). Unless I am mistaken, PROTECTED_JOB_ATTRS means that the attributes can not be edited anymore after the jobs are submitted (even before they are matched). Is there a similar knob which makes the attributes "immutable" only after the jobs have been matched / entered running state, so users can still "change their mind" while jobs are in the queue without "rm" and resubmitting them? Ideally, I'd also love to keep the possiblity for the queue super users to edit them (as is the case for PROTECTED_JOB_ATTRS). Cheers from Bonn, Oliver
-- Oliver Freyermuth UniversitÃt Bonn Physikalisches Institut, Raum 1.047 NuÃallee 12 53115 Bonn -- Tel.: +49 228 73 2367 Fax: +49 228 73 7869 --
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature