gayatrikrishna / memcachedb

Automatically exported from code.google.com/p/memcachedb
Other
0 stars 0 forks source link

when adding an existing key memcached server failed #2

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

From php connect to memcachedb via Memcache() class 

1. add a key with a value
2. try to add again the same key 

What is the expected output? What do you see instead?
-normaly this should return false

Result: PHP Notice:  add(): marked server 'localhost:21211' as failed in ... 

What version of the product are you using? On what operating system?

Berkeley DB 4.6.18
libevent 1.4.0-beta
memcachedb-0.1.0
Linux

Original issue reported on code.google.com by cocorult...@gmail.com on 14 Jan 2008 at 1:44

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

From php connect to memcachedb via Memcache() class 

1. add a key with a value
2. try to add again the same key 

>> Have you modified your key and value size in memcachedb.h?

What is the expected output? What do you see instead?
-normaly this should return false

Result: PHP Notice:  add(): marked server 'localhost:21211' as failed in ... 

>> Can you just telnet it to make sure the daemon is available?

What version of the product are you using? On what operating system?

Berkeley DB 4.6.18
libevent 1.4.0-beta
memcachedb-0.1.0
Linux

>> That's exactly what we use.

Original comment by stv...@gmail.com on 15 Jan 2008 at 2:13

GoogleCodeExporter commented 9 years ago
in memcachedb.h

#define END_LEN 5001
#define END_LEN_STR "5000"

-ps aux 

root      6514  0.0 12.2 115656 64148 ?        Ssl  Jan15   1:01 ./memcachedb -p
21211 -d -r -u root -H ./env -N

php test:
<?php

$memcache = new Memcache;
$memcache->addServer('localhost', 21211);

$memcache->add('keya','vala');
echo $memcache->get('keya');
$memcache->add('keya','valb');

result:

Result: valaPHP Notice:  add(): marked server 'localhost:21211' as failed in 
... 

?>

Original comment by cocorult...@gmail.com on 16 Jan 2008 at 9:24

GoogleCodeExporter commented 9 years ago
This might be relevant to the issue above,

Telneting into memcachedb 0.1.0:

root@x:~# telnet localhost 21211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
add a1 0 0 5
aaaaa
STORED
add a1 0 0 6
bbbbbb
NOT STORED

Telneting into memcached 1.2.2

root@x:~# telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
add a1 0 0 5
aaaaa
STORED
add a1 0 0 6
bbbbbb
NOT_STORED

There's a notable difference between the response from the servers on the 
second add:
memcached replies with "NOT_STORED"
memcachedb replies with "NOT STORED" (notice the missing underscore)
this probably confuses the client since it's not the standard memcached 
response:
http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt

Original comment by razvan....@gmail.com on 21 Jan 2008 at 9:47

GoogleCodeExporter commented 9 years ago
This is bug, and we now have a new bugfix release.

Original comment by stv...@gmail.com on 21 Jan 2008 at 10:38

GoogleCodeExporter commented 9 years ago
Thank you for the extraordinarily quick response.
Keep up the great work!

Original comment by razvan....@gmail.com on 21 Jan 2008 at 12:51

GoogleCodeExporter commented 9 years ago
Tested new release, bug resolved, thanks!
This issue can be closed.

Original comment by cocorult...@gmail.com on 21 Jan 2008 at 1:12

GoogleCodeExporter commented 9 years ago
Hi. I *think* that this code fix still needs to be checked in.

I was using 1.2.1-beta and found this bug myself. I then checked out the code 
this
morning from http://memcachedb.googlecode.com/svn/trunk/ and found that line 
663 of
memcachedb.c still has NOT_STORED.

Is there a step between the releases that cocorultimid got and subversion that 
has
been missed?

Original comment by enda.far...@gmail.com on 4 Feb 2009 at 2:34