mysql NDB team trees up on bkbits.net

If you head over here: mysql on bkbits.net you can get a copy of the NDB team trees. This is where we push stuff before it hits the main MySQL trees so that we can get some extra testing in (also for when pulling from the main tree). So you can be relatively assured that this is going to work fairly well for NDB and have the latest bug fixes.

Of course, if anything is going to break here – it’s going to be NDB :)

This should allow you to get easy access to the latest-and-greatest NDB code.

At some point soon I’ll update my scripts that generate doxygen output (and builds) to do the -ndb trees.

enjoy!

svn pisses me off

$ svn ci
Connection closed by $MAGIC_IP_ADDR
svn: Commit failed (details follow):
svn: Connection closed unexpectedly
svn: Your commit message was left in a temporary file:
svn:    '/full/path/to/parent/directory/where/no/changed/files/svn-commit.tmp'
$ svn ci
Log message unchanged or not specified
a)bort, c)ontinue, e)dit
a

could have at least saved the commit message somewhere useful. like, say, somewhere so when i type “svn ci” again it reads the commit message.

grrr


					

Big Day Out Promoters on crack…

Listening to JJJ’s Hack from Monday 16th October and the interview with BDO people in regards to scalping, balloting tickets and stuff and woah, talk about agressive.

Although Tool being the reason that things sold out quickly…. quite likely.

I cannot wait until those few days in January that will be Tool filled.

weekly builds

Saturn’s autoweb

I’ve hacked my scripts that generate doxygen docs to also build MySQL 4.1, 5.0 and 5.1 for AMD64 (the box that it’s running on) with Cluster. This is to help my idea of running Gallery at home with NDB disk data tables in very recent MySQL builds.

How’s it going so far? Well… I’ve found some bugs and some seemingly strange behaviour here and there. However, bug reports will come, and I’m currently running a bit of an older build.

I’ll make the URL of the Gallery public at some point too

More training needed with gradings coming…

Made it to the Honbu today for the first time in a while. I really need to train more – have a Judo competition on Monday night (would be Saturday, but I have the LA face2face, so I’m going to the alternate).

The good thing about training on Thursday evenings is that there tends to be a lot of people on the mat – often more than at any other time. A lot of black belts show up too… some I don’t see too often (but that could be due to me generally not training as much this year).

At the end of November is gradings… so better be prepared. That, and I need to build up some fitness again.

Didn’t stay for the Sword class though, was quite knackered after the 1.5hrs of jiujitsu (well… more Judo style today). The class was good too – Kancho was on the mat and doing things for a while.

I feel I fixed some problems with my 5th and 6th hip throws today (or at least learnt where I tend to go wrong). My 5th leg still isn’t the best… but practice, practice. I think it’s more a consistency issue – sometimes I can just hammer in for the hip throws and execute them beautifully (at least for my grade…. nothing like a 3rd, 4th, 6th or 10th Dan or so throwing you around for a bit to see how far you can still go).

I totally vote we open a Melbourne MySQL office right near there (which is actually further from home for me.. which would be rather annoying, but means I could train every day :)

Recent happennings and releases…

So a bunch of stuff has happenned (or happenning) that I’ve been wanting to blog about for a bit. Some stuff had to wait, others it’s just been me being slack.

Anyway, anyone who hangs closely around the MySQL circles probably now knows about MySQL Enterprise. There’s been a fair bit of talk about this internally for a little while now. When it was being talked about a bit wider within the company some of the initial communication was (in my mind) rather unclear. So I took the “what’s the worst way somebody could interpret this” viewpoint and replied with my thoughts. The idea behind this was to simulate what some of the loud-mouthed trolls of the non-shifted question mark e on a qwerty keyboard mapped to dvorak kind may do.
After a few phone calls (some at strange hours) my worst fears were not realised – we were still not being insane.

So I hope I’ve been of some use in making sure that communication has been clear and any possible fears put to rest.
There is also an increased willingness to make things saner for getting non-MySQL AB authored code into the main trees (err… now labelled Community).

We’re also getting geared up for another 5.1 release – the Cluster team has recently chased down some failures: from out-of-disk on build machine (why is it us who had to find that out?) to an “actual bug”.

Kudos goes out to Jonas who has recently found a few bugs that have been Can’t Repeat since about the year 2000 – ones that were real hard to hit, but naturally, somebody has.

I also added some new things to the Cluster Management Server (ndb_mgmd) in 5.1 that should help with debugging in the future. I basically just exposed the MgmApiSession stuff a bit, giving each session a unique id (64 bit int) that you could then check if the session had gone away or not (or list all sessions). This gives us a test case for bug 13987 which is pretty neat.

I also have geared up a change to the handler API to fix bug 19914 – and being a good boy, I’ve mailed out to the public internals list so that people are ready for the building of outside of tree storage engines to break (on 4.1 and up!). The good news is, however, that this is a real fix and that any errors on COUNT(*) will be reported back to the user (a customer was affected by this).
Also, I updated how engines fill out the INFORMATION_SCHEMA.FILES table to make it a bit nicer (Brian wants to add support for it to some of the other engines). He also pointed out a really obvious bug of mine in a recent push to that code (that probably showed up in a compiler warning come to think of it…). Paul is looking at it for PBXT too (or at least thinks it’s cool :).
Also had a bit of a ask-around the cluster team about if making the team trees (VERSION-ndb) public (up on bkbits.net etc) was good. Nobody seems to have any objections, so will (as soon as I get a minute) persue that. Basically it’ll let people get access to the latest NDB bug fixes in source-tree form (certainly not recommended for production, but could be useful in testing environments).
I’ve also been thinking about talks for the MySQL UC next year as Cluster tends to be a popular topic (had a rather full room this year).

There’s probably more to talk about too, but i’m getting sleepy.

Rusty on LCA talks and other stuff…

As email is *sooo* non-“Web 2.0”, i reply in blog form….
Rusty’s Bleeding Edge Page talks about a “Writing an x86 hypervisor: all the cool kids are doing it!” session that sounds really cool (better not be on at the same time as my talk… :)

I don’t (currently) intend to be one of the cool kids though.

He also mentions a session entitled “First-timer’s Introduction to LCA”. A couple of possible suggestions (or thoughts, and stuff I’ve seen):

  • be careful if you intend to bitch endlessly about a piece of software – it’s quite likely you’re talking to the person who wrote it (or a chunk of it)
  • sometimes it can be really good to just listen and ask a few good questions to understand. there are a lot of really smart people about
  • you will (at some point) ask a really dumb question (that you’ll only realise is dumb a few months later). Don’t panic – we all do it.
  • Don’t be scared – nobody bites too hard.
  • when staying in the halls, odds are the coffee isn’t that good – be prepared to bring your own or go out every morning.
  • do not be afraid to go up and start talking to people – it’s a great way to meet interesting characters and cool hackers.
  • wash
  • use deodorant
  • encourage others to do the above 2
  • read the summary of a session, not just the title. sometimes you can be misled by the title (for example, not everybody thinks of the same thing when “hacking BLAH” is the title of a session)
  • especially if talking, bring backups, backup (without erasing old backups) and backup. Also, be sure restore works.
  • While a lot of people do enjoy downing a few (or more than a few) Ales, it’s not compulsary. There are people attending LCA who don’t drink (and who may/may not join others at the pub even though they don’t drink alcohol). It’s also okay to not drink too much – in fact, it’s often recommended.
  • Don’t be afraid to ask people who they are, what they do etc. Even if you then immediately recognise the name, it’s good to put a face to the name.
  • You will never see everything you want to.
  • do join the IRC channels – great way of meeting people and organising groups to go do things (like get food, go to pub etc).
  • do talk to people around the dorms – great way of meeting people
  • expect to want a day of rest afterwards
  • there are some “in” jokes – but don’t be afraid to ask what they’re about, strange traditions are part of the LCA experience

I wonder what should/could be written about going all fanboy/fangirl over favourite hackers? and taking/asking to get taken photos?

The last thing Rusty talks about is the “Hacking in groups” tutorial. I really liked his and Robert Love’s tutorial in Canberra (Kernel Hacking – where you wrote a PCI driver for the excellent Love Rusty 3000. A device with real specifications, coffee cup stain and all). I’ve had a bit of a mixed feeling about it from Rusty since then, but I reckon it was seriously one of the best tutorials I have ever attended. I also took the hands-on approach as great inspiration for various MySQL Cluster Tutorials I’ve given since (and people have commented on how the hands-on part is great).

I guess the thing about the kernel hacking tute was that not everybody in the room was at the same skill level (which is something you totally run the risk of with hands-on). Also, if you hadn’t done the prep material, you were probably going to be in trouble.

But anyway, the idea of having 20 talented coders with 5 people in the tute for each of them and working on some project could be interesting – although rather ambitious. I worry that people without a good enough skillset would rock up and not get much out of it. Although those with adequate skill would do well.

Picking a project that could be doable in a handful of hours (or a day) is tricky – as it’d probably be an extension to some existing project, which requires learning of it. Or, starting something from scratch can be equally as hard (to end up anywhere useful).

Some ideas for projects could include:

  • linux file system driver (perhaps read only) for a simple file system (mkfs provided)
  • MySQL table handler for some simple format (indexes get trickier… but maybe simple bitmapped index… or just an in memory table handler)
  • fsck for some file format/file system format

These have the benefit of being able to run existing good test suites against the software and see how well people did. They’d probably also help people land jobs :)

Another interesting one would be implementing a library for journaling writes to a file. i.e. instead of write to temp, sync, rename – do journaling.  This would let people easily write apps that did safe updates to large files. You could then use this to implement other things (like a really simple crash-safe storage engine, FUSE file system or something).

I’m just not sure how much “cool tricks” could really happpen in that time (instead of just getting the job done). 20 coders talking about their neat tricks would probably make a good book though…