[squeak-dev] source.squeak.org --- Responsiveness

David T. Lewis lewis at mail.msen.com
Wed Jan 24 01:08:27 UTC 2018


On Tue, Jan 23, 2018 at 01:26:37PM -0800, Eliot Miranda wrote:
> Hi All,
> 
> On Wed, Jan 17, 2018 at 11:10 PM, Marcel Taeumel <marcel.taeumel at hpi.de>
> wrote:
> 
> > Hi, there.
> >
> > Since several weeks/months now, I cannot update a single package without
> > either getting a gateway error or a connection timeout. Luckily, the
> > timeout means that the code update was at least completed, which I can
> > observe in my email inbox.
> >
> > What's going on there?! That used to work fine. Timeouts were rare.
> > Gateway errors non-existent.
> >
> 
> I think the main problem is that the server is unresponsive while it
> generates the diff email to send to the mailing lists.  I say this because
> committing VMMaker.oscog, a huge package, always times out, and the server
> can be unresponsive thereafter for many minutes, whereas committing the Cog
> package to the very same repository, which is far smaller, does not cause a
> timeout.  f course it could be storing the package to the file system, but
> I doubt that very much.
> 
> So I think we need to rewrite the server to move the computation of and
> mailing of the diff to a lower priority, so that answering and receiving
> versions gets priority over reporting changes to the mailing list.  Ion the
> case of VMMaker.oscog the diff often gets thrown away anyway because it is
> often very large.
> 
> I'm not familiar with the packages that implement the server, nor what the
> development, testing and installation process is, but I'd love to pair with
> someone on fixing the responsiveness issue and learn.
> 

Chris, are you interested in working with Eliot on this? I don't think I
can help directly but I do have some experience with the older squeaksource.com
system, and I'm interested in getting that updated at some point so if I
can offer some help without getting in the way I am happy to do so.

Eliot, I suspect that Chris cleared up one problem when he recently restarted
the image, but that the diff processing that you mention is /also/ a problem
and is worth follow up separately. The reason I say this is that I was getting
commit timeouts on even trivial updates, and that problem went away after the
server restart. But if commit timeouts still happen for a VMMaker commit, then
it is very likely due to the diff processing.

If in fact the diff processing for mailing list updates is the culprit, and
if this is something that could be relegated to a background process completely
separate from the user interactions, then I would be tempted to try putting
the mailing list processing into a #forkHeadlessSqueakAndDoThenQuit: block.
Any interest?

Dave



More information about the Squeak-dev mailing list