Hi,
I have some posts on this error and also read article
https://developers.google.com/appengine/articles/scaling/contention. I
am still not sure what's the best solution for us. We are a mobile
application in beta with very less volume. We don't have concurrent
updates for same entity from various processes.
I have my data object like this..
@PersistenceCapable
public class MyDataObject {
@PrimaryKey
Key key;
@Persistent(defaultFetchGroup="true")
@Element(dependent="true")
User user;
@Persistent(defaultFetchGroup="true")
@Element(dependent="true")
List<Task1> task1List;
@Persistent(defaultFetchGroup="true")
@Element(dependent="true")
List<Task2> task2List;
........
.......
.........
}
Task1 & Task2 are custom objects with bunch of fields in each of
them. For Task1 & Task2, I have
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
For each user, update MyDataObject with a list of tasks for taskList1,
taskList2 etc.. We have < 5 to 10 elements in each list but I see this
java.util.ConcurrentModificationException: too much contention on
these datastore entities. please try again.
at
com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java:
39)
error intermittently. Anything we should do differently? When this
error happened, we did a retry and it caused more problems. We saw
loss of data. We lost some Task1 , Task2 entities for some users
randomly.
Any suggestions are appreciated.
Thanks
Neeli
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" 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?hl=en.