I see two big problems here:

1) There appear to be absolutely no record, say in the dashboard, of
failed transactions that eventually succeeded or really failed. For
some type of apps, I could live with 1 in a million transaction
failure that may or may not be eventually successful, but I need to
know which entity got in a degenerated state.

2) The benefit of the current approach of fake-real-transactions is
completely unknown: does it make GAE massively faster or more reliable
or something?

For instance, if you choose non-redundant storage in Amazon S3:
1) you get notifications for lost objects
2) it's cheaper

On Jul 28, 4:02 pm, Joshua Smith <joshuaesm...@charter.net> wrote:
> The problem is that google transactions can report an exception, and then go 
> ahead and succeed anyway.
>
> So the docs recommend that you only write idempotent transactions, which is a 
> completely silly suggestion.  I've yet to see a single example of how one 
> might write an idempotent transaction.  (Unless, I suppose, you create a 
> separate child model in the database which is parented by the object you are 
> transacting on, and then you query the list of children every time you retry 
> your transaction to see if its already in there, but that won't scale.)
>
> I contend that a DB that cannot tell you reliably whether a transaction 
> succeeded for failed does not support transactions.
>
> GAE can essentially report 3 possible results from a transaction:
> - Definitely succeeded
> - Definitely failed
> - Beats me
>
> I contend that third possible result makes it impossible to write software 
> that relies on transactions.
>
> Therefore, GAE doesn't support transactions.
>
> On Jul 27, 2011, at 8:58 PM, Tim Hoffman wrote:
>
>
>
>
>
>
>
> > If you always get modify put within a transaction how would it be 
> > unreliable?
>
> > Rgds
>
> > Tim
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Google App Engine" group.
> > To view this discussion on the web 
> > visithttps://groups.google.com/d/msg/google-appengine/-/mP_8kv_-LlMJ.
> > To post to this group, send email to google-appengine@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to