I have a Room class containing a list of Presence classes. Here are the annotations.
@PersistenceCapable(identityType = IdentityType.APPLICATION) public class Room { private final static Logger LOG = Logger.getLogger(Room.class.getName()); @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private Key creatorKey; @Persistent private String name; @Persistent(mappedBy = "room") @Element(dependent = "true") private List<Presence> presences; ... } @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Presence { @SuppressWarnings("unused") @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private Key userKey; @SuppressWarnings("unused") @Persistent private Room room; @Persistent private long lastAccessMs = 0; ... } I'm getting an error when I remove multiple entries from presences via removeAll. Here's the stack trace. I see this error only on the live site, not on a local build. com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.. <datastore-index kind="Presence" ancestor="true" source="manual"> <property name="__key__" direction="desc"/> </datastore-index> at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: 39) at com.google.appengine.api.datastore.DatastoreApiHelper.makeSyncCall(DatastoreApiHelper.java: 60) at com.google.appengine.api.datastore.PreparedQueryImpl.runQuery(PreparedQueryImpl.java: 115) at com.google.appengine.api.datastore.PreparedQueryImpl.asIterator(PreparedQueryImpl.java: 81) at com.google.appengine.api.datastore.BasePreparedQuery $1.iterator(BasePreparedQuery.java:25) at org.datanucleus.store.appengine.DatastoreAbstractListStoreSpecialization.getIndicesOf(DatastoreAbstractListStoreSpecialization.java: 124) at org.datanucleus.store.mapped.scostore.AbstractListStore.getIndicesOf(AbstractListStore.java: 393) at org.datanucleus.store.mapped.scostore.AbstractListStore.removeAll(AbstractListStore.java: 232) at org.datanucleus.sco.backed.List.removeAll(List.java:957) at com.honkentuber.chat.Room.updatePresence(Room.java:97) at com.honkentuber.chat.ChatDatabase.storeAndFetchMessages(ChatDatabase.java: 212) at com.honkentuber.chat.ChatServlet.newJspResponse(ChatServlet.java: 36) -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.