We debated this quite a bit internally. To paraphrase the argument that carried the day: XG transactions are awesome but they are not true global transactions. You're limited to 5 entity groups, you're more likely to see partially applied transactions in global query results, you can get a concurrency exception from a *read*, and there is a performance impact (when you've got more than 1 entity group enlisted). In short, there's some surprising/subtle stuff that we really want developers to understand before they start using this feature.
If we didn't require opt-in it would be too easy for our new developers (particularly those coming from the RDBMS world where global transactions are the norm) to miss these important considerations. We want it to be super easy to use the Datastore, but creating a false sense of simplicity can do more harm than good in the long run. Max -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/mq8YLNx0kaoJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.