Showing entries 381 to 390 of 693
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: drizzle (reset)
How GDB helped me fix a Drizzle Bug


The other day I found a nice surprise on my inbox. Jay Pipes asked me if I'd like to try fixing a small bug on Drizzle. It looked pretty simple, and the bug report included a big part of the fix. I accepted without a doubt.
I decided to first change trans_prealloc_size from uint32_t to uint64_t. That was done on drizzled/session.h. Then, I went to drizzle/set_var.cc and changed sys_trans_prealloc_size from …

[Read more]
Build fixes for Snow Leopard

Eric Lambert found some build issues with the new release of OSX today. They're real pleasing. The first is that for some reason test programs testing for fdatasync() compile and run with no problem, but when trying to then use it in the main program, it doesn't work. (because it doesn't exist) So we had to add a special test program check (ugh - thanks Apple) And then they "upgraded" readline. Except they only half-upgraded, so it has half of the newer readline interface but not the other half. The fix to this is simple.

Download and install a real copy of readline instead of the half-baked pile-of-shit copy of editline wrappers that Apple ships. Works like a charm.

You know, it's fine if you want a (wanna-be) BSD system (which is actually non-free) and all. Whatever. But if you aren't going to ship readline, then don't ship readline. OR, …

[Read more]
The Future of Database Clustering

Baron Schwartz started a good discussion about MMM use cases that quickly veered into an argument about clustering in general. As Florian Haas put it on his blog, this is not just an issue of DRBD vs. MySQL Replication. Is a database cluster something you cobble together through bits and pieces like MMM? Or is it something integrated that we can really call a cluster? This is the core question that will determine the future of clustering for open source databases.

I have a strong personal interest in this question, because Tungsten clustering, which I designed, is betting …

[Read more]
32-bit vs 64-bit

<rant>

Oh dear. I was hoping that by now this would be a non-issue. It seems that many of us (including the majority of my clients) are late to the party.

People…it’s now September of  2009. Next month starts the last quarter of 2009.  If you have a 64-bit chip in your server for the LOVE OF GOD please run a 64-bit operating system. And easily 90% of the servers shipping have 64-bit procs. I don’t know of any shipping dedicated servers that are running 32-bit procs but I suppose there are some left somewhere in the universe.

Do you know how difficult and costly it can be to upgrade your server to a 64-bit OS? Costly in terms of money and downtime (which may as well be money). All because you didn’t realize when you bought the server that you would ever use more than four gigs of RAM. Or you thought you might have some trouble getting your application to work with the 64-bit libraries or whatever. …

[Read more]
Seeking public data for benchmarks

I have several side projects when time permits and one is that of benchmarking various MySQL technologies (e.g. MySQL 5.0,5.1,5.4), variants (e.g. MariaDB, Drizzle) and storage engines (e.g. Tokutek, Innodb plugin) and even other products like Tokyo Cabinet which is gaining large implementations.

You have two options with benchmarks, the brute force approach such as Sysbench, TPC, sysbench, Juice Benchmark, iibench, mysqlslap, skyload. I prefer the realistic approach however these are always on client’s private data. What is first needed is better access to public data for benchmarks. I have compiled this list to date and I am seeking additional sources for reference.

  • Feebase – Data is in clean loadable format
  • IMDB – Not clean, but Roland Bouman is working on …
[Read more]
Compiling with -O3

Mark Callaghan was just asking about what gcc compilation flags people use. (Not sure if Facebook Notes recognize pingbacks or not, so I sort of hope Mark is reading planetmysql, too)

Most of the distros build with -O2 (except for Gentoo, which compiles with as many flags as they can find) It's also the default in autoconf, the rationale being, I believe, that -O3 doesn't give discernable benefit for most things, but does require a considerably higher CPU cost during the compile. If you are, say, Debian, and you're compiling over 10k packages, streamlining the compile for the normal case is probably a great idea.

In Drizzle, however, we do override that default and build with -O3 at all times. I did some testing in our benchmark system about a month ago, mainly because I wanted to verify that -O3 was worth the extra effort that's in our autoconf …

[Read more]
Drizzle and the Gearman logging plug-in

Disclaimer: This blog post is about things I did on my own free time, not endorsed by my employer.
I have been meaning to look at Gearman for a long time, but I just couldn't find any project where I could use it.

Well, that was true until last week a couple of weeks ago, when I started to put together Drizzle, the Gearman logging plug-in, Perl and the Enterprise Monitor.

As I was finishing writing the agent.pl script, I thought that it would be a good idea to split the script in at least two components: one that would just collect the queries, and another component that would do the processing of the log entries (replacing the literals for "?", grouping queries by query text, etc).

[Read more]
Drizzle query monitoring

Disclaimer: This blog post is about things I did on my own free time, not endorsed by my employer.
A little over a month ago, Ronald posted a blog about the different query logging plug-ins that are available for Drizzle. This was pretty exciting news, especially when I saw the details that were included in the logs.

Meanwhile, a few weeks ago, I started looking at the REST API that comes with the MySQL Enterprise Monitor.

The result is that we can now see most of the information returned by the plug-in, on the Dashboard.

[Read more]
Debug Console in drizzled

Last week on the train to Seattle I was hacking on the new libdrizzle protocol plugin when realized I could really use a debugging console that did not require any socket communication. Since I abstracted a Client plugin in the server (Protocol class for the MySQL folks), this can easily be done by just writing a new plugin. I needed to do some refactoring with the listener plugin to not require a TCP socket/accept and instead poll any arbitrary file descriptor. This allows the the Listen plugin to create the client instance any way it wants. After a bit of hacking and cleanup, we now have this:

shell$ ./drizzled/drizzled --datadir=/home/eday/other/drizzle.data
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins.
090827  0:29:34  InnoDB: highest supported file format is Barracuda.
090827  0:29:34 InnoDB Plugin 1.0.3 started; log sequence number 8157346
Listening on :::4427
Listening on 0.0.0.0:4427 …
[Read more]
Drizzle, Gearman, and memcached Meetings

As Brian mentioned, a number of us traveled up to Seattle last week to discuss the road map for Drizzle, Gearman, and memcached. Thanks to everyone who was able to make it! It was great to see folks again (Northscale guys, Robert Hodges, Padraig), and meet a couple new people like Nathan, one of the Google Summer of Code students for Drizzle. I thought I’d take a moment to mention some of the discussions related to the tasks I’m working on.

For Drizzle, we talked about the new configuration and plugin system I’ve been digging into lately. Monty Taylor has been doing a great job refactoring the plugin loading, but there are still some steps to be taken to get things where we want. One of the big goals with all this is to have the plugin and config system not specific to Drizzle at all so we can use this in other projects as well (one being Gearman). There are a bunch …

[Read more]
Showing entries 381 to 390 of 693
« 10 Newer Entries | 10 Older Entries »