0
votes

This might be a common question, but I am still not clear on a solution. I am using GAE (Datastore) , interacting with Objectify. I have a question about concurrency.

Let's say we have an object, lets call it blarkar. User 'A' starts a transaction where he will attempt to load blarkar from the database, modify it, and save the modified version back into the database.

I understand that in a transaction either everything happens or nothing happens, but what I am confused about is whether the blarkar object is marked as checked out, and whether it can or cannot be overwritten while the transaction, started by user 'A', is in progress.

For instance, if another user, we'll call her 'B', tries to saved a new version of blarkar to the database, after user 'A' has begun his transaction but before he has ended it, well her changes be overwritten when user 'A's transaction ends?

Again, I am using GAE Datastore, and interacting with it with Objectify. However, Objectify seems to just implement Datastore's transaction API.

Many thanks.

1

1 Answers

1
votes