LogService fetch()导致错误(请参阅下面的堆栈跟踪):
示例代码(Java 1.7,GAE 1.8.8):
...
logQuery.versions(Arrays.asList(new LogQuery.Version("default", "v3")));
logService.fetch(query);
...
问题似乎出现在 versions() 方法中!如果我使用弃用方法 moduleVersions() ,则不会抛出任何异常(即使有更多结果)。
getVersions: [Version: moduleId=default versionId=v3]
com.google.appengine.api.log.LogServiceException: java.lang.OutOfMemoryError: Java heap space
at com.google.appengine.api.log.LogServiceImpl.fetch(LogServiceImpl.java:38)
at com.google.appengine.api.log.LogQueryResult$1.computeNext(LogQueryResult.java:113)
at com.google.appengine.api.log.LogQueryResult$1.computeNext(LogQueryResult.java:98)
at com.google.appengine.repackaged.com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.appengine.repackaged.com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
答案 0 :(得分:0)
在App Engine上处理日志非常耗费内存。您可以使用具有更多内存的实例,也可以使用appengine-mapreduce库。