[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Condor-users] Bug? submit script Classadds can't start with anumber?
- Date: Fri, 31 Dec 2004 01:21:12 -0600
- From: Derek Wright <wright@xxxxxxxxxxx>
- Subject: Re: [Condor-users] Bug? submit script Classadds can't start with anumber?
On Thu, 30 Dec 2004 09:03:51 -0600 Nate Mueller wrote:
> Any string values for classads should be in double quotes.
> In this case Condor is trying to interperate 77planes_v02 as an
> integer and failing.
actually, it's trying to interpret it as an attribute reference.
> Classads will work if the string starts with a non-number, but it's
> best just to quote all strings.
that's not really true. when condor sees "strings" in a classad that
look like this:
Requirements = START
'START' isn't being treated as a string. it's the name of another
classad attribute that should be evaluated. so, it's the rules of
what makes a valid classad attribute name that apply to 'unquoted
strings' like this (again, they're *not* really strings). classad
attribute names can't start with numbers, can't contain punctuation,
etc, etc. basically, any part of any classad expression that is not a
float (3.147), int (42), or string ("confusion") literal, and that's
not a boolean or arithmetic operator, is treated as a reference to
another classad attribute.
+sceneName = 77planes_v02
in this case, '77planes_v02' is neither an int, float, nor string
literal, so condor is trying to treat it as a reference to another
attribute. but, that is not a invalid attribute name. that's why
the solution, however, is exactly what nate said:
+sceneName = "77planes_v02"
and then whenever you refer to sceneName, do it as a string, e.g.:
WANT_VACATE = (sceneName != "77planes_v02")
i just wanted to explain in more detail this nasty little bit of
confusion with classad syntax. sorry everyone, i know this is
needlessly complicated. the good news is that we've got a new
implementation of classads where the syntax is much more consistent.
it's on the way... stay tuned.