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.

Reply via email to