killme2008 / xmemcached

High performance, easy to use multithreaded memcached client in java.
http://fnil.net/xmemcached
Apache License 2.0
756 stars 280 forks source link

Error on touch with mcrouter #125

Closed tomasAlabes closed 4 years ago

tomasAlabes commented 4 years ago

I'm having the exact same error as #107:

io.sixhours.memcached.cache.MemcachedOperationException: Failed to touch key
at io.sixhours.memcached.cache.XMemcachedClient.touch(XMemcachedClient.java:74)
at io.sixhours.memcached.cache.MemcachedCache.put(MemcachedCache.java:109)
[...]
Caused by: net.rubyeye.xmemcached.exception.MemcachedServerException: unexpected result mc_res_unknown (0) for touch,key=my_prefix#:something:namespace
at net.rubyeye.xmemcached.command.Command.decodeError(Command.java:259)
at net.rubyeye.xmemcached.command.Command.decodeError(Command.java:274)
at net.rubyeye.xmemcached.command.text.TextTouchCommand.decode(TextTouchCommand.java:76)
at net.rubyeye.xmemcached.codec.MemcachedDecoder.decode0(MemcachedDecoder.java:55)
at net.rubyeye.xmemcached.codec.MemcachedDecoder.decode(MemcachedDecoder.java:50)
at com.google.code.yanf4j.nio.impl.NioTCPSession.decode(NioTCPSession.java:281)
at com.google.code.yanf4j.nio.impl.NioTCPSession.decodeAndDispatch(NioTCPSession.java:223)
at com.google.code.yanf4j.nio.impl.NioTCPSession.readFromBuffer(NioTCPSession.java:194)
at com.google.code.yanf4j.nio.impl.AbstractNioSession.onRead(AbstractNioSession.java:184)
at com.google.code.yanf4j.nio.impl.AbstractNioSession.onEvent(AbstractNioSession.java:324)
at com.google.code.yanf4j.nio.impl.SocketChannelController.dispatchReadEvent(SocketChannelController.java:54)
at com.google.code.yanf4j.nio.impl.NioController.onRead(NioController.java:150)
at com.google.code.yanf4j.nio.impl.Reactor.dispatchEvent(Reactor.java:310)
at com.google.code.yanf4j.nio.impl.Reactor.run(Reactor.java:177)

In my case the mcrouter config is:

 "pools": {
    "Process": {
      "servers": [...]
    }
  },
 "route": {
    "type": "PrefixSelectorRoute",
    "policies": {
      "my_prefix": {
        "type": "OperationSelectorRoute",
        "operation_policies": {
          "add": "AllSyncRoute|Pool|Process",
          "delete": "AllSyncRoute|Pool|Process",
          "get": {
            "type": "MissFailoverRoute",
            "return_best_on_error": true,
            "children": [{
              "type": "PoolRoute",
              "pool": "Process"
            }]
          },
          "set": "AllSyncRoute|Pool|Process",
          "incr": "AllSyncRoute|Pool|Process",
          "decr": "AllSyncRoute|Pool|Process"
        }
      }

xmemcached version 2.4.6. mcrouter version 38.0.0.

tomasAlabes commented 4 years ago

Closing as I don't think it has to do with the mc client.