thanks for the clarification! On Dec 18, 11:46 am, DXD <[email protected]> wrote: > > Y doesn't have an entry for TS(T1) (because it didn't get updated > by T1). Then tx T2 comes in and queries Y according to the current CTS > (R) which is TS(T1). So what is retrieved from Y must be as of its > lastest timestamp before TS(T1), right?
right. > to be precise, the read rule I mentioned in an earlier msg should be revised > as this: if T has not performed any write to X, it will retrieve data > from X as of the original CTS(R) that it remembers from the beginning, > or as of the latest timestamp entry before CTS(R) if CTS(R) entry > doesn't exist in X. correct. > And if this is correct, I believe in rolling back T, all write entries > that T has performed and been applied to all entities must be deleted, > right? Otherwise, the above rule wouldn't work properly. Also, are > there any other things that must be done during rollback? actually, during a tx, writes are persisted only to the entity group's journal. the tx isn't actually applied, ie written to the actual entities, until it's committed. that's important because of the standard distributed system properties: the datastore server or the python runtime running the app could die at any time, networking could fail, etc., so we don't want to start applying to the entities themselves until we know we've journalled the full tx and we can roll it forward later if we die during application. that means that rollback is effectively a noop, which is nice for a few reasons, e.g. we can more aggressively garbage collect old versions of entities and old parts of entity group journals. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. 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 -~----------~----~----~----~------~----~------~--~---
