Renchunbing / xmemcached

Automatically exported from code.google.com/p/xmemcached
Apache License 2.0
1 stars 0 forks source link

WHile dedugging, xmemcached implementation for kestrel hangs like anything #152

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Open a client connection to kestrel in debug mode
2. try to do set on the connection
3. You can see that application says debug mode is stepping..but actually it 
has hanged like anything

What is the expected output? What do you see instead?
It should not hang

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

Please provide any additional information below.

Original issue reported on code.google.com by adarsh.t...@gmail.com on 21 Sep 2011 at 7:38

GoogleCodeExporter commented 9 years ago
Hi,it seems a bug in kestrel's newer version.

It returns version with a blank line,it's not as same as memcached.And 
xmemcached use version protocol to do heart beat,so when you debuged,heatbeat 
occured and decode protocol failed.Then it seems your application was hung.
You can try to disable heartbeat and test it again:

memcachedClient.setEnableHeartBeat(false);

Original comment by killme2...@gmail.com on 29 Sep 2011 at 10:28

GoogleCodeExporter commented 9 years ago
Hi,
       I have written a small client with encoder and decoder which can talk in terms of memcached protocol. 

      I sent the command to kestrel 2.1.0 server,
      version \r\n

    Server replied back with the correct response,
   VERSION 2.1.0\r\n

    This is what mentioned in memcached protocol documentation about version command...right? Please refer this link for the same.http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt

   I really don't think, It's server side error. Can you please re-check on the client side. The client might not be decoding properly. And, also on Issue number 153 with the memory leak problem.

Thanks in advance.

 I strongly

Original comment by adarsh.t...@gmail.com on 29 Sep 2011 at 12:52

GoogleCodeExporter commented 9 years ago
It's a pity that i could not reproduce this issue in my machine,and i use 
eclipse and kestrel 2.1 on mac osx.

I said that it may be an issue in kestrel,beacause someone has the same issue 
with 2.1.1-SNAPSHOT,and kestrel returns version with an extra blank line 
fllowed by version result.

You may test your kestrel with telnet,and type version to see result if it has 
an extra blank line.

And you may attach your code,and i try to reproduce the problem in my machine.

Original comment by killme2...@gmail.com on 29 Sep 2011 at 1:23

GoogleCodeExporter commented 9 years ago
It seems that you are right. I had  one more look on the output of my Byte 
Buffer, I see the output as,
VERSION 2.1.0\r\n\r\n  in my Byte Buffer. But, my decoder is good enough to 
handle such response.

Till then, I will use the work around you suggested,

memcachedClient.setEnableHeartBeat(false);

Original comment by adarsh.t...@gmail.com on 29 Sep 2011 at 1:35

GoogleCodeExporter commented 9 years ago
I have tested with Kestrel 2.1.1 and Kestrel 2.1.2,
The extra blank line issue is fixed on the server side.

Thanks,
Adax

Original comment by adarsh.t...@gmail.com on 30 Sep 2011 at 7:07

GoogleCodeExporter commented 9 years ago
All right.

Original comment by killme2...@gmail.com on 1 Oct 2011 at 12:49