[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[HTCondor-users] Debugging matching internals



Long ago ( https://www-auth.cs.wisc.edu/lists/htcondor-users/2017-September/msg00070.shtml) Max said:

If you want to peek into the matching of ClassAds in general, the debug function is very helpful:

>             AnyType debug(AnyType _expression_)

>             This function evaluates its argument, and it returns the result. Thus, it is a no-operation. However, a side-effect of the function is that information about the evaluation is logged to the evaluating program's log file, at the

>             D_FULLDEBUG debug level. This is useful for determining why a given ClassAd _expression_ is evaluating the way it does. For example, if a condor_startd START _expression_ is unexpectedly evaluating to UNDEFINED, then

>             wrapping the _expression_ in this debug() function will log information about each component of the _expression_ to the log file, making it easier to understand the _expression_.

> Put it into the START _expression_ of a node, and you can get other tools (like condor_q or the Negotiator) to log every decision about it.

> - you can increase the condor_q debug level as needed via the _CONDOR_TOOL_DEBUG environment variable and the -debug flag, e.g. as

>             _CONDOR_TOOL_DEBUG=D_ALL condor_q 1801203 -debug

> Note that debug() can give you massive amounts of output if you use it in the wrong place.

1. Is that still true for 10.6?

2. Does that mean do something like:
START = AnyType debug(AnyType _expression_)

in a file in /etc/condor/config.d?

Log is complaining

ERROR "Syntax error in START _expression_: 'AnyType debug(AnyType _expression_)'" at line 587 in file /var/lib/condor/execute/slot1/dir_2510581/userdir/build-YgCZ01/condor-10.6.0/src/condor_startd.V6/util.cpp