ConcurentModifcationException happens whenever you have transaction
collisions. You will often have transaction collisions if you modify
the same piece of data from multiple tasks.
There are two possible situations here:
1) "It happens" - sometimes transactions collide. The solution is
that you should always make transactions idempotent and you should
always retry them. If you're using Objectify4, doing an
ofy.transact(new Work() { ... }) will do the retries for you.
2) You may need to rethink the way data flows in your app. If you
have a bunch of tasks trying to modify the same piece of data, you're
going to get a lot of collisions and collisions slow things down.
Figure out how you can serialize the transactions or combine them.
Jeff
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
>
https://groups.google.com/d/msg/google-appengine/-/oNr1a1W0shwJ.
>
> To post to this group, send email to
google-a...@googlegroups.com.
> To unsubscribe from this group, send email to
>
google-appengi...@googlegroups.com.
> For more options, visit this group at
>
http://groups.google.com/group/google-appengine?hl=en.