nfhu / xmemcached

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

调用incr出错 #109

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago

调用incr:

出现:

2011-01-08 14:37:48,582 ERROR   [net.rubyeye.xmemcached.impl.MemcachedHandler] 
XMemcached network layout exception
java.lang.IllegalArgumentException: Unknow Response status:6
    at net.rubyeye.xmemcached.command.binary.ResponseStatus.parseShort(ResponseStatus.java:162)
    at net.rubyeye.xmemcached.command.binary.BaseBinaryCommand.readStatus(BaseBinaryCommand.java:248)
    at net.rubyeye.xmemcached.command.binary.BaseBinaryCommand.readHeader(BaseBinaryCommand.java:196)
    at net.rubyeye.xmemcached.command.binary.BaseBinaryCommand.decode(BaseBinaryCommand.java:125)
    at net.rubyeye.xmemcached.codec.MemcachedDecoder.decode0(MemcachedDecoder.java:59)
    at net.rubyeye.xmemcached.codec.MemcachedDecoder.decode(MemcachedDecoder.java:54)
    at com.google.code.yanf4j.nio.impl.NioTCPSession.decode(NioTCPSession.java:288)
    at com.google.code.yanf4j.nio.impl.NioTCPSession.readFromBuffer(NioTCPSession.java:205)
    at com.google.code.yanf4j.nio.impl.AbstractNioSession.onRead(AbstractNioSession.java:198)
    at com.google.code.yanf4j.nio.impl.AbstractNioSession.onEvent(AbstractNioSession.java:343)
    at com.google.code.yanf4j.nio.impl.SocketChannelController.dispatchReadEvent(SocketChannelController.java:56)
    at com.google.code.yanf4j.nio.impl.NioController.onRead(NioController.java:157)
    at com.google.code.yanf4j.nio.impl.Reactor.dispatchEvent(Reactor.java:294)
    at com.google.code.yanf4j.nio.impl.Reactor.run(Reactor.java:141)
2011-01-08 14:37:48,589 ERROR   
[com.google.code.yanf4j.core.impl.AbstractSession] Decode error
java.lang.IllegalArgumentException: Unknow Response status:6
    at net.rubyeye.xmemcached.command.binary.ResponseStatus.parseShort(ResponseStatus.java:162)
    at net.rubyeye.xmemcached.command.binary.BaseBinaryCommand.readStatus(BaseBinaryCommand.java:248)
    at net.rubyeye.xmemcached.command.binary.BaseBinaryCommand.readHeader(BaseBinaryCommand.java:196)
    at net.rubyeye.xmemcached.command.binary.BaseBinaryCommand.decode(BaseBinaryCommand.java:125)
    at net.rubyeye.xmemcached.codec.MemcachedDecoder.decode0(MemcachedDecoder.java:59)
    at net.rubyeye.xmemcached.codec.MemcachedDecoder.decode(MemcachedDecoder.java:54)
    at com.google.code.yanf4j.nio.impl.NioTCPSession.decode(NioTCPSession.java:288)
    at com.google.code.yanf4j.nio.impl.NioTCPSession.readFromBuffer(NioTCPSession.java:205)
    at com.google.code.yanf4j.nio.impl.AbstractNioSession.onRead(AbstractNioSession.java:198)
    at com.google.code.yanf4j.nio.impl.AbstractNioSession.onEvent(AbstractNioSession.java:343)
    at com.google.code.yanf4j.nio.impl.SocketChannelController.dispatchReadEvent(SocketChannelController.java:56)
    at com.google.code.yanf4j.nio.impl.NioController.onRead(NioController.java:157)
    at com.google.code.yanf4j.nio.impl.Reactor.dispatchEvent(Reactor.java:294)
    at com.google.code.yanf4j.nio.impl.Reactor.run(Reactor.java:141)
2011-01-08 14:37:48,606 WARN   
[com.google.code.yanf4j.core.impl.AbstractController] Remove a session: 
10.11.5.72:20109
2011-01-08 14:37:48,610 INFO   
[com.google.code.yanf4j.core.impl.AbstractController] Controller has been 
stopped.
Disconnected from the target VM, address: '127.0.0.1:54819', transport: 'socket'

2011-01-08 14:39:25,090 ERROR   [test.TestMemcached] error
net.rubyeye.xmemcached.exception.MemcachedException: 
net.rubyeye.xmemcached.exception.MemcachedException: Session has been closed
    at net.rubyeye.xmemcached.XMemcachedClient.checkException(XMemcachedClient.java:1718)
    at net.rubyeye.xmemcached.XMemcachedClient.sendIncrOrDecrCommand(XMemcachedClient.java:2137)
    at net.rubyeye.xmemcached.XMemcachedClient.incr(XMemcachedClient.java:1737)
    at test.TestMemcached.testIncByXMemcached(TestMemcached.java:59)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at junit.framework.TestCase.runTest(TestCase.java:154)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
    at junit.textui.TestRunner.doRun(TestRunner.java:116)
    at com.intellij.junit3.JUnit3IdeaTestRunner.doRun(JUnit3IdeaTestRunner.java:108)
    at junit.textui.TestRunner.doRun(TestRunner.java:109)
    at com.intellij.junit3.JUnit3IdeaTestRunner.startRunnerWithArgs(JUnit3IdeaTestRunner.java:42)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:192)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:64)

Original issue reported on code.google.com by cnscud on 8 Jan 2011 at 6:41

GoogleCodeExporter commented 9 years ago
version 1.2.6.2, 1.3.0都出错

Original comment by cnscud on 8 Jan 2011 at 6:41

GoogleCodeExporter commented 9 years ago
            mclient = builder.build();

            mclient.set("inc_1", 0 , 1);
            mclient.incr("inc_1", 1, 0);

Original comment by cnscud on 8 Jan 2011 at 6:42

GoogleCodeExporter commented 9 years ago
memcached版本,操作系统,用的什么协议

Original comment by killme2...@gmail.com on 8 Jan 2011 at 6:45

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Linux Memcached 1.4.3
Windows client, binary 协议

Original comment by cnscud on 8 Jan 2011 at 6:47

GoogleCodeExporter commented 9 years ago
看到了,这是新添加的status,0x0006表示递增的不是一个数字��
�
这里set的时候要用
mclient.set("inc_1",0,"1");
才可以的

Original comment by killme2...@gmail.com on 8 Jan 2011 at 6:51

GoogleCodeExporter commented 9 years ago
当然,更推荐的做法是用Counter类,或者在inc的时候顺便传入�
��始值,不用set

Original comment by killme2...@gmail.com on 8 Jan 2011 at 6:53

GoogleCodeExporter commented 9 years ago
原来memcached 1.2程序貌似支持这样, 1.4就不行了.... 当然用 
mclient.set("inc_1",0,"1"); 就可以了, 不过看着很怪异... 呵呵  
还没时间去研究为什么memcached这样实现.

Original comment by cnscud on 8 Jan 2011 at 11:28

GoogleCodeExporter commented 9 years ago
你们也开始用xmc了吗?你最近好像都没上gtalk了。可以的话,
将你们的应用也加入user list.

Original comment by killme2...@gmail.com on 8 Jan 2011 at 1:31

GoogleCodeExporter commented 9 years ago
发了个小版本 1.3.1

Original comment by killme2...@gmail.com on 10 Jan 2011 at 11:45