Bug 856646 - getSubmissionID() by qdate returning duplicates
getSubmissionID() by qdate returning duplicates
Status: CLOSED ERRATA
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: condor-aviary (Show other bugs)
Development
All Linux
medium Severity medium
: 2.3
: ---
Assigned To: Pete MacKinnon
Martin Kudlej
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-09-12 10:09 EDT by Trevor McKay
Modified: 2013-03-06 13:45 EST (History)
3 users (show)

See Also:
Fixed In Version: condor-7.8.5-0.1
Doc Type: Bug Fix
Doc Text:
Cause: Retrieving submission IDs with a BEFORE mode. Consequence: Duplicate submission IDs are returned. Fix: Fixed problems in the getSubmissionID implementation that could not process the specified time range query parameters. Result: Unique submission IDs are returned to the client.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-03-06 13:45:45 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Trevor McKay 2012-09-12 10:09:48 EDT
Description of problem:

When using getSubmissionID() to scan by qdate, mode = BEFORE, Aviary returns duplicate submission records.  The results of getSubmissionSummary() and getSubmissionID() scanning by name do not return duplicates.

Version-Release number of selected component (if applicable):

condor-aviary-7.8.3-0.1.el5

How reproducible:

100%

Steps to Reproduce:
1. Set up a condor installation with condor_aviary (I used the locator)
2. Submit multiple jobs 
3. Use the test programs in /usr/share/condor/aviary to retrieve submissions (shown below under Actual Results)
  
Actual results:

[root@somehost aviary]# ./locator.py --type=ANY
SCHEDULER | JOB | job@somehost.redhat.com | http://somehost.redhat.com:59108/services/job/
CUSTOM | QUERY_SERVER | query@somehost.redhat.com | http://somehost.redhat.com:45405/services/query/

[root@somehost aviary]# ./submissions.py --u=http://somehost.redhat.com:45405/services/query/getSubmissionSummary
[(SubmissionSummary){
   id = 
      (SubmissionID){
         name = "cat"
         owner = "admin"
         qdate = 1343740287
      }
   status = 
      (Status){
         code = "OK"
      }
   completed = 4
   held = 0
   idle = 0
   removed = 3
   running = 0
   suspended = 0
   transferring_output = 0
 }, (SubmissionSummary){
   id = 
      (SubmissionID){
         name = "dan"
         owner = "tmckay"
         qdate = 1345136722
      }
   status = 
      (Status){
         code = "OK"
      }
   completed = 0
   held = 0
   idle = 0
   removed = 1
   running = 0
   suspended = 0
   transferring_output = 0
 }, (SubmissionSummary){
   id = 
      (SubmissionID){
         name = "dog"
         owner = "admin"
         qdate = 1343740373
      }
   status = 
      (Status){
         code = "OK"
      }
   completed = 1
   held = 0
   idle = 0
   removed = 1
   running = 0
   suspended = 0
   transferring_output = 0
 }, (SubmissionSummary){
   id = 
      (SubmissionID){
         name = "george"
         owner = "tmckay"
         qdate = 1344006972
      }
   status = 
      (Status){
         code = "OK"
      }
   completed = 212
   held = 0
   idle = 0
   removed = 39
   running = 1
   suspended = 0
   transferring_output = 0
 }, (SubmissionSummary){
   id = 
      (SubmissionID){
         name = "jack"
         owner = "tmckay"
         qdate = 1345134766
      }
   status = 
      (Status){
         code = "OK"
      }
   completed = 0
   held = 0
   idle = 0
   removed = 0
   running = 1
   suspended = 0
   transferring_output = 0
 }, (SubmissionSummary){
   id = 
      (SubmissionID){
         name = "joe"
         owner = "joe"
         qdate = 1345048823
      }
   status = 
      (Status){
         code = "OK"
      }
   completed = 0
   held = 0
   idle = 0
   removed = 1
   running = 0
   suspended = 0
   transferring_output = 0
 }, (SubmissionSummary){
   id = 
      (SubmissionID){
         name = "test"
         owner = "tmckay"
         qdate = 1345048400
      }
   status = 
      (Status){
         code = "OK"
      }
   completed = 3
   held = 0
   idle = 0
   removed = 2
   running = 0
   suspended = 0
   transferring_output = 0
 }]


[root@somehost aviary]# ./submission_ids.py --u=http://somehost.redhat.com:45405/services/query/getSubmissionID --size=24 --name=cat
(reply){
   ids[] = 
      (SubmissionID){
         name = "cat"
         owner = "admin"
         qdate = 1343740287
      },
      (SubmissionID){
         name = "dan"
         owner = "tmckay"
         qdate = 1345136722
      },
      (SubmissionID){
         name = "dog"
         owner = "admin"
         qdate = 1343740373
      },
      (SubmissionID){
         name = "george"
         owner = "tmckay"
         qdate = 1344006972
      },
      (SubmissionID){
         name = "jack"
         owner = "tmckay"
         qdate = 1345134766
      },
      (SubmissionID){
         name = "joe"
         owner = "joe"
         qdate = 1345048823
      },
      (SubmissionID){
         name = "test"
         owner = "tmckay"
         qdate = 1345048400
      },
   remaining = 0
 }

[root@somehost aviary]# ./submission_ids.py --u=http://somehost.redhat.com:45405/services/query/getSubmissionID --size=24 --qdate=2000000000 --mode=BEFORE
(reply){
   ids[] = 
      (SubmissionID){
         name = "jack"
         owner = "tmckay"
         qdate = 1345134766
      },
      (SubmissionID){
         name = "george"
         owner = "tmckay"
         qdate = 1344006972
      },
      (SubmissionID){
         name = "george"
         owner = "tmckay"
         qdate = 1344006972
      },
      (SubmissionID){
         name = "dan"
         owner = "tmckay"
         qdate = 1345136722
      },
      (SubmissionID){
         name = "test"
         owner = "tmckay"
         qdate = 1345048400
      },
      (SubmissionID){
         name = "test"
         owner = "tmckay"
         qdate = 1345048400
      },
      (SubmissionID){
         name = "dog"
         owner = "admin"
         qdate = 1343740373
      },
      (SubmissionID){
         name = "cat"
         owner = "admin"
         qdate = 1343740287
      },
      (SubmissionID){
         name = "cat"
         owner = "admin"
         qdate = 1343740287
      },
      (SubmissionID){
         name = "cat"
         owner = "admin"
         qdate = 1343740287
      },
      (SubmissionID){
         name = "cat"
         owner = "admin"
         qdate = 1343740287
      },
      (SubmissionID){
         name = "joe"
         owner = "joe"
         qdate = 1345048823
      },
      (SubmissionID){
         name = "cat"
         owner = "admin"
         qdate = 1343740287
      },
      (SubmissionID){
         name = "test"
         owner = "tmckay"
         qdate = 1345048400
      },
      (SubmissionID){
         name = "test"
         owner = "tmckay"
         qdate = 1345048400
      },
      (SubmissionID){
         name = "test"
         owner = "tmckay"
         qdate = 1345048400
      },
      (SubmissionID){
         name = "george"
         owner = "tmckay"
         qdate = 1344006972
      },
      (SubmissionID){
         name = "george"
         owner = "tmckay"
         qdate = 1344006972
      },
      (SubmissionID){
         name = "george"
         owner = "tmckay"
         qdate = 1344006972
      },
      (SubmissionID){
         name = "george"
         owner = "tmckay"
         qdate = 1344006972
      },
      (SubmissionID){
         name = "george"
         owner = "tmckay"
         qdate = 1344006972
      },
      (SubmissionID){
         name = "cat"
         owner = "admin"
         qdate = 1343740287
      },
      (SubmissionID){
         name = "dog"
         owner = "admin"
         qdate = 1343740373
      },
      (SubmissionID){
         name = "cat"
         owner = "admin"
         qdate = 1343740287
      },
   remaining = 0
 }

Expected results:

Scans by qdate should not include duplicates

Additional info:
Comment 1 Trevor McKay 2012-09-12 10:13:36 EDT
Is it possible this is related to Bug 855449?
Comment 4 Martin Kudlej 2012-12-20 09:28:01 EST
Tested on RHEL 5.9/6.4 x x86_64/i386 with
condor-7.8.7-0.6.el6_3.x86_64
condor-aviary-7.8.7-0.6.el6_3.x86_64
condor-classads-7.8.7-0.6.el6_3.x86_64
condor-wallaby-base-db-1.25-1.el6_3.noarch
condor-wallaby-client-5.0.4-1.el6_3.noarch
condor-wallaby-tools-5.0.4-1.el6_3.noarch
python-condorutils-1.5-6.el6.noarch
python-qpid-0.18-4.el6.noarch
python-qpid-qmf-0.18-12.el6_3.x86_64
python-wallabyclient-5.0.4-1.el6_3.noarch
qpid-cpp-client-0.18-12.el6_3.x86_64
qpid-cpp-server-0.18-12.el6_3.x86_64
qpid-qmf-0.18-12.el6_3.x86_64
qpid-tools-0.18-7.el6_3.noarch
ruby-condor-wallaby-5.0.4-1.el6_3.noarch
ruby-qpid-qmf-0.18-12.el6_3.x86_64
ruby-wallaby-0.16.1-2.el6.noarch
wallaby-0.16.1-2.el6.noarch
wallaby-utils-0.16.1-2.el6.noarch

and it works. --> VERIFIED
Comment 6 errata-xmlrpc 2013-03-06 13:45:45 EST
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/RHSA-2013-0564.html

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