Bug 733055 - last_update field in job summary responses has invalid format
Summary: last_update field in job summary responses has invalid format
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: condor-aviary
Version: Development
Hardware: x86_64
OS: Unspecified
medium
medium
Target Milestone: 2.1
: ---
Assignee: Pete MacKinnon
QA Contact: Daniel Horák
URL:
Whiteboard:
Depends On:
Blocks: 743350
TreeView+ depends on / blocked
 
Reported: 2011-08-24 15:25 UTC by Trevor McKay
Modified: 2012-01-23 17:28 UTC (History)
5 users (show)

Fixed In Version: 7.6.4-0.3
Doc Type: Bug Fix
Doc Text:
When the Aviary getJobSummary operation was invoked to return a job summary including the last_update field on Red Hat Enterprise Linux 64-bit implementation, the last_update field contained an invalid value. With this update, the signature and type conversions in the date encoder implementation have been modified and the last_update field now always contains correctly formatted value.
Clone Of:
Environment:
Last Closed: 2012-01-23 17:28:16 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2012:0045 0 normal SHIPPED_LIVE Red Hat Enterprise MRG Grid 2.1 bug fix and enhancement update 2012-01-23 22:22:58 UTC

Description Trevor McKay 2011-08-24 15:25:30 UTC
Description of problem:

Job summaries returned from Aviary (either from GetSubmissionSummary with job summaries included or GetJobSummary) have a last_update field with an invalid date format.

Pete notes that this seems to be a problem with datetime encoding on 64-bit, could be aviary code or axis code.

Example entry from a suds client log file (machine names expunged)

SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><n:GetSubmissionSummaryResponse xmlns:n="http://query.aviary.grid.redhat.com"><submissions><id><name>icecube</name><owner>guest</owner></id><status><code>OK</code></status><completed>0</completed><held>0</held><idle>1</idle><removed>0</removed><running>0</running><jobs><id><job>1.0</job><pool>expunged</pool><scheduler>expunged</scheduler><submission><name>icecube</name><owner>guest</owner></submission></id><status><code>OK</code></status><queued>2011-08-24T15:00:18.196Z</queued><last_update>1091324143-04-29T18:52:22.000Z</last_update><job_status>IDLE</job_status><cmd>/bin/sleep</cmd><args1>2d</args1></jobs></submissions></n:GetSubmissionSummaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>

Comment 1 Pete MacKinnon 2011-08-24 18:02:24 UTC
Seems to be peculiar to 64-bit. Investigating on grid0.

Comment 2 Pete MacKinnon 2011-08-29 13:06:57 UTC
Fix upstream at UW 88c68aa3

Comment 3 Luigi Toscano 2011-09-08 16:35:57 UTC
About #c1, does it mean that 32 bit versions where unaffected?

Comment 4 Pete MacKinnon 2011-09-08 21:15:48 UTC
Correct.

Comment 5 Pete MacKinnon 2011-10-04 19:05:01 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: Invoke an Aviary getJobSummary operation to return a job summary including the last_update field on RHEL 64-bit implementation. 
Consequence: last_update field had an invalid value on RHEL 64-bit.
Fix: Modified signature and type conversions in date encoder implementation.
Result: last_update field has correct value correctly formatted.

Comment 7 Daniel Horák 2011-10-07 12:05:23 UTC
Reproduced on RHEL 6.1 x86_64:

# rpm -qa | grep condor
condor-7.6.3-0.3.el6.x86_64
condor-aviary-7.6.3-0.3.el6.x86_64
condor-classads-7.6.3-0.3.el6.x86_64
condor-debuginfo-7.6.3-0.3.el6.x86_64
python-condorutils-1.5-4.el6.noarch


Reproduced with script bz733055.py. 
# cat bz733055.py 
#!/usr/bin/env python
"""
Script for help with testing bz 733055.
"""
import suds
import logging
logging.getLogger('suds.transport').setLevel(logging.DEBUG)
logging.getLogger('suds.transport').addHandler(logging.FileHandler('suds.log'))

QUERY_URL = 'http://localhost:9091/services/query/%s'
QUERY_WSDL = 'file:/var/lib/condor/aviary/services/query/aviary-query.wsdl'
cl_timeout = 10000
client = suds.client.Client(QUERY_WSDL, timeout=cl_timeout)
client.set_options(location=(QUERY_URL % 'getJobSummary'))

result = client.service.getJobSummary()
print "last_update: %s" % result[-1].last_update
# eof


Script execution failed because of: 
# ./bz733055.py 
  --- truncated output ---
  ValueError: Invalid format "1076831992-04-24". 

Whole received data are in file suds.log, key part is: 
  <last_update>1076831992-04-24T17:35:41.000Z</last_update>


Verification on RHEL 6.1 x86_64:
# rpm -qa | grep condor 
  condor-7.6.4-0.6.el6.x86_64
  condor-aviary-7.6.4-0.6.el6.x86_64
  condor-classads-7.6.4-0.6.el6.x86_64
  condor-debuginfo-7.6.4-0.6.el6.x86_64
  condor-wallaby-client-4.1-5.el6.noarch
  python-condorutils-1.5-4.el6.noarch

# ./bz733055.py 
  last_update: 2011-10-07 15:45:47

Key part of received data (logged in suds.log) is:
  <last_update>2011-10-07T13:45:47.000Z</last_update>


other platforms only output from bz733055.py:
RHEL 5.7 i386:
  last_update: 2011-10-07 15:48:55  
RHEL 5.7 x86_64:
  last_update: 2011-10-07 15:48:58
RHEL 6.1 i386:
  last_update: 2011-10-07 15:46:50


>>> VERIFIED

Comment 8 Tomas Capek 2011-11-16 16:05:09 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,4 +1 @@
-Cause: Invoke an Aviary getJobSummary operation to return a job summary including the last_update field on RHEL 64-bit implementation. 
+When the Aviary getJobSummary operation was invoked to return a job summary including the last_update field on Red Hat Enterprise Linux 64-bit implementation, the last_update field contained an invalid value. With this update, the signature and type conversions in the date encoder implementation have been modified and the last_update field now always contains correctly formatted value.-Consequence: last_update field had an invalid value on RHEL 64-bit.
-Fix: Modified signature and type conversions in date encoder implementation.
-Result: last_update field has correct value correctly formatted.

Comment 9 errata-xmlrpc 2012-01-23 17:28:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHEA-2012-0045.html


Note You need to log in before you can comment on or make changes to this bug.