Re: [appengine-java] Best practice for multithreaded access/update to entity

2011-04-07 Thread Peter Backx
Perfect, exactly the info I needed!
Thanks a lot Jeff.

Peter

-- 
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-java@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.



Re: [appengine-java] Best practice for multithreaded access/update to entity

2011-04-07 Thread Peter Backx
Hi Ikai,

Could you expand your answer a little? Do you mean that I don't need to 
manage a timestap/version if I use transactions? Or do you mean I should use 
transactions to combine a read (to check for a changed timestamp/version) 
with a write?

If I don't manage the timestamp myself, how does AppEngine know another 
process change the data since the last read? part of the key?

Sorry for those beginner questions, I started using the datastore via the 
JDO API with a relational background, but it looks it isn't always the best 
fit for typical datastore issues. Objectify looks much better as it is 
specifically designed for it.


Thanks every one for your answers

Peter

-- 
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-java@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.



[appengine-java] Best practice for multithreaded access/update to entity

2011-04-03 Thread Peter Backx
I have an application that accesses a user entity. This entity also contains 
a number of user specific settings that the user can update. Some of those 
settings are updated by different servlets in parallel (for instance 
uploading a profile picture to the blobstore)

I'm having some serious issues keeping everything in sync. If I'm not 
careful, I can easily overwrite updates that have been done in another 
thread.

I have the feeling this is a recurring issue for many GAE application, so 
I'm looking for some best practices of how to deal with it.

In the relational world, often a "version" column is added. Before updating 
a row, the version number in the database is compared to the one in memory. 
I suppose I can implement something like that on GAE too, but I was 
wondering whether there are better/other options available in the NoSQL 
world.


Regards,
Peter

-- 
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-java@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.