[gold-users] listing jobs charged to a specific allocation
Scott Jackson
scottmo at adaptivecomputing.com
Tue Mar 9 18:00:48 MST 2010
Kevin Van Workum wrote:
> On Mon, Mar 8, 2010 at 7:18 PM, Scott Jackson
> <scottmo at adaptivecomputing.com> wrote:
>
>> Kevin,
>>
>> Kevin Van Workum wrote:
>>
>>> I'm trying to create a command that will list jobs that have been
>>> charged to a specific allocation. I realize I can use "glstxn -i Id -O
>>> Job", but that lists the transactions.
>>>
>> Well, it is not that simple because a job can have any number of charges
>> against it and each charge can be to one or more allocations. So, it is not
>> possible to directly relate a one-to-one answer to this question. You
>> basically are going to have to look at this in terms of the transactions,
>> though this can certainly be narrowed down to just Charges.
>>
>> Ohh, I see -- you know that, you just want any job listed that has ever had
>> a charge against a particular allocation...
>>
>> goldsh Transaction Query Show:=JobId,Amount Action==Charge Allocation==26
>>
>> or
>>
>> glstxn -A Charge -i 26 --show=JobId
>>
>> If you want the job info for these guys, you'll have to use goldsh to do a
>> join:
>>
>> goldsh Job,Transaction Query
>> Show:=Job.Id,Job.JobId,Job.User,Job.Project,Job.Machine,Job.Processors,Job.WallDuration,Job.Charge
>> Transaction.Action==Charge Transaction.Allocation==26
>> Transaction.JobId==Job.JobId
>>
>> Id JobId User Project Machine Processors WallDuration Charge
>> --- ------------ ------- --------- ------- ---------- ------------ ------
>> 32 2 root catchall colony 1 123
>> 36 root.8 root catchall keko 1 465 1
>> 37 root.9 root catchall keko 1 523 1
>> 40 root.12 root catchall keko 1 362 1
>> 43 RHEL3ASVM.15 root catchall keko 1 58 111
>> 45 RHEL3ASVM.17 root catchall keko 1 17 111
>> 51 80 scottmo catchall keko 1 277 277
>>
>
> Cool. I didn't know you could do that. Unfortunately, gold seems to
> choke on this. The same command as above just hangs. Then I have to
> restart postgresql to get things back to normal.
>
>
Hmmmm..... maybe your Transaction table (and Job table) are ginormous. I
can't think of any other reason for the hang. Just for curiosity's sake,
how long have you waited for it to return? I'm sorry if I've asked
before, but do you have the indexes in place? How many rows are in your
Transaction table? Job table. We are doing a join on it, so this may not
be practical. If they are too large and postgres does not have memory
for the join, we may need to take the iterative approach. It would be
interesting to try to do a direct join in Postgres to do the similar
join query in the psql prompt. You can get the sql that gold is trying
to enact in the goldd.log if you want a good starting point.
Scott
>>> I want to get the list of jobs.
>>> I could first use glstxn, then use glsjob for each job found, but is
>>> there a more efficient way. Maybe something like:
>>>
>>> my $request = new Gold::Request(object => "Job", action => "Query");
>>> Gold::Client::buildSupplements($request);
>>> $request->setCondition("AllocationId", "123");
>>>
>>>
>> To do this in the perl api, something like (I'm winging it here, you will
>> have to tweak this a tad):
>>
>> my $request = new Gold::Request(
>> objects => [
>> new Gold::Object(name => "Job"),
>> new Gold::Object(name => "Transaction")
>> ], action => "Query");
>>
>> $request->setSelection("Id", "", "Job");
>> $request->setSelection("JobId", "", "Job");
>> $request->setSelection("User", "", "Job");
>> ...
>> $request->setCondition("Action", "Charge", "", "", "", "Transaction");
>> $request->setCondition("Allocation", "26", "", "", "", "Transaction");
>> $request->setCondition("JobId", "JobId", "", "", "", "Transaction", "Job");
>>
>>
>>
>> See perldoc for Request, Condition, Selection, Object, etc.
>>
>>
>>
>>
>>> --
>>> Kevin Van Workum, PhD
>>> Sabalcore Computing Inc.
>>> Run your code on 500 processors.
>>> Sign up for a free trial account.
>>> www.sabalcore.com
>>> 877-492-8027 ext. 11
>>> _______________________________________________
>>> gold-users mailing list
>>> gold-users at supercluster.org
>>> http://www.supercluster.org/mailman/listinfo/gold-users
>>>
>>>
>>
>
>
>
>
More information about the gold-users
mailing list