Memcache删除:删除密钥的未知异常

时间:2018-05-01 13:42:49

标签: java google-app-engine

我正在尝试确定是否有可能找出我们在使用Google App Engine的Memcache时偶尔会遇到的异常原因。

文档说明如果密钥不存在则返回false,因此我认为错误表明存在不同的问题。

这是我们得到的错误的堆栈跟踪:

com.google.appengine.api.memcache.LogAndContinueErrorHandler handleServiceError: Service error in memcache (LogAndContinueErrorHandler.java:49)
com.google.appengine.api.memcache.MemcacheServiceException: Memcache delete: Unknown exception deleting key: ahBzfmlkZXh4LXNlcnZpY2Vzch0LEgdQYXRpZW50GICA6ODn6-ELDAsSA0pvYhgBDA
    at com.google.appengine.api.memcache.MemcacheServiceApiHelper$RpcResponseHandler.handleApiProxyException(MemcacheServiceApiHelper.java:69)
    at com.google.appengine.api.memcache.MemcacheServiceApiHelper$1.absorbParentException(MemcacheServiceApiHelper.java:111)
    at com.google.appengine.api.utils.FutureWrapper.handleParentException(FutureWrapper.java:52)
    at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:91)
    at com.google.appengine.api.memcache.MemcacheServiceImpl.quietGet(MemcacheServiceImpl.java:26)
    at com.google.appengine.api.memcache.MemcacheServiceImpl.delete(MemcacheServiceImpl.java:125)

以下是一些相关代码:

boolean putValue = memcacheService.put(syncKey, syncKey, Expiration.byDeltaMillis(60000), MemcacheService.SetPolicy.ADD_ONLY_IF_NOT_PRESENT);

memcacheService.delete(syncKey, 100L);

以后的请求无法放置相同的密钥,表明该对象仍然存在。鉴于我指定了60秒的到期时间,我希望在此之后它可用,但事实并非如此。现在,我们发现修复此问题的唯一方法是清除整个Memcache。

0 个答案:

没有答案