{"id":711,"date":"2006-06-09T01:59:58","date_gmt":"2006-06-08T15:59:58","guid":{"rendered":"http:\/\/www.flamingspork.com\/blog\/2006\/06\/09\/a-bug-on-failure-failure\/"},"modified":"2006-06-09T01:59:58","modified_gmt":"2006-06-08T15:59:58","slug":"a-bug-on-failure-failure","status":"publish","type":"post","link":"https:\/\/www.flamingspork.com\/blog\/2006\/06\/09\/a-bug-on-failure-failure\/","title":{"rendered":"a bug on failure failure"},"content":{"rendered":"<p>I&#8217;ve been working on <a href=\"http:\/\/bugs.mysql.com\/bug.php?id=17928\">BUG#17928<\/a>, which is all about &#8220;testBackup fails in error handling testcases&#8221; which appeared after we merged in some work to the 5.1 tree (which is okay in 5.0) that changes some things in the way that online backups are done in NDB to better support recovery in the event of various types of failures and various times in the process.<\/p>\n<p>Anyway, not all systems are affected by this bug&#8230; I&#8217;m at least reproducing some of the failures on my laptop and have spent the past while in the depths of the BACKUP and NDBFS blocks trying to work out what&#8217;s going on and why we&#8217;re hitting this assert.<\/p>\n<p>NDBFS is an interesting block as it&#8217;s the file system interaction for NDB &#8211; so we&#8217;re doing things that could take an arbitrary amount of time. We don&#8217;t like waiting for those sorts of things in cluster, so we go on and do other work.<\/p>\n<p>For backup, we buffer up writes and send FSAPPENDREQ (File System Append Request) to NDBFS only when we have a reasonable amount of data to send. For example, for very small rows being put into the log file, no use making a write() call for each row &#8211; batch them into big chunks!<\/p>\n<p>Back to the bug; I&#8217;ve got a theory[1], half a patch and some work to do tomorrow.<\/p>\n<p>[1] excluding gratuitous Buffy quote<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been working on BUG#17928, which is all about &#8220;testBackup fails in error handling testcases&#8221; which appeared after we merged in some work to the 5.1 tree (which is okay in 5.0) that changes some things in the way that &hellip; <a href=\"https:\/\/www.flamingspork.com\/blog\/2006\/06\/09\/a-bug-on-failure-failure\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1,14],"tags":[],"class_list":["post-711","post","type-post","status-publish","format-standard","hentry","category-general","category-mysql"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5a6n8-bt","jetpack-related-posts":[{"id":813,"url":"https:\/\/www.flamingspork.com\/blog\/2007\/04\/02\/record-autotest-numbers-for-ndb\/","url_meta":{"origin":711,"position":0},"title":"Record autotest numbers for NDB","author":"Stewart Smith","date":"2007-04-02","format":false,"excerpt":"So, with a bunch of recent tests I added (and some bugs that have been fixed) we're now consistently getting 203 or 204 passing tests. We've got typically around 8 or 9 that often fail - often because the test may be broken or not quite deterministic. Or there's a\u2026","rel":"","context":"In &quot;mysql&quot;","block_context":{"text":"mysql","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/mysql\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":549,"url":"https:\/\/www.flamingspork.com\/blog\/2006\/01\/11\/bug-15695-and-ndb-initial-start\/","url_meta":{"origin":711,"position":1},"title":"Bug 15695 and NDB initial start","author":"Stewart Smith","date":"2006-01-11","format":false,"excerpt":"The process for starting up a cluster is pretty interesting. Where, of course, \"interesting\" is translated to \"complex\". There's a lot of things you have to watch out for (namely you want one cluster, not two or ten or anything). You also want to actually start a cluster, not just\u2026","rel":"","context":"In &quot;mysql&quot;","block_context":{"text":"mysql","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/mysql\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":754,"url":"https:\/\/www.flamingspork.com\/blog\/2006\/10\/26\/mysql-ndb-team-trees-up-on-bkbitsnet\/","url_meta":{"origin":711,"position":2},"title":"mysql NDB team trees up on bkbits.net","author":"Stewart Smith","date":"2006-10-26","format":false,"excerpt":"If you head over here: mysql on bkbits.net you can get a copy of the NDB team trees. This is where we push stuff before it hits the main MySQL trees so that we can get some extra testing in (also for when pulling from the main tree). So you\u2026","rel":"","context":"In &quot;mysql&quot;","block_context":{"text":"mysql","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/mysql\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1217,"url":"https:\/\/www.flamingspork.com\/blog\/2008\/09\/19\/visual-studio-2008-unreferenced-local-variable-bug\/","url_meta":{"origin":711,"position":3},"title":"Visual Studio 2008 unreferenced local variable bug","author":"Stewart Smith","date":"2008-09-19","format":false,"excerpt":"screenshot 'cause typing is for wusses UPDATE: not actually VS bug. Nasty macro defining strtok_r to strtok on Win32. ouch.","rel":"","context":"In &quot;mysql&quot;","block_context":{"text":"mysql","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/mysql\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2008\/09\/vs_bug.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":746,"url":"https:\/\/www.flamingspork.com\/blog\/2006\/10\/19\/recent-happennings-and-releases\/","url_meta":{"origin":711,"position":4},"title":"Recent happennings and releases&#8230;","author":"Stewart Smith","date":"2006-10-19","format":false,"excerpt":"So a bunch of stuff has happenned (or happenning) that I've been wanting to blog about for a bit. Some stuff had to wait, others it's just been me being slack. Anyway, anyone who hangs closely around the MySQL circles probably now knows about MySQL Enterprise. There's been a fair\u2026","rel":"","context":"In &quot;mysql&quot;","block_context":{"text":"mysql","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/mysql\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":915,"url":"https:\/\/www.flamingspork.com\/blog\/2007\/11\/08\/twitter-updates-for-2007-11-08\/","url_meta":{"origin":711,"position":5},"title":"Twitter Updates for 2007-11-08","author":"Stewart Smith","date":"2007-11-08","format":false,"excerpt":"thinking about ndb speaking memcached protocol # tempted to start hacking memcached protocol interface to NDB # I hate GDB # seem to have (at least mostly) fixed this bug... # testSystemRestart running well... # Powered by Twitter Tools.","rel":"","context":"In &quot;Twitter&quot;","block_context":{"text":"Twitter","link":"https:\/\/www.flamingspork.com\/blog\/category\/from-twitter\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/comments?post=711"}],"version-history":[{"count":0,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/711\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/media?parent=711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/categories?post=711"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/tags?post=711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}