surinder-insonix / datanucleus-appengine

Automatically exported from code.google.com/p/datanucleus-appengine
0 stars 0 forks source link

Overriding data when using more than one GAE instance #324

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Create entity with some field, lets say "private int version = 0".
2. Increase it ( entity.setVersion(entity.getVersion()+1 ) transactionally few 
times (lets say 9 times) from two different GAE instances, with few seconds 
delay between requests.
3. Shutdown one of the instances
4. Increase version again.
5. Check the value of the field.

What is the expected output? 
value = 10

What do you see instead?
value < 10

3.1.3 

What version of the product are you using? On what operating system?
Windows 7.
Appengine 1.9.17.
Datanucleus v2
datanucleus-appengine-2.1.2.jar
datanucleus-api-jdo-3.1.3.jar
datanucleus-api-jpa-3.1.3.jar

Please provide any additional information below.
Example and code I used is here:
http://stackoverflow.com/questions/27872202/jdo-transactions-many-gae-instances-
overriding-data
I tried to make it work with both JDO and JPA (with use of EntityManager merge 
method), the problem is the same. It works fine with low level api, but not 
with JDO / JPA. I think its critical issue (unless I use it wrong), and makes 
the plugin totally useless in any serious application.

Original issue reported on code.google.com by pawel.sz...@gmail.com on 11 Jan 2015 at 2:22