Report errors from the underlying memcache library on set

Sat, 31 Jul 2010 18:10:08 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Sat, 31 Jul 2010 18:10:08 +0100
changeset 5
a702c02caacc
parent 4
31e1af4738cb
child 6
4b67f2a8134b

Report errors from the underlying memcache library on set

memcached.lua file | annotate | diff | comparison | revisions
--- a/memcached.lua	Sat Jul 31 18:08:25 2010 +0100
+++ b/memcached.lua	Sat Jul 31 18:10:08 2010 +0100
@@ -45,8 +45,12 @@
 		received_buffer[#received_buffer+1] = data;
 		if received_count >= bytes then
 			received_buffer = table.concat(received_buffer);
-			cache:set(key, flags, exptime, received_buffer:sub(1,bytes));
-			conn:send("STORED\r\n");
+			local ok, err = cache:set(key, flags, exptime, received_buffer:sub(1,bytes));
+			if ok then
+				conn:send("STORED\r\n");
+			else
+				conn:send("SERVER_ERROR "..(err or "Unknown error").."\r\n");
+			end
 			conn:setlistener(memcached_listener);
 			conn:set_mode("*l");
 			if received_count > bytes then

mercurial