WaffleGrid new features

Recently, I have been traveling a lot to the west coast (I live in Quebec) so I had plenty of time to update WaffleGrid while flying. Here are the new features/ports:

  • Dynamic memcached servers list
  • Matt enhanced stats ported from the non-plugin InnoDB version
  • CRC32 checksum for each element sent and retrieved from memcached
  • Better thread protection
  • So now, if you update the innodb_memcached_servers with a statement like “set global innodb_memcached_servers = ‘serverA,serverB:11212’;” then MySQL will disconnect from the current servers and reconnect to the new ones. The key prefix is incremented to prevent cache coherency problems.

    You might have noticed that Matt added many WaffleGrid statistic counters like shown here. Those counters have been ported to the InnoDB plugin version.

    I also added a CRC32 checksum for each block sent to memcached, the checksum value is stored in the memcached flags integer variable. With this feature, accidental cache corruption or network communication problem should be trapped correctly.

    Finally, I realized many variables were not correctly protected for multi-threaded access. Remember… my main job is not developer, I have my limitations. Those variables are now per thread so the risk of collision should be much smaller.

    Want to try? Easy, just do

    bzr branch lp:~y-trudeau/wafflegrid/waffleGrid-Innodb-plugin

    and replace the storage/innobase directory in 5.1 source tree. Remember, the code is very young, use it at your own risk.

    Next on my list is to improve error handling and design some automatic tests. By the way, I welcome any more senior C programmer than me to review the code, I am sure there are some nasty things there.

    About Yves Trudeau

    I work as a senior consultant in the MySQL professional services team at Sun. My main areas of expertise are DRBD/Heartbeat and NDB Cluster. I am also involved in the WaffleGrid project.
    This entry was posted in mysql, Waffle Grid, yves. Bookmark the permalink.