List:Cluster« Previous MessageNext Message »
From:Boris Timokhin Date:November 18 2012 11:41pm
Subject:memcached big values save but return empty result
View as plain text  
Hello!

I try set "big" value as memcaced client. I use prefix 'b:' and happy with
small value. And can save big value and can see its in `external_values`
table. But `get my_key` return empty result.

My actions:
1. In a begining empty tables:

mysql> SELECT * FROM ndbmemcache.demo_table_large;
Empty set (0.01 sec)

mysql> SELECT * FROM ndbmemcache.external_values;
Empty set (0.02 sec)

2. Set small value - 'abcd':

In memcached logs:
<49 set b:my_key 0 0 4
49: going from conn_parse_cmd to conn_nread
49 - Running task: (conn_nread)
49 - Running task: (conn_nread)
Got notify from 49, status 0
>49 STORED

Mysql client:
mysql> SELECT * FROM ndbmemcache.demo_table_large;
+--------+-----------------+--------------+--------+----------+
| mkey   | cas_value       | string_value | ext_id | ext_size |
+--------+-----------------+--------------+--------+----------+
| my_key | 680130351464502 | abcd         |   NULL |     NULL |
+--------+-----------------+--------------+--------+----------+
1 row in set (0.01 sec)

3. Set big value - 'abcd' * 1000 (4000 characters ):

In memchached logs:
<49 set b:my_key 0 0 4000
49: going from conn_parse_cmd to conn_nread
49 - Running task: (conn_nread)
49 - Running task: (conn_nread)
Got notify from 49, status 0
>49 STORED

Mysql client:
mysql> SELECT * FROM ndbmemcache.demo_table_large;
+--------+-----------------+--------------+--------+----------+
| mkey   | cas_value       | string_value | ext_id | ext_size |
+--------+-----------------+--------------+--------+----------+
| my_key | 680130351464507 | NULL         |     49 |     4000 |
+--------+-----------------+--------------+--------+----------+
1 row in set (0.00 sec)

We see correct size and link to external_value

mysql> SELECT * FROM ndbmemcache.external_values;

/* There are one big row with id=49, part=0 and content= 'abcdabcdabcd...'
*/

Perfect! But...

4. $ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
get b:my_key
VALUE b:my_key 0 0

END

In memcached logs:

<47 get b:my_key
Got notify from 47, status 0
<47 get b:my_key
>47 sending key b:my_key

>47 END


It`s bug or I do something wrong?

Thank you!

Thread
memcached big values save but return empty resultBoris Timokhin18 Nov
  • Re: memcached big values save but return empty resultAndrew Morgan20 Nov
    • Re: memcached big values save but return empty resultBoris Timokhin20 Nov
      • RE: memcached big values save but return empty resultAndrew Morgan22 Nov