Difference between revisions of "Infrastructure Problems"
m (add link to overview)
|Line 72:||Line 72:|
Revision as of 15:13, 9 August 2007
OOo's SourceCast Instance
The OOo instance of SourceCast is based on an extremely old version (2.6), the equivalent up-to-date product is 'CollabNet Enterprise Edition'. It is believed that many problems of the current infrastructure are fixed in the latest versions of this (ver 4.0). The use of 'SourceCast' hereinafter referrs to the (patched & older) OOo version of this infrastructure.
SourceCast provided services are typically extremely unresponsive - it typically taking longer to log-into SourceCast than search the entire-web at google.com with some complex search. High latencies are also sporadic - there are unpredictable periods of low & high latency.
Under heavy load - such as close to a release - it is common for SourceCast to become almost totally unresponsive & unusable, sometimes for days.
For unknown reasons SourceCast login infrastructure requires that you re-log-in when closing and restarting your browser. It's hard to quantify quite how frequently, but normally for every new bug filed it is necessary to go to the IssueZilla page, log-in, hit back, hit refresh - adding (if you're lucky) 15seconds or so to any bug filing - prolly more. This latency is not present with other bugzilla derived products. Of course, developers Issue access patterns are typically not those of the casual tester, or heavy SourceCast user - they spend an hour or more fixing a bug, then return to mark the bug fixed (sometimes from one of their other desktop machines) - at which point; re-login is forced on them. A persistant, long-lived client-side authentication cookie would remove this problem entirely.
Some people report not being able to reproduce this frequent re-login issue; it is possible the bug relates closely to the end users' network topology, such as NAT gateways etc. Or - as a serious discussion without exaggeration seems to reveal - it's just that a session cookie is used and not a persistent one.
CVS is extremely slow. This problem is compounded by the OO.o source code being extremely large it is true. However an order of magnitude slow-down is due to a simple source-cast design bug of having the CVS .rcs files on a different disk to that of the CVS daemon itself - adding untold latency to each NFS file operation.
Access control - the CVS repository was by default constructed in such a way as to deny even those granted access commit writes to large chunks of it. This was coupled to the formal role request/granting process. Similarly the CVS structure itself (split into separate top-level modules per-project) is confusing (not matching the source directory layout), also making it not possible to have a 'familiar' structure, configure / autogen.sh / README / BUILDING etc. in the top-level directory. [ at least without breaking other CVS operations ]. This artefact also makes the real CVS structure (as seen in LXR etc.) hard to navigate & confusingly different.
There is no ability to search openoffice.org without logging in, there's no good reason for that. More seriously googling doesn't show any results from within the mailing lists! Making them nigh on useless as a resource.
An issue has been raised to address this issue (http://qa.openoffice.org/issues/show_bug.cgi?id=58310). The Googlebot web crawler is well behaved, and respects the overly restrictive 'robots.txt' files scattered around the OpenOffice.org website, such as this one: http://tools.openoffice.org/source/browse/tools/www/robots.txt.
The consequences of a reduced robots.txt file for scaling issues are checked for the qa project starting 2005-11-21.
Hint: as a workaround, for fast and easy mailing list searches and a threaded archive go to mail-archive.com, e.g. http://firstname.lastname@example.org/, combined with Google this leads to something like site:email@example.com YourSearchTerm, which works in many cases. Of course there are also others like Gmane and such.
Projects & roles
There is an extremely formal project / role structure built on SourceCast's features in this area, with various roles being requested, and granted via E-mail round-trips. Thankfully this doesn't impact CVS access these days - with broadly unconstrained CVS accounts being the norm.
This is rather old and nasty compared with the excellent modern Bugzilla releases, that shows in lots of places - file typing, uploads, comment management, well - tens of usability & cleanup features missing. A good sample problems is here.
It is critical in any new Free software project to attract developers. One way to drive away newbies is to have an unstated rule that anyone who wants to get a reply from a mailing list post needs to add "please CC me I'm not subscribed - and retain this message so the rest of the thread reaches me" in a prominent place in their E-mail. Thus (I imagine) people regularly ask a question on a list, and recieve no reply, even if one is written.
Futhermore address munging is a hugely bad idea for busy mailing lists - it is not possible to read all (busy) mailing lists on topics that people are interested in in linear time; hence keeping a thread CC'd to one is important, it allows a quick response - while keeping the mailing list informed. This is not possible with collab-net's Reply-To: mangling - hence discouraging busy people from using or CC'ing the mailing lists.
Also Reply-To: mangling is just a bad idea, cf. Linux Kernel, GNOME et. al's non-invasive, non-munging policies that encourage contributors & build collaboration.
It may be that one reason behind this mangling is to discourage people from replying off-list to people, - that unfortunately stifles community by not building strong inter-personal relationships, (although clearly off-list replies tend to be short, punchy, amusing, and not the norm). Another reason may be that there exist people out there who don't know how to use their mailer's reply-to-all feature.
It is believed that underneath SourceCast uses ezmlm to handle mail.
LXR / Bonsai / Tinderbox
With 8 million lines of code no-one outside Sun is familiar with, is is essential to have some hard-code code search, change tracking, indexing functionality. Unfortunately SourceCast does not provide this, that makes it way more difficult to collaborate on developing the code.
A central well-maintained Tinderbox server, should be a pre-requisite for any large project with as many complex build issues as OO.o. One is provided at http://go-oo.org/tinderbox/ however.
RSS aggregator / 'planet'
It's not clear why it is not possible eg. to re-direct .openoffice.org domain names to existing solutions here as elsewhere.