Hi Jeff,
  If you use Python it will retry 3x.
"""
The datastore uses optimistic locking and retries for transactions. If
the transaction prepared by the function cannot be committed,
run_in_transaction() calls the function again, retrying the
transaction up to 3 times. (To use a different number of retries, use
db.run_in_transaction_custom_retries().) Because the transaction
function may be called more than once for a single transaction, the
function should not have side effects, including modifications to
arguments.
"""
http://code.google.com/appengine/docs/python/datastore/functions.html#run_in_transaction

Not sure about Java, but they seem to keep things more-or-less consistent.

Robert







On Thu, Aug 26, 2010 at 23:41, Jeff Schwartz <jefftschwa...@gmail.com> wrote:
> Thanks but I wasn't specifically asking about tasks but rather transactions
> in general. I'd like to know about retries, when they are done & when they
> aren't. I'd also like to know if there is any detailed documentation on the
> subject.
>
> On Thu, Aug 26, 2010 at 7:37 PM, Jan Z/ Hapara <jan.zawad...@gmail.com>
> wrote:
>>
>> FWIW we've seen tasks with 23+ retries and a  re-queue time of 19+hrs.
>>
>> Failure rate: depends on what you mean.  Task queue can kill your
>> tasks (and requeue them) on it's own, plus there is the failure rate
>> of other GAE services.
>>
>> I'm not sure if we've got a unique use-case on our hands (I think not)
>> but we're seeing task queue failure rates of 30-90% for non-trivial
>> loads (2-5k tasks being queued up).  Failure in this case means a
>> retry force by the queue manager - tasks do eventually complete, it
>> might just take a lot longer than expected.
>>
>> J
>>
>> On Aug 27, 10:58 am, Jeff <jefftschwa...@gmail.com> wrote:
>> > When a transaction fails because of contention is it automatically
>> > retried and if it is how many times will it retry? Also, can you point
>> > me to any docs that detail this & transaction failures in general?
>> > Thanks in advance.
>>
>> --
>> 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-appeng...@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.
>>
>
>
>
> --
> --
> Jeff
>
> --
> 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-appeng...@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.
>

-- 
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-appeng...@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