with 'linux' tag

bug tracking and code review

i was going to write some reactions to an observation that postgresql has no bug tracker and its discussion last week, but lost the spark and abandoned the post after a few days. but today i ran across a quote from linus torvalds that neatly sums up my thoughts:

We’ve always had some pending/unresolved issues, and I think that as our tracking gets better, there’s likely to be more of them. A number of bug-reports are either hard to reproduce (often including from the reporter) or end up without updates etc.

before there was a bug tracking system for mysql, there was a claim that all bugs were fixed in each release (or documented), and there has been a lot of pain in seeing how well that sort of claim stacks up against a actual growing repository of bug reports. if the postgresql project were to adopt a bug-tracking system, i am certain that they would find the same issue. before long, they would be planning bug triage days just like every other project with a bug-tracking system seems destined to do.

another good email from linus about these issues was pointed out by a coworker, but this part in particular caught my eye:

Same goes for “we should all just spend time looking at each others patches and trying to find bugs in them.” That’s not a solution, that’s a drug-induced dream you’re living in. And again, if I want to discuss dreams, I’d rather talk about my purple guy, and the bad things he does to the hedgehog that lives next door.

the procedure at mysql for code reviews is that either two other developers must review the patch, or one of an elite group of developers who are trusted to make single reviews. then the developer can push their changes into their team trees, taking care to have merged the changes correctly in anywhere from one to four versions (4.1 and up).

this is a huge amount of friction, and is one of the most significant problems causing pain for mysql development. two reviewers is just too high of a bar for most patches, and having the rule makes the reviews rote and less useful. there is also an unreasonable amount of distrust being displayed by this procedure, that says that developers can’t be trusted to ask for help when they are unsure, but should feel free to make the occasional mistake by pushing something that isn’t quite right.

i wonder if we could be taking better lessons from linux’s hierarchical development model, with the pulling of code up through lieutenants to a single main repository, rather than the existing model that involves every developer moving their own stones up the pyramid. it would require some developers (more senior ones, presumably) to spend more of their time doing code management as opposed to actual coding.

monty is not particularly happy with the state of development of his brainchild now. would he be happier if he were in a linus-like role of rolling up patches and managing releases?

i wish had the patience to write at less length and greater coherence about this.

going virtual

along with re-thinking how i back things up, i have also been thinking about how to handle hosting my stuff. currently i have a server in a colocation facility that is costing me $75/month. it is a p4/2.4GHz with 768MB of RAM and 55GB of disk space, of which i’m only using about 20GB. the machine is over four years old now, so i am starting to get the creepy feeling that it is running on borrowed time.

for $30/month, paid annually, i could get a virtual server from linode with 384MB of RAM and 18GB of disk. it is half as much memory and even less disk space, but it doesn’t look like the memory will be an issue based on my current usage. i can use less disk-space by archiving things off to other places like amazon’s s3, such as the access logs for this site that go back to 1997.

there are other virtual server providers, of course, but jeff waugh’s praise of linode is what got me started on looking into this again. they look like they have their act together, based on the activity in their forums and how they present themselves in general. so many of the other providers seem so dodgy.

of course, if i do move to a virtual server, i’ll have to figure out what to do with the physical server that i pull out of the colo facility.