Thanks for clearing that up Ikai. I had designed my entities to have a
parent and many children using a List<Child> property on the parent.
I'll now change this to have an unowned relationship and use List<Key>
so that child entites are in their own entity group. This should solve
the contention issue.

On Jun 24, 3:19 am, "Ikai Lan (Google)" <[email protected]> wrote:
> In general, a rule of thumb is to engineer your application for 1 write a
> second to an entity group. If you are doing 2-5 writes a second to a single
> entity, you *should* be okay, however, I would just as easily understand if
> you are not. If you need to do "counters", the sharded counter pattern
> should be used.
>
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> Blog:http://googleappengine.blogspot.com
> Twitter:http://twitter.com/app_engine
> Reddit:http://www.reddit.com/r/appengine
>
>
>
>
>
>
>
> On Thu, Jun 23, 2011 at 5:03 PM, mscwd01 <[email protected]> wrote:
> > Yes each time a user makes a request to the app, their user entity is
> > loaded and their request count incremented, so the "User" entity is
> > fetched, updated and "put" very frequently.
> > Surely though the datastore should be able to handle this, it's not
> > like I'm making thousand of requests per second, more like 2-5.
>
> > Also would this explain why the app was running fine for days and then
> > for a 5 hour period yesterday started throwing errors, only to
> > "correct" itself and work fine ever since?
>
> > Maybe a Googler could look into my specific app for me and let me know
> > what's going wrong because this is perplexing me! I'll email you the
> > app id if possible.
>
> > Thanks
>
> > On Jun 23, 5:14 am, Didier Durand <[email protected]> wrote:
> > > Hi,
>
> > > Don't you have some datastore entities that are used in every request
> > > or so? Let's say a global counter of requests or sthg equivalent.
>
> > > That entity would be updated in every request, hence the contentions
> > > as you trafic raises.
>
> > > regards
>
> > > ddoer
>
> > > On Jun 22, 11:59 pm, mscwd01 <[email protected]> wrote:
>
> > > > Okay I just got a single log entry pop up that may offer some insight
> > > > to the problem. It reads:
>
> > > > Too much contention on these datastore entities. please try again.
>
> > > > I have noticed a slight increase to the number of requests received
> > > > today (so far 40k), could it be some unforeseen issue that occurs only
> > > > when I get a spike in traffic?
>
> > > > On Jun 22, 10:52 pm, mscwd01 <[email protected]> wrote:
>
> > > > > Hey
>
> > > > > I just noticed my app stopped working correctly so I opened the logs
> > > > > and went back as far as I could (about an hour) and I noticed my app
> > > > > wasn't able to load a specific kind of entity. Going by my current
> > CPU
> > > > > usage it seems like the issue has been ongoing for several hours.
>
> > > > > Whilst trying to think of a solution to the problem (and trying to
> > > > > fathom why the problem would arise not having modified the app at
> > > > > all), I rechecked the logs and found the app had fixed itself and the
> > > > > specific entity kind was successfully being loaded.
>
> > > > > I have three kinds of entity used by my app and two out of three
> > > > > loaded fine.
>
> > > > > Has anyone else seen this happen to their apps? It's rather
> > > > > disconcerting not knowing why a problem arises and then magically
> > > > > fixes itself!
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine for Java" 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-java?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" 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-java?hl=en.

Reply via email to