WaffleGrid 0.4 "Butter"

This is a special preview release of Waffle Grid named "butter" . I have included libmemcached, memcached, and the fully patched mysql source in this release. It is offered as a use at your own risk release, and we do not advise putting this into production.

Milestone information

Project:
WaffleGrid
Series:
preview
Version:
0.4
Code name:
Butter
Released:
 
Registrant:
MadMatt
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
No users assigned to blueprints and bugs.
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
No bugs are targeted to this milestone.

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon compile-pentium-max-memc (md5) Updated 32 bit BUILD Script 26
last downloaded 71 weeks ago
download icon wafflegrid_butter.preview.0.4.tar.gz (md5) Full Technology stack 55
last downloaded 71 weeks ago
Total downloads: 81

Release notes 

We still have a long way to go but this should everyone a good technology preview.
Some risks to note:

*Their is a risk of a database crash if the memcached data is curropted ( i.e. bad packets/other weirdness )
*Full table scans are slower with waffle then non-waffle, we are looking into this
*You really need 1Gbe connection between the servers
*This is experimental... treat it as such
*In rare cases, it may casue the extinction of humanity...

other then that nothing else serious

======================================================================
Grab MySQL 5.1.30
Grab Libmemcached
Grab memcached

If your using the patch:

root@bigdbahead:/opt/mysql-5.1.30-memscratch/storage# cat /home/matt/merge/wafflegrid-mysql-5.1.30.patch | patch -p0
patching file innobase/buf/buf0buf.c
patching file innobase/buf/buf0lru.c
patching file innobase/buf/buf0rea.c
patching file innobase/handler/ha_innodb.cc
patching file innobase/include/srv0srv.h
patching file innobase/include/srv0start.h
patching file innobase/include/thr0loc.h
patching file innobase/srv/srv0srv.c
patching file innobase/srv/srv0start.c
patching file innobase/thr/thr0loc.c

If your using the preview tarball your good, you have all the software.

on ubuntu you may need some of these packages... this is not a complete list and I may have some unneeded ones in here:
apt-get install bison byacc memcached libtool libncurses5 libncurses5-dev ncurses-base g++ gcc make libstatistics-descriptive-perl automake libevent-dev

Build the software:
Under the memcached directory
./configure
make
make install

under the libmemcached directory
./configure
make
make install

Under the mysql directory....

nohup ./BUILD/compile-pentium64-max-memc --prefix=/mysql > output 2>&1 &

*** note the prefix is the directory where you want to install mysql ****

make install

Setup the db environment just like a normal mysql installation ( will be installed in the --prefix location ), follow the standard mysql docs on this.

You should be good to go.

======================================================================
Other notes:

Note here are the new my.cnf variables we introduced for waffle grid:

innodb_memcached_enable [ This can be 1 for on or 0 for off ]
innodb_memcached_servers [ This is not dynamic in this version, use a comma seperated list ie. 10.1.1.3,10.1.1.3:11212 ]
innodb_print_memcached_stats [ 0 for off, 1 for summary logging, 2 for detailed logging ... output goes to the error log ]
innodb_enable_rnd_readahead [ default is 1, which means random read ahead is enabled, disabling this may yeild benefits in some apps ]
innodb_enable_seq_readahead [ default is 1, which means sequential read ahead is enabled, disabling this may yeild benefits in some apps ]

After starting the database:

set @@global.innodb_memcached_enable=1;

Here is a sample config:

[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /mysql/
datadir = /mysql/data
tmpdir = /tmp
skip-external-locking
innodb_memcached_servers=localhost
bind-address = 127.0.0.1
key_buffer = 64M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 64
table_cache = 64
innodb_data_home_dir = /mysql/data
innodb_log_file_size = 128M
innodb_lock_wait_timeout = 50
innodb_buffer_pool_size = 768M
innodb_additional_mem_pool_size = 20M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_log_files_in_group = 2
innodb_data_file_path = ibdata1:500M:autoextend
innodb_support_xa = 0
innodb_thread_concurrency = 0

Changelog 

This release does not have a changelog.

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.