[Buildbot-devel] contrib/git_buildbot.py reports connection lost handling multiple revisions
exarkun at twistedmatrix.com
exarkun at twistedmatrix.com
Thu Feb 25 20:44:19 UTC 2010
On 10:31 am, daniel.thompson at st.com wrote:
>On 25/02/10 05:09, Dustin J. Mitchell wrote:
>>On Wed, Feb 24, 2010 at 4:44 AM, Daniel THOMPSON
>><daniel.thompson at st.com> wrote:
>>>I can probably modify the script to make a new connection for each
>>>change we want to process but I'm not familiar enough with the design
>>>to
>>>assess if this is an elegant approach. I suspect not...
>>
>>Check out the github_buildbot.py script, which we're using for
>>buildbot, and which I know can handle submission of simultaneous
>>commits. If you figure out what's wrong, I'll be happy to merge the
>>fix upstream.
>
>The difference is that git_buildbot.py uses callLater() to avoid
>exploding the stack and github_buildbot.py does not.
>
>The change to introduce callLater() is fairly recent (Dec-2009):
>* http://buildbot.net/trac/ticket/645
>*
>http://github.com/djmitche/buildbot/commit/fb70a1dd799ff16ef9b3002707ed3613c5780c0d
>
>I have applied the inverse patch to my copy of git_buildbot.py and it
>is
>now operating correctly.
>
>I'm not really skilled enough to debug the new code and make the
>recursion avoidance work (nor am I blessed with sufficient time to
>become so). Thus for for now I'm going to stick with the inverse patch.
>However, given the reported for #645 has gone quiet, if you need
>someone
>to test an alternative way to break the recursion then I'd be very
>happy
>to do so.
At PyCon, several of us sprinted on resolving this issue once and for
all in the implementation of Deferred. The ticket for the general issue
is here:
http://twistedmatrix.com/trac/ticket/411
The work is not yet complete, but we expect that the implementation
addresses most cases at this point. Any testing that anyone can do of
this code would be quite helpful. Particularly, if anything is broken,
simplified examples which demonstrate the problem would be massively
helpful. Much of the time at the sprint was spent looking at very
complicated code (ie, involving large piles of application-specific
code) and trying to distill the problem to a simpler example which just
used Deferreds.
The ticket refers to the branch where the most recent version of the
code can be found. Currently this is the iterative-deferreds-411-3
branch, which translates to this SVN URL:
svn://svn.twistedmatrix.com/svn/Twisted/branches/iterative-
deferreds-411-3
It can also be retrieved from the bzr mirror, if anyone prefers that.
Instructions for that can be found here:
http://twistedmatrix.com/trac/wiki/BazaarMirror
Thanks,
Jean-Paul
More information about the devel
mailing list