[Buildbot-commits] [Buildbot] #2703: handle step interruption properly

Buildbot trac trac at buildbot.net
Thu Feb 20 16:50:34 UTC 2014


#2703: handle step interruption properly
-------------------+-------------------
Reporter:  tardyp  |      Owner:
    Type:  task    |     Status:  new
Priority:  major   |  Milestone:  0.9.0
 Version:  master  |   Keywords:
-------------------+-------------------
 There are some subtleties to handle step interrupts.

 For shellcommands this works, but for master steps its more complex.
 especially trigger would need special attention.

 <tardyp> djmitche, in the case of a new style step, how are you supposed
 to interrupt a step?
 »» tardyp converting Trigger to new style..
 <+djmitche> tardyp: has that changed?
 <tardyp> well if I run interrupt(), we are in the middle of run(), which
 would be yielding someting
 <tardyp> old style step would just call self.finished() so can skip
 waiting
 <+djmitche> interrupt will also interrupt a running command
 <+djmitche> so this is only a problem when run() isn't executing a command
 <tardyp> I realize that trigger's interrupt is badly written
 <tardyp> it should cancel the requests
 <tardyp> and stop the builds
 <+djmitche> yes
 <+djmitche> there should be some instructions for step authors who are not
 just executing commands to poll self.stopped or something like that
 <tardyp> the first is easy, end the second need the stop rpc
 <+djmitche> also, initiating a new command after an interrupt should
 immediately fail
 <+djmitche> I don't think it necessarily should stop the triggered builds
 <tardyp> well, we have hacks to do so, as my user were requesting this
 loud
 <+djmitche> what if those requests got merged?
 <tardyp> it make sense to release the buildfarm, when like use a single
 build can trigger douzens of parralel builds
 <tardyp> the algo is to claim_cancel the buildrequests first
 <tardyp> then if the buildrequests are claimed, get to the build status
 and stop it
 <+djmitche> I suppose if we're collapsing requests instead, then if the
 request was collapsed, you just don't cancel a build
 <tardyp> so I believe this works with the collapsing
 <+djmitche> yeah
 <tardyp> if it is callapsed then its claimed
 <+djmitche> as long as it's via the data API I think that's OK :)

-- 
Ticket URL: <http://trac.buildbot.net/ticket/2703>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the Commits mailing list