nfhu / xmemcached

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

MemcachedException: There is no available connection at this moment #178

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
使用版本:xmemcached 1.3.5
错误信息:
net.rubyeye.xmemcached.exception.MemcachedException: There is no available 
connection at this moment
        at net.rubyeye.xmemcached.impl.MemcachedConnector.send(MemcachedConnector.java:474)
        at net.rubyeye.xmemcached.XMemcachedClient.sendCommand(XMemcachedClient.java:249)
        at net.rubyeye.xmemcached.XMemcachedClient.delete0(XMemcachedClient.java:1827)
        at net.rubyeye.xmemcached.XMemcachedClient.delete(XMemcachedClient.java:1789)
        at net.rubyeye.xmemcached.XMemcachedClient.delete(XMemcachedClient.java:2481)
        at richinfo.applywapbp.util.comm.XCachedUtil.delete(XCachedUtil.java:503)
.....................

使用xmemcached客户端已经半年了,一直用的文本方式存储数据�
��共初始化了3个连接对象。
之前没有使用客户端链接池,存储稍大的对象(3kb)时每天��
�会出现几例Timeout。
后来想优化下,针对大对象使用了客户端连接池,并且设置xm
emcache客户端与服务器交互socket的接收和发送缓冲区为默认的�
��倍。

这时候出问题了,就是剩下的两个没使用客户端连接池的对��
�就出现了上述异常,而且比较频繁,get delete都会有异常。

ps:
    private MemcachedClient mccuser;   //初始化的时候设置了连接池
    //private XMemcachedClient mccuser;
    private XMemcachedClient mccmail;  //初始化的时候没有设置连接池
    private XMemcachedClient mccctnx;  //初始化的时候没有设置连接池
    ......... 

请问这是为什么呢?我修改一个对象,原理上是不会影响另��
�个对象的?    

Original issue reported on code.google.com by yylc...@gmail.com on 8 Feb 2012 at 3:59

GoogleCodeExporter commented 9 years ago
这非常奇怪,理论上是相互之间没有影响的,我会尝试重现��
�。

Original comment by killme2...@gmail.com on 8 Feb 2012 at 6:28

GoogleCodeExporter commented 9 years ago
我针对对象mccuser的设置:

builder.setConnectionPoolSize(10),
// 设置接收缓存区为32K,默认16K
builder.setSocketOption(StandardSocketOption.SO_RCVBUF, rcvCache); 
// 设置发送缓冲区为16K,默认为8K
builder.setSocketOption(StandardSocketOption.SO_SNDBUF, sendCache); 
………………
另外两个对象mccmail、mccctnx是直接new 
XMemcachedClient,没设置连接池。

这应该不会导致了memcache服务的链接不够用吧?

还有就是最近我做了一次升级,使用了xmemcached-1.3.5.jar,以前
是xmemcached-1.3.3.jar。
但依赖包没有更新,依然是slf4j-api-1.5.6.jar,slf4j-nop-1[1].5.2.jar
。
会不会有影响呢?

我测试的时候始终没有出现问题,实际用的时候才出现。

Original comment by yylc...@gmail.com on 8 Feb 2012 at 8:07

GoogleCodeExporter commented 9 years ago
相当古怪,会一直出现吗?还是只在启动阶段出现?

Original comment by killme2...@gmail.com on 8 Feb 2012 at 8:11

GoogleCodeExporter commented 9 years ago
运行阶段一直有,但不是必现的。

Original comment by yylc...@gmail.com on 8 Feb 2012 at 9:07

GoogleCodeExporter commented 9 years ago
你的意思是偶尔出现? 
有没有连接断开的情形发生?也就是日志有remove 
session字样的。

Original comment by killme2...@gmail.com on 11 Feb 2012 at 1:35

GoogleCodeExporter commented 9 years ago
请问下有没有后续反馈,我没有在测试中重现这个问题。

Original comment by killme2...@gmail.com on 15 Feb 2012 at 12:01

GoogleCodeExporter commented 9 years ago
现在没有这个问题了,应该是服务端的问题,谢谢。

Original comment by yylc...@gmail.com on 27 Feb 2012 at 9:48

GoogleCodeExporter commented 9 years ago

Original comment by killme2...@gmail.com on 26 Mar 2012 at 10:33