Archive for the ‘Uncategorized’ Category
We’ve been able to do MySQL 5.1 binary tarballs for a bit now (great working together with Kristian Nielsen of Monty Program), but packages are bit more tricky. Peter has been working on Debian/Ubuntu while I’ve focused on RH/CentOS. The following is from an OurDelta (trial build run) RPM install on CentOS 5 x64:
$ mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.38-maria-beta1-ourdelta (OurDelta - http://ourdelta.org/) mysql> CREATE TABLE test.t1 (i int) ENGINE=PBXT; Query OK, 0 rows affected (0.10 sec) mysql> SHOW CREATE TABLE test.t1\G *************************** 1. row *************************** Table: test.t1 Create Table: CREATE TABLE `test.t1` ( `i` int(11) DEFAULT NULL ) ENGINE=PBXT DEFAULT CHARSET=latin1 1 row in set (0.00 sec) mysql> INSERT INTO test.t1 values (1); Query OK, 1 row affected (0.03 sec) mysql> SELECT * FROM test.t1; +------+ | i | +------+ | 1 | +------+ 1 row in set (0.00 sec) mysql> SHOW ENGINE PBXT STATUS\G *************************** 1. row *************************** Type: PBXT Name: Status: 090929 23:05:41 PBXT 1.0.08d RC STATUS OUTPUT Record cache usage: 65675 Record cache size: 33554432 Record cache high: 65675 Index cache usage: 0 Index cache size: 33554432 Log cache usage: 295128 Log cache size: 16756712 Data log files: 1 row in set (0.00 sec)
So yes, PBXT is fully in there, as is XtraDB (the enhanced InnoDB plugin).
mysql> SHOW GLOBAL VARIABLES LIKE 'innodb_version'; +----------------+----------+ | Variable_name | Value | +----------------+----------+ | innodb_version | 1.0.3-6a | +----------------+----------+ 1 row in set (0.00 sec)
Last year, Erik Ljungstrom (sensei in the #ourdelta IRC channel on Freenode) created patch for a bug Arjen identified with the handling of (among others) the open-files-limit option; the patch was first included in the OurDelta build of MySQL 5.0.67.
Now, Sun engineer Guilhem Bichot has committed the (modified) patch into the 6.0-maria tree, so it should appear in 6.0 and potentially 5.4. That’s good.
See http://bugs.mysql.com/40368 for details and history.
We had to apply a weird tweak as the default Ubuntu Jaunty packages are named something like 5.1.30really-5.0.xx. Several people have filed bugs on it with Ubuntu on Launchpad.
What I suspect happened (unconfirmed!) is that Canonical was contemplating putting 5.1 into Jaunty, had it in a beta but went back to 5.0 before release. Since downgrading by version number is a manual process in apt-get, the above hack allows a downgrade that looks like an upgrade…
Our original Jaunty build worked fine if you were starting from scratch, however an upgrade from the default MySQL on Jaunty would not work. Peter has built 5.1.30really-5.0.77-d8-ourdelta, which upgrades happily from the default Jaunty install or any other earlier install (such as from Intrepid). If you upgrade from an earlier Ubuntu version, do make sure you fix up your /etc/apt/sources.list.d/ourdelta.list with the release name jaunty. Easy as. Then run apt-get update then apt-get upgrade.
OurDelta builds of MySQL 5.0.77-d8 for Ubuntu 9.04 (Jaunty) builds are done, thanks to some smart and fast work by Peter. The packages are getting copied to the main site right now, and the mirrors should be up-to date within half a day or so.
OurDelta build for MySQL 5.0.77 with patchset d8 is now available, in source and packaged binaries for RHEL/CentOS 4 and 5, Debian 4.0 (Etch) and 5.0 (Lenny), Ubuntu 8.04 LTS (Hardy) and 8.10 (Intrepid).
If you already installed the OurDelta repository information, yum update or apt-get upgrade will install the updated packages for you. Please do review the notes below.
Fixes, Changes & Additions:
- With Percona moving the patches it maintains to using bzr/Launchpad, we now simply pull those in as a subdirectory percona_maintained. The old separate patch dirs are still present in the tree, we’ll remove those while making sure we’re not losing anything along the way. And as you know we do have more patches than just those that are maintained by Percona, also.
- The InnoDB Freeze patch was not included in this build. The Percona XtraDB backup tool is an excellent development. There might still be a use for the freeze trick for other purposes, but we’ll review that.\
- We still need to update the list of patches on the site for this release, and the accompanying docs pages.
- Peter has been working on binary tarballs, as there have been many requests for this. So this is generic Linux binaries, statically linked, which should work on most Linuxes. With the /usr/local/mysql layout. They’re nearly ready, so expect to see them within this week.
- There are no 32-bit builds for Debian 5.0 Lenny yet, the build VM actually the build crash with an internal compiler error, quite interesting. Rebuilding the entire VM doesn’t make a difference, but the same platform outside the VM works fine. We’ll work it out…
I did a couple of sessions on OurDelta at the Linux.conf.au database miniconf: an overview of the project, a short delve into the features, and a “hacking the mysql server for dummies” which was found of particular interest. It’s a pity that session didn’t get accepted into the MySQL conference, it even had MySQL-uberguru Antony Curtis as co-speaker.
In the hacking talk in Hobart, I showed people the basic infrastructure of the source tree, then going through one particular patch and which changes it makes inside the server (and why). This is an excellent way to learn, as patches have a neat limited scope yet they do something significant. The good news is that the sessions were recorded, so when the LCA team finishes transcoding the hundreds of sessions we might be able to put ours up here!
Original author and MySQL co-founders Monty and David were also present, with their families. Monty told me that the last time he’d visited Australia was for an AUUG conference in 1998, that’s a few years before I moved here! David was at Linux.conf.au 2002 in Brisbane, he stayed at my place and my black cat (then tiny kitten) Figaro crawled on his neck. Anyway it was great to catch up, discuss ideas, have some Salmiakki, and share “home cooked” dinner (we had a full kitchen at the accomodation) with a number of other conference attendees. It was a great week!
In case you haven’t seen, Monty left Sun to be independent again. Still working on MySQL though! More interesting times ahead?
In other news, I’ve moved from VirtualBox to VMware Fusion for my desktop development system. While generally very nice (and free), VirtualBox kept destroying my snapshots, thus making work pretty much impossible and causing a lot of extra time getting wasted. VMware Fusion also supports 64-bit guests under OSX, multiple CPU cores, and other fancies. Still, I do hope (and trust) that VirtualBox will be developed and debugged further, it definitely has good potential!