Skip to content

Commit

Permalink
use new completeBuildRequests instead of retire_buildrequests
Browse files Browse the repository at this point in the history
  • Loading branch information
djmitche committed Apr 24, 2011
1 parent 2f994d9 commit 9574676
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 28 deletions.
27 changes: 0 additions & 27 deletions master/buildbot/db/connector.py
Expand Up @@ -471,33 +471,6 @@ def _txn_resubmit_buildreqs(self, t, brids):
t.execute(q, batch)
self.notify("add-buildrequest", *brids)

# used by Builder.buildFinished
def retire_buildrequests(self, brids, results):
return self.runInteractionNow(self._txn_retire_buildreqs, brids,results)
def _txn_retire_buildreqs(self, t, brids, results):
now = self._getCurrentTime()
#q = self.db.quoteq("DELETE FROM buildrequests WHERE id IN "
# + self.db.parmlist(len(brids)))
while brids:
batch, brids = brids[:100], brids[100:]

q = self.quoteq("UPDATE buildrequests"
" SET complete=1, results=?, complete_at=?"
" WHERE id IN " + self.parmlist(len(batch)))
t.execute(q, [results, now]+batch)
# now, does this cause any buildsets to complete?
q = self.quoteq("SELECT bs.id"
" FROM buildsets AS bs, buildrequests AS br"
" WHERE br.buildsetid=bs.id AND bs.complete=0"
" AND br.id in "
+ self.parmlist(len(batch)))
t.execute(q, batch)
bsids = [bsid for (bsid,) in t.fetchall()]
for bsid in bsids:
self._check_buildset(t, bsid, now)
self.notify("retire-buildrequest", *brids)
self.notify("modify-buildset", *bsids)

# used by BuildRequestControl.cancel and Builder.cancelBuildRequest
def cancel_buildrequests(self, brids):
return self.runInteractionNow(self._txn_cancel_buildrequest, brids)
Expand Down
6 changes: 5 additions & 1 deletion master/buildbot/process/builder.py
Expand Up @@ -529,7 +529,11 @@ def buildFinished(self, build, sb, bids):
self._resubmit_buildreqs(build).addErrback(log.err) # returns Deferred
else:
brids = [br.id for br in build.requests]
self.db.retire_buildrequests(brids, results)
db = self.master.db
d = db.buildrequests.completeBuildRequests(brids, results)
# nothing in particular to do with this deferred, so just log it if
# it fails..
d.addErrback(log.err, 'while marking build requests as completed')

if sb.slave:
sb.slave.releaseLocks()
Expand Down

0 comments on commit 9574676

Please sign in to comment.