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

Re: [Condor-users] Quill SQL logs contain empty CurrentTime field



Has anything been done with regard to this bug?

We managed to patch the sources to replace the 'time()' string with an empty string to at least make the situation workable.
However the SQL setup script was also broken; various tables didn't contain a column called 'CurrentTime' so we had to create those.

Quill is now running for us, it's just not logging what we were hoping it would log (but that might be a configuration issue on our end); at the moment it only logs jobs submitted through the machine quill is running on, not from any other machine. I sure hope I don't have to run Quill on every machine.
--
Jan-Albert van Ree



Jan-Albert van Ree
Linux System Administrator
MSuG MARIN Support Group
E mailto:J.A.v.Ree@xxxxxxxx
T +31 317 49 35 48

MARIN
2, Haagsteeg, P.O. Box 28, 6700 AA Wageningen, The Netherlands
T +31 317 49 39 11, F , I www.marin.nl

________________________________________
From: condor-users-bounces@xxxxxxxxxxx [condor-users-bounces@xxxxxxxxxxx] on behalf of Jaime Frey [jfrey@xxxxxxxxxxx]
Sent: Tuesday, August 16, 2011 21:47
To: Condor-Users Mail List
Cc: condor-devel
Subject: Re: [Condor-users] Quill SQL logs contain empty CurrentTime field

On Aug 15, 2011, at 2:06 AM, Ree, Jan-Albert van wrote:

> I've tried to set up a small Condor grid running on version 7.6.2 , populated with both Windows 7 and Ubuntu 10.04 clients. The master is running a custom build of 7.6.2 on Scientific Linux 6
> For Quill I enabled postgresql support and such. It's connecting just fine, and some stuff gets written to the database just fine.
> I see entries being made in the various .sql logs , however when Quill tries to put some of the data into the database I see the following errors :
>
>
> 08/13/11 09:37:42 ******** Start of Polling Job Queue Log ********
> 08/13/11 09:37:42 JOB QUEUE POLLING RESULT: NO CHANGE
> 08/13/11 09:37:42 ********* End of Polling Job Queue Log *********
> 08/13/11 09:37:42 ******** Start of Polling Event Log ********
> 08/13/11 09:37:42 [SQL EXECUTION ERROR2] ERROR:  syntax error at or near ")"
> LINE 1: ...0#1313219940', 'user001@xxxxxxxxxxxx', 3275, time(), 'WRK000...
>                                                             ^
> 08/13/11 09:37:42 [SQL: INSERT INTO Matches (machine_id, match_time, proc_id, GlobalJobId, username, cluster_id, CurrentTime, scheddname) VALUES ('slot1@xxxxxxxxxxxxxxxxxxxx', '8/13/2011 09:27:59 CEST', 0, 'WRK0009.domain.local#3275.0#1313219940', 'user001@xxxxxxxxxxxx', 3275, time(), 'WRK0009.domain.local')]
> 08/13/11 09:37:42 Executing Statement --- Error
> 08/13/11 09:37:42 sql = INSERT INTO Matches (machine_id, match_time, proc_id, GlobalJobId, username, cluster_id, CurrentTime, scheddname) VALUES ('slot1@xxxxxxxxxxxxxxxxxxxx', '8/13/2011 09:27:59 CEST', 0, 'WRK0009.domain.local#3275.0#1313219940', 'user001@xxxxxxxxxxxx', 3275, time(), 'WRK0009.domain.local')
> 08/13/11 09:37:42 >>>>>>>> Fail: Polling Event Log <<<<<<<<
> 08/13/11 09:37:42 ******** Start of Polling XML Log ********
> 08/13/11 09:37:42 ********* End of Polling XML Log *********
> 08/13/11 09:37:42 ++++++++ Sending Quill ad to collector ++++++++
> 08/13/11 09:37:42 ++++++++ Sent Quill ad to collector ++++++++
>
> It happens with jobs submitted from both Windows and Linux clients: the CurrentTime field doesn't contain a valid number, instead it contains the string "time()" which seems to indicate  a problem with logging the current time at the moment of submission of the job. All machines use NTP so clocks are in sync.
> Going through Google and the mailing archives didn't bring any results so I'm hoping somebody here can help me out.


This is caused by Condor's transition to a new implementation of ClassAds, which started in the 7.5.x series. In the old implementation, CurrentTime was a magic attribute that would evaluate to the current unix time. In the new implementation, you use the time() function to get the current time. To ease the transition (until everyone changes their expressions), we insert a CurrentTime attribute (whose value is 'time()') into ads. This attribute now appears in the accountant log, and quill is attempting to insert it into the database. But it appears quill isn't expecting ClassAd functions in the values it reads from the accountant log.

I'm CC'ing the condor-devel mailing list. Does anyone know who's maintaining the quill code? It should be pretty easy to have it ignore the CurrentTime attribute.

Thanks and regards,
Jaime Frey
UW-Madison Condor Team