Ticket #121 (new task)
20141009升级Memcache遇到的问题及解决
| Reported by: | luoyongmin | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | 2012年6.0版本 |
| Component: | 商家后台 | Version: | 6.0 |
| Keywords: | Memcache | Cc: | |
| Due Date: | 10/10/2014 |
Description (last modified by luoyongmin) (diff)
升级Memcache步骤见附件:IT商城memcache升级.txt
1、升级后发现编辑报障有个别商情页有报错。
2、查看memcache使用概况。登陆memcache所在服务器,使用命令xmem参看。
未发现memcache异常
3、查看应用日志
发现有memcache异常信息,stderr_m.pconline.log:
[10-09 14:24:32.841] 13404745 [http-m.pconline-8082-39] ERROR com.danga.MemCached?.MemCachedClient? - ++++ exception thrown while trying to get object from cache for key: /company_price_new.jsp?productID=558826&area=全国&pageSize=20&pageNo=1&part=2
[10-09 14:24:32.841] 13404745 [http-m.pconline-8082-39] ERROR com.danga.MemCached?.MemCachedClient? - MemcachedClient? Error! Expect key:/company_price_new.jsp?productID=558826&area=全国&pageSize=20&pageNo=1&part=2, but return key: /company_price_new.jsp?productID=558826&area=??????ú&pageSize=20&pageNo=1&part=2
[10-09 14:24:32.841] java.lang.RuntimeException?: MemcachedClient? Error! Expect key:/company_price_new.jsp?productID=558826&area=全国&pageSize=20&pageNo=1&part=2, but return key: /company_price_new.jsp?productID=558826&area=??????ú&pageSize=20&pageNo=1&part=2
[10-09 14:24:32.843] at com.schooner.MemCached?.AscIIClient.get(AscIIClient.java:735)
[10-09 14:24:32.843] at com.schooner.MemCached?.AscIIClient.get(AscIIClient.java:630)
[10-09 14:24:32.843] at com.schooner.MemCached?.AscIIClient.get(AscIIClient.java:626)
[10-09 14:24:32.843] at com.danga.MemCached?.MemCachedClient?.get(MemCachedClient?.java:1094)
[10-09 14:24:32.843] at cn.com.pconline.enterprise.web.tag.CacheTag?.doStartTag(CacheTag?.java:372)
[10-09 14:24:32.843] at _jsp._yp._company_0pricejsp._jspService(_company_0price__jsp.java:1079)
4、判断是memcache对特殊字符处理出错
5、修复
修改CacheTag.java,对缓存key进行md5转换[key = cn.com.pconline.enterprise.util.MD5.compute(key)]
6、结果
经过md5转换后的key不再抛出异常
总结:
升级memcache要注意key的不同处理方式的兼容性。升级后留意观察日志。
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/global/2008/images/jss/m_logo091125.jpg)
