HI,

I think it's just a problem of index missing on object Presence.
TRy to add a index's description.

bye

On 15 mar, 07:59, Philip Tucker <[email protected]> wrote:
> 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(Datast 
> oreApiHelper.java:
> 39)
>         at
> com.google.appengine.api.datastore.DatastoreApiHelper.makeSyncCall(Datastor 
> eApiHelper.java:
> 60)
>         at
> com.google.appengine.api.datastore.PreparedQueryImpl.runQuery(PreparedQuery 
> Impl.java:
> 115)
>         at
> com.google.appengine.api.datastore.PreparedQueryImpl.asIterator(PreparedQue 
> ryImpl.java:
> 81)
>         at com.google.appengine.api.datastore.BasePreparedQuery
> $1.iterator(BasePreparedQuery.java:25)
>         at
> org.datanucleus.store.appengine.DatastoreAbstractListStoreSpecialization.ge 
> tIndicesOf(DatastoreAbstractListStoreSpecialization.java:
> 124)
>         at
> org.datanucleus.store.mapped.scostore.AbstractListStore.getIndicesOf(Abstra 
> ctListStore.java:
> 393)
>         at
> org.datanucleus.store.mapped.scostore.AbstractListStore.removeAll(AbstractL 
> istStore.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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to