I just ran into this same problem, on my local system "makePersistent" is taking about 10 seconds before i can read the data I just wrote to the server. I have deal with this in the live environment with the following setting in the jdoconfig file: <property name="datanucleus.appengine.datastoreReadConsistency" value= "STRONG" /> However, this seems to have no effect on my local instance, hence up to now i have only been able to test my application in the live environment, which is irritating!
I have found from the links above that in my run configurations, I can set the unapplied job percentage to ZERO to force consistency on the dev server, but as it pointed out her by Simon, you still need to code for the live "eventual consistency" scenario. HOWEVER, what i really don't understand is why when the user writes something to the database, the system is not clever enough to work out that if the user just wrote the data, then if they query that same data right away, then obviously they would expect to see it there. My application is a little like Google Calendar, in that once you save an appointment, if you refresh the screen you expect it still to be there, but currently with my application (without the "STRONG" setting - mentioned above) the user can refresh the screen several times, before the appointment they just created actually appears on their screen!!!! The only way I can solve this seems to be with memcache, which up to now I have just not had the time to figure out how to use, but it seems like its now a requirement, as my customers are now noticing this "gap" between saving data and then being able to see it (or edit it!!) again! On Thursday, 25 August 2011 06:14:58 UTC+1, Simon Knott wrote: > > Is your app on GAE on the Master/Slave datastore or the HR datastore? > > The problem with the development server, in its default configuration, is > that it emulates eventual consistency but it's quite extreme. Up to this > point, I've never hit the delays that are pre-configured into the dev > server when in Production. However, just because it hasn't happened yet > doesn't mean that you shouldn't code your application so that it can cope > with those delays. > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
