« Q4M 0.7 released | Main | Q4M 0.8.1 released (including prebuilt binaries) »

Q4M adoption by Mixi, and the release of version 0.8

Last week, Mixi - Japan's largest social network service provider, launched an experimental microblogging service called Echo, and according to their delevopers' blog entry, they are using Q4M to level their write loads. Thank you to the developers of Mixi Echo for using Q4M, I hope Echo will go well and soon become a first-class service.

Meanwhile, several bugs were found in Q4M (that arise under rare cases or complex usage senarios), so I have just uploaded version 0.8, available from the Q4M homepage.

This release fixes the following bugs.

  • block div-by-zero exception on conditional subcription
  • do not crash when a nonexistent table (or a non-Q4M table) is specified as an argument of queue_wait
  • fix memory corruption that used to occur under certain cases when multiple table-conditions where passed to queue_wait
  • return correct data when a single table is passed multiple times to queue_wait function causing a wait

From this release, the plugin_version field of information_schema.plugins table will show the correct version number of Q4M.

mysql> select plugin_version from information_schema.plugins where plugin_name='queue'; 
| plugin_version |
| 0.8            | 
1 row in set (0.01 sec)
It is also possible to view the status of Q4M.
mysql> show engine queue status\G
*************************** 1. row ***************************
  Type: QUEUE
I/O calls
sys_read                           71
sys_write                       58292
sys_sync                        43271
read_cachehit                       0

Writer thread
append                          10095
remove                          34422

Conditional subscription
evaluation                      31809
compile                         26543
compile_cachehit                26531

High-level stats
rows_written                    47002
rows_removed                    46469
queue_wait                      44931
queue_end                        4110
queue_abort                         3
queue_rowid                      4085
queue_set_srcid                    89

1 row in set (0.00 sec)

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)