{"id":1018,"date":"2009-11-30T11:42:16","date_gmt":"2009-11-30T11:42:16","guid":{"rendered":"http:\/\/www.gosquared.com\/liquidicity\/?p=1018"},"modified":"2019-11-28T13:00:29","modified_gmt":"2019-11-28T13:00:29","slug":"item-deletion-bug-in-pecl-memcache","status":"publish","type":"post","link":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache","title":{"rendered":"Item deletion bug in PECL memcache package"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/static.gosquared.com\/images\/liquidicity\/09_12_06_geoffdev_790x100.jpg\" alt=\"Dev with Geoff - Development time with our CTO Geoff Wagstaff\" width=\"790\" height=\"100\"\/><\/p>\n<p>Since <a href=\"http:\/\/memcached.org\/\">memcached<\/a> version 1.4.3, the item deletion function (Memcache::delete()) in the <a href=\"http:\/\/pecl.php.net\/package\/memcache\">PECL memcache package<\/a> fails with an error similar to &#8220;CLIENT_ERROR bad command line format.  Usage: delete <key> [noreply]&#8221; due to a feature removal in memcache 1.4.0 and above. Details about this feature removal and the problems it caused have been <a href=\"http:\/\/code.google.com\/p\/memcached\/wiki\/ReleaseNotes144\">published by the memcached team<\/a>.<\/p>\n<p>The memcached team have recently released version 1.4.4, adding backwards compatibility support for clients such as the PECL memcache extension and rectifying this issue, but for those of you who would like to patch the PECL extension directly, I&#8217;m putting a <a href=\"http:\/\/www.gosquared.com\/labs\/memcache\/memcache-3.0.4_patched.tgz\">patched version of beta 3.0.4<\/a> up for download over at <a href=\"http:\/\/www.gosquared.com\/labs\">GoSquared Labs<\/a>.<\/p>\n<p>This is a simple fix which uncomments the code in memcache_ascii_protocol.c and memcache_binary_protocol.c that pertains to the &#8220;linger time&#8221; of the deleted item. However, simply upgrading to version 1.4.4 of memcached should rectify the PECL extension problem anyway.<\/key><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since memcached version 1.4.3, the item deletion function (Memcache::delete()) in the PECL memcache package fails with an error similar to&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1452],"tags":[160,684],"class_list":["post-1018","post","type-post","status-publish","format-standard","hentry","category-engineering","tag-bug","tag-pecl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.6 (Yoast SEO v19.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Item deletion bug in PECL memcache package - GoSquared Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Item deletion bug in PECL memcache package\" \/>\n<meta property=\"og:description\" content=\"Since memcached version 1.4.3, the item deletion function (Memcache::delete()) in the PECL memcache package fails with an error similar to...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache\" \/>\n<meta property=\"og:site_name\" content=\"GoSquared Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/GoSquared\" \/>\n<meta property=\"article:published_time\" content=\"2009-11-30T11:42:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-11-28T13:00:29+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/static.gosquared.com\/images\/liquidicity\/09_12_06_geoffdev_790x100.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@TheDeveloper\" \/>\n<meta name=\"twitter:site\" content=\"@GoSquared\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Geoff Wagstaff\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#organization\",\"name\":\"GoSquared\",\"url\":\"https:\/\/www.gosquared.com\/blog\/\",\"sameAs\":[\"https:\/\/instagram.com\/gosquaredteam\",\"https:\/\/www.linkedin.com\/company\/go-squared-ltd.\",\"https:\/\/www.facebook.com\/GoSquared\",\"https:\/\/twitter.com\/GoSquared\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png\",\"contentUrl\":\"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png\",\"width\":1270,\"height\":250,\"caption\":\"GoSquared\"},\"image\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#website\",\"url\":\"https:\/\/www.gosquared.com\/blog\/\",\"name\":\"GoSquared Blog\",\"description\":\"Turn visitors into customers.\",\"publisher\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.gosquared.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#primaryimage\",\"url\":\"http:\/\/static.gosquared.com\/images\/liquidicity\/09_12_06_geoffdev_790x100.jpg\",\"contentUrl\":\"http:\/\/static.gosquared.com\/images\/liquidicity\/09_12_06_geoffdev_790x100.jpg\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#webpage\",\"url\":\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache\",\"name\":\"Item deletion bug in PECL memcache package - GoSquared Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#primaryimage\"},\"datePublished\":\"2009-11-30T11:42:16+00:00\",\"dateModified\":\"2019-11-28T13:00:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.gosquared.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Item deletion bug in PECL memcache package\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#webpage\"},\"author\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/56a3341790c8a0603f96066fb8d42448\"},\"headline\":\"Item deletion bug in PECL memcache package\",\"datePublished\":\"2009-11-30T11:42:16+00:00\",\"dateModified\":\"2019-11-28T13:00:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#webpage\"},\"wordCount\":156,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#primaryimage\"},\"thumbnailUrl\":\"http:\/\/static.gosquared.com\/images\/liquidicity\/09_12_06_geoffdev_790x100.jpg\",\"keywords\":[\"Bug\",\"PECL\"],\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/56a3341790c8a0603f96066fb8d42448\",\"name\":\"Geoff Wagstaff\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/66792d2e4d04406697b9a5f322664691590a386bc15b7146d143bbca07aa8889?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/66792d2e4d04406697b9a5f322664691590a386bc15b7146d143bbca07aa8889?s=96&d=mm&r=g\",\"caption\":\"Geoff Wagstaff\"},\"sameAs\":[\"https:\/\/twitter.com\/TheDeveloper\"],\"url\":\"https:\/\/www.gosquared.com\/blog\/author\/echo\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Item deletion bug in PECL memcache package - GoSquared Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache","og_locale":"en_US","og_type":"article","og_title":"Item deletion bug in PECL memcache package","og_description":"Since memcached version 1.4.3, the item deletion function (Memcache::delete()) in the PECL memcache package fails with an error similar to...","og_url":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache","og_site_name":"GoSquared Blog","article_publisher":"https:\/\/www.facebook.com\/GoSquared","article_published_time":"2009-11-30T11:42:16+00:00","article_modified_time":"2019-11-28T13:00:29+00:00","og_image":[{"url":"http:\/\/static.gosquared.com\/images\/liquidicity\/09_12_06_geoffdev_790x100.jpg"}],"twitter_card":"summary_large_image","twitter_creator":"@TheDeveloper","twitter_site":"@GoSquared","twitter_misc":{"Written by":"Geoff Wagstaff","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.gosquared.com\/blog\/#organization","name":"GoSquared","url":"https:\/\/www.gosquared.com\/blog\/","sameAs":["https:\/\/instagram.com\/gosquaredteam","https:\/\/www.linkedin.com\/company\/go-squared-ltd.","https:\/\/www.facebook.com\/GoSquared","https:\/\/twitter.com\/GoSquared"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png","contentUrl":"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png","width":1270,"height":250,"caption":"GoSquared"},"image":{"@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"WebSite","@id":"https:\/\/www.gosquared.com\/blog\/#website","url":"https:\/\/www.gosquared.com\/blog\/","name":"GoSquared Blog","description":"Turn visitors into customers.","publisher":{"@id":"https:\/\/www.gosquared.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.gosquared.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#primaryimage","url":"http:\/\/static.gosquared.com\/images\/liquidicity\/09_12_06_geoffdev_790x100.jpg","contentUrl":"http:\/\/static.gosquared.com\/images\/liquidicity\/09_12_06_geoffdev_790x100.jpg"},{"@type":"WebPage","@id":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#webpage","url":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache","name":"Item deletion bug in PECL memcache package - GoSquared Blog","isPartOf":{"@id":"https:\/\/www.gosquared.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#primaryimage"},"datePublished":"2009-11-30T11:42:16+00:00","dateModified":"2019-11-28T13:00:29+00:00","breadcrumb":{"@id":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.gosquared.com\/blog"},{"@type":"ListItem","position":2,"name":"Item deletion bug in PECL memcache package"}]},{"@type":"Article","@id":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#article","isPartOf":{"@id":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#webpage"},"author":{"@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/56a3341790c8a0603f96066fb8d42448"},"headline":"Item deletion bug in PECL memcache package","datePublished":"2009-11-30T11:42:16+00:00","dateModified":"2019-11-28T13:00:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#webpage"},"wordCount":156,"commentCount":0,"publisher":{"@id":"https:\/\/www.gosquared.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#primaryimage"},"thumbnailUrl":"http:\/\/static.gosquared.com\/images\/liquidicity\/09_12_06_geoffdev_790x100.jpg","keywords":["Bug","PECL"],"articleSection":["Engineering"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.gosquared.com\/blog\/item-deletion-bug-in-pecl-memcache#respond"]}]},{"@type":"Person","@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/56a3341790c8a0603f96066fb8d42448","name":"Geoff Wagstaff","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/66792d2e4d04406697b9a5f322664691590a386bc15b7146d143bbca07aa8889?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/66792d2e4d04406697b9a5f322664691590a386bc15b7146d143bbca07aa8889?s=96&d=mm&r=g","caption":"Geoff Wagstaff"},"sameAs":["https:\/\/twitter.com\/TheDeveloper"],"url":"https:\/\/www.gosquared.com\/blog\/author\/echo"}]}},"wps_subtitle":"","_links":{"self":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/posts\/1018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/comments?post=1018"}],"version-history":[{"count":0,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/posts\/1018\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/media?parent=1018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/categories?post=1018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/tags?post=1018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}