All software has bugs. Even if you could possibly write the perfect bug free software all the layers down have bugs. Even CPUs as can be seen with the recent Meltdown and Spectre bugs. This means unfortunately sometimes software will crash. When this happens it is useful to capture as much information as possible to try and stop it happening again.
One of the first things I did when coming back to work from the holiday break is code a new crash dump handler to be used in MariaDB ColumnStore. This will spit out a stack trace for the current thread into a file upon a crash. It is very useful for daemons to try and find the root cause of a problem without running through a debugger. Continue reading Coding and decoding crash dump handlers
With MariaDB ColumnStore 1.1 Beta now released I quickly checked Twitter today to see what the response so far has been. I noticed that someone had posted up a benchmark comparison of MariaDB ColumnStore against a couple of other databases with data that doesn’t quite add up.
Continue reading Correcting MariaDB ColumnStore Benchmarks
Unlike most storage engines, MariaDB ColumnStore does not store its data files in the datadir. Instead these are stored in the Performance Modules in what appears to be a strange numbering system. In this post I will walk you through deciphering the number system.
If you are still using InfiniDB with MySQL, the system is exactly the same as outlined in this post, but the default path that the data is stored in will be a little different.
Continue reading How MariaDB ColumnStore’s filenames work
A have a friend who was hit by a workforce reduction at a company I used to work at (as was his entire department). He is a brilliant engineer who has worked on some massive projects. But is struggling to find somewhere new in-part due to the insane way the recruitment process works in our industry.
Continue reading Tech job interviews are broken
Sometimes network protocols don’t entirely behave as documented. Other times there is no documentation at all beyond code. Either way you can sometimes find a need to sniff the traffic of a connection to find out what is really going on.
Continue reading Protocol reverse engineering with tcpdump
Several years ago there was a fork of the unreleased MySQL 6.0 called Drizzle. It was designed to be a lightweight, cloud/web/UTF8 first database server with a microkernel style core. I worked for a while as one of the core developers of Drizzle until the corporate sponsor I worked for ceased funding its development.
Continue reading Part of my history inside InfiniDB/ColumnStore
After my previous post about ack a Twitter follower, Nick Morrott, pointed out that there is a potentially better tool than ack.
Continue reading Linux tools: silver searcher