I have been confused by this lately as well. The Java documentation says: Queries and gets inside a transaction are guaranteed to see a single, > consistent snapshot of the Datastore as of the beginning of the > transaction. Entities and index rows in the transaction's entity group are > fully updated so that queries return the complete, correct set of result > entities, without the false positives or false negatives described in > Transaction > Isolation<http://code.google.com/appengine/articles/transaction_isolation.html> > that > can occur in queries outside of transactions.
The "without the false positives or false negatives" comment led me to believe that as long as I did my query within a transaction I would see results that were previously added within a different transaction (except in the case of an unapplied write - which requires manual admin intervention). For example, in my app I need to do some post-processing after a new item is added. I do this by enqueuing a transactional task. That task runs a query that should return the item previously added. Is there no way to ensure my query will include the item - e.g. avoid the false negative. If not, any suggestions on how to implement this sort of post processing once the item's index do get updated? My post processing queries lots of different data and stitches together a bunch of statistics and statistical summaries. Thanks, Stephen -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/w-_g6OeGwFcJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
