我的应用程序是在GAE标准环境上运行的Java应用程序。突然,它说在每次点击Google DataStore的调用中都给出了与Memcache相关的错误( memcache中的服务错误)。当我重新部署新版本时,此功能暂时消失,但数小时后又恢复正常。使用的Java运行时为8,而Google SDK为1.9.71。
我试图在每个论坛上寻找解决方案,而我找到的最接近的是Service error in memcache with Java Google App Engine Standard at random time periods。但是,建议的解决方案摘要为:
堆栈跟踪为:
com.google.appengine.api.memcache.LogAndContinueErrorHandler handleServiceError: Service error in memcache (LogAndContinueErrorHandler.java:52)
com.google.appengine.api.memcache.MemcacheServiceException: Memcache getIdentifiables: exception getting multiple keys
at com.google.appengine.api.memcache.MemcacheServiceApiHelper$RpcResponseHandler.handleApiProxyException(MemcacheServiceApiHelper.java:80)
at com.google.appengine.api.memcache.MemcacheServiceApiHelper$RpcResponseHandler.handleApiProxyException(MemcacheServiceApiHelper.java:64)
at com.google.appengine.api.memcache.MemcacheServiceApiHelper$1.absorbParentException(MemcacheServiceApiHelper.java:129)
at com.google.appengine.api.utils.FutureWrapper.handleParentException(FutureWrapper.java:56)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:95)
at com.google.appengine.api.memcache.MemcacheServiceImpl.quietGet(MemcacheServiceImpl.java:28)
at com.google.appengine.api.memcache.MemcacheServiceImpl.getIdentifiables(MemcacheServiceImpl.java:61)
at com.googlecode.objectify.cache.KeyMemcacheService.getIdentifiables(KeyMemcacheService.java:75)
at com.googlecode.objectify.cache.EntityMemcache.getAll(EntityMemcache.java:222)
at com.googlecode.objectify.cache.CachingAsyncDatastoreService.get(CachingAsyncDatastoreService.java:253)
at com.googlecode.objectify.impl.LoadEngine.fetch(LoadEngine.java:203)
at com.googlecode.objectify.impl.Round.fetchPending(Round.java:130)
at com.googlecode.objectify.impl.Round.execute(Round.java:107)
at com.googlecode.objectify.impl.LoadEngine.execute(LoadEngine.java:94)
at com.googlecode.objectify.impl.Round$1.nowUncached(Round.java:72)
at com.googlecode.objectify.util.ResultCache.now(ResultCache.java:30)
at com.googlecode.objectify.LoadResult.now(LoadResult.java:25)
at MyPackage.impl.ObjectifyGenericDaoImpl.get(ObjectifyGenericDaoImpl.java:76)
at MyPackage.Method2(ScheduleServiceImpl.java:74)
at MyPackage.Method1(ScheduleController.java:84)
at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)