Java 客观化3。使用query.count生成统计信息时出错:“0”;偏移量不得超过1000“;
我们有一个带有Google App Engine(GAE)、App Engine数据存储和Objectify v3(用于访问数据库)的应用程序。Java 客观化3。使用query.count生成统计信息时出错:“0”;偏移量不得超过1000“;,java,google-app-engine,objectify,Java,Google App Engine,Objectify,我们有一个带有Google App Engine(GAE)、App Engine数据存储和Objectify v3(用于访问数据库)的应用程序。 我们为每个用户生成统计信息,生成统计信息的查询如下: ofy() // .query(Entity.class) // .filter("owner in ", keyUsers) .count(); 其中keyUsers是一个密钥列表 几天前,所有此类查询都开始抛出异常: java.lang.IllegalArgumentException:
我们为每个用户生成统计信息,生成统计信息的查询如下:
ofy() //
.query(Entity.class) //
.filter("owner in ", keyUsers)
.count();
其中keyUsers是一个密钥列表
几天前,所有此类查询都开始抛出异常:
java.lang.IllegalArgumentException: offset may not be above 1000
at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java:39)
at com.google.appengine.api.datastore.DatastoreApiHelper$1.convertException(DatastoreApiHelper.java:76)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:94)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:86)
at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java:71)
at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java:32)
at com.google.appengine.api.datastore.QueryResultsSourceImpl.peekQueryResultAndIfFirstRecordIndexList(QueryResultsSourceImpl.java:161)
at com.google.appengine.api.datastore.QueryResultsSourceImpl.loadMoreEntities(QueryResultsSourceImpl.java:104)
at com.google.appengine.api.datastore.QueryResultIteratorImpl.ensureInitialized(QueryResultIteratorImpl.java:130)
at com.google.appengine.api.datastore.QueryResultIteratorImpl.getNumSkipped(QueryResultIteratorImpl.java:171)
at com.google.appengine.api.datastore.PreparedQueryImpl.countEntities(PreparedQueryImpl.java:109)
at com.googlecode.objectify.impl.QueryImpl.count(QueryImpl.java:410)
即使keyUsers有一个键,它也会引发异常。我们在每个实体中都有许多记录(超过1000条),但结果总是少于100条 我们暂时解决了为每个查询添加限制的问题:
ofy() //
.query(Entity.class) //
.filter("owner in ", keyUsers)
.limit(1000)
.count();
但这不是解决问题的理想方法
我有两个问题:
- 有什么问题?我发现了这个问题,但我不确定这是否是问题所在,因为我无法在locahost中重现这个问题
- 如何更好地解决这个问题