> And even with 3 entities of 3 different kinds you have to manualy
> rollback it because a transaction works only with 1 kind.

Where is it documented that a transaction only works with one kind?

The SDK is quite happy to do transactions involving db.Model instances
of different kinds.

On Apr 15, 7:47 am, Sylvain <[email protected]> wrote:
> Maybe, but my app needs it. So I will not change it for that.
>
> And even with 3 entities of 3 different kinds you have to manualy
> rollback it because a transaction works only with 1 kind. So If the
> timeout happends on the second write, you have to manually rollback
> the first put() and it can be very complicated if the number of
> entites/kinds increases.
>
> Another thing, you can have a timeout on a a simple get_by_keyname,
> fetch(50),... etc,... So the number of write is not the only/main
> issue and a request can wait 30s so it should no be an issue.
>
> I understand that in order to remove timeout we have to change things
> but an article that explain what to do and how could be very usefull.
>
> During the first  "app chat" (long time ago), I've asked for it and it
> seems the Google team agree with it. So 
> :)http://groups.google.com/group/google-appengine/browse_frm/thread/ced...
>
> Regards.
>
> On 15 avr, 16:00, 风笑雪 <[email protected]> wrote:
>
>
>
> > It's not recommend to write more than 20 entities in one request, and I
> > don't think you will exceed it in a common request.The datastore has such
> > a limitation of writing, you can't treat it as a relationship db. (In my
> > test, it takes about 1 second to put 100 simple entities into db.)
>
> > However, sometimes we may meet this situation.
> > My suggest is to limit the number of entities as possible, use
> > "db.run_in_transaction" to keep entities correct and complete saved to db.
> > If possible, AJAX calls can help you breaks a big transaction into several
> > small transaction.
> > And you can set how many times the transaction should try when operation
> > fails, so you can give a failed message to user before timeout.
>
> > 2009/4/15 Sylvain <[email protected]>
>
> > > Hi,
>
> > > Currently, I think 0.5% of my Datastore operations result in a
> > > datastore timeout.
> > > I don't know why... It can be raised on very simple or very
> > > complicated operation.
>
> > > For my app for example, the problem is that it can occur during a big
> > > request where I need to create 50-100 entities of 3 different kinds.
> > > So I need to manually rollback everything and it can be difficult.
>
> > > Having a "big" transaction could be a solution, but GAE it too limited
> > > (only 1 kind,....).
>
> > > It seems that datastore timeout will always be there and we have to
> > > manage them. So I think we need an article that explains how to handle
> > > them properly with different scenarios. It will be very appreciated.
>
> > > Regards.- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to