Immer wenn ich versuche, auf MemCache zugreifen, bekomme ich eine java.lang.NoSuchFieldError: usingExperimentalRuntime
. Keine Dokumentation zu diesem Feld von dem, was ich finden kann. Gibt es eine Konfigurationsoption, die mir nicht bekannt ist?Get java.lang.NoSuchFieldError: usingExperimentalRuntime in GAE MemCache
Hier ist der Quellcode:
MemcacheService syncCache = MemcacheServiceFactory.getMemcacheService();
syncCache.setErrorHandler(ErrorHandlers.getConsistentLogAndContinue(Level.ALL));
Object cacheObject = syncCache.get("arbitrary");
Das letzte Zeile mit diesem Fehler abstürzt (Teilstapel auf meinem Code Trace up):
Caused by: java.lang.NoSuchFieldError: usingExperimentalRuntime
at com.google.appengine.api.memcache.MemcacheServicePb$MemcacheGetRequest.writeTo(MemcacheServicePb.java:1511)
at com.google.appengine.repackaged.com.google.protobuf.AbstractMessageLite.toByteArray(AbstractMessageLite.java:41)
at com.google.appengine.api.memcache.MemcacheServiceApiHelper.makeAsyncCall(MemcacheServiceApiHelper.java:97)
at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.doGet(AsyncMemcacheServiceImpl.java:405)
at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.getIdentifiable(AsyncMemcacheServiceImpl.java:422)
at com.google.appengine.api.memcache.MemcacheServiceImpl.getIdentifiable(MemcacheServiceImpl.java:54)
at com.myCode.CacheOrDbUtil.getUser(CacheOrDbUtil.java:27)
Was diese seltsame macht so ist, dass der Code war Arbeiten letzte Woche, komplett mit Unit Tests mit MemCache. Jetzt versagen sie. Natürlich habe ich versucht, rückgängig gemacht alles, was ich getan habe, aber ohne Erfolg:
- Upgrade gcloud
- Downgrading gcloud
- alle anderen Server wird heruntergefahren
- Neustarten der Maschine
- Zurücksetzen dauern bekannt guten Code Revision
Ich setzte Gradle auf 1.9.48 für Test und Dev-Server und alles funktionierte. Vielen Dank! Vor dem Dev wurde eingestellt, um die neueste (die '+' Version in Großbuchstaben) und den Test zu verwenden, 1.9.46. Die Einstellung auf 1.9.49 funktionierte für den Dev-Server nicht. Die neueste stabile Version funktionierte jedoch. –