I agree. You should seriously consider the method that you are using. The MemCacheService is a component designed to increase (mostly read) access to the Datastore. Users of this service should not rely upon the presence of data in the MemCache, but should use the Datastore and its transaction support.
If you really want to use the MemCache you can apply an optimistic locking approach by using with versioned data - use a counter for version - get current version - get List using Key derived from current Version - modify the List - increment counter for Version and get value (atomic operation) - verify that new version is 1 higher then originally retrieved one - in case it is, store modified list under key derived form new version - in case it isn't, get the list for the real previous version and store it under the latest version key. The system should now be in consistent state again You can apply different strategies for recovery, either just report ConcurrentModificationException or retry the whole operation -- 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.
