Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error 500 (datastore read quota exceeded, need to use memcache more) #7

Closed
GoogleCodeExporter opened this issue Aug 6, 2015 · 13 comments

Comments

@GoogleCodeExporter
Copy link

What steps will reproduce the problem?
1. Err, it's a server error 500

What is the expected output? What do you see instead?
- Access to thje site but all I see is 'Error 500.'

What version of the product are you using? On what operating system?
- no idea of version. Windows 7 Pro SP1

Please provide any additional information below.

- first attenopt to use Walkaround.

Original issue reported on code.google.com by neville....@gmail.com on 23 Nov 2011 at 7:54

@GoogleCodeExporter
Copy link
Author

https://wavereactor.appspot.com/ works from here.  Please provide more detail 
on how you got the error.  Is it your own server?  Are you running locally or 
did you deploy to App Engine?  Can you take a look at the log messages to see 
if anything stands out?

Original comment by oh...@google.com on 23 Nov 2011 at 8:13

@GoogleCodeExporter
Copy link
Author

A friend sent me a link https://walk-test.appspot.com/inbox which I clicked. 
The site loaded in my browser, Firefox; all I got was Error 500.

Just tried the link again - works this time. So a momentary error, it seems.

Original comment by neville....@gmail.com on 23 Nov 2011 at 8:33

@GoogleCodeExporter
Copy link
Author

Issue 8 has been merged into this issue.

Original comment by oh...@google.com on 23 Nov 2011 at 9:46

@GoogleCodeExporter
Copy link
Author

Issue 11 has been merged into this issue.

Original comment by oh...@google.com on 24 Nov 2011 at 5:55

@GoogleCodeExporter
Copy link
Author

Matt, can you take a look at the walk-test logs to check what the errors are?

Original comment by oh...@google.com on 24 Nov 2011 at 5:56

@GoogleCodeExporter
Copy link
Author

I've seen my own instance get close to its datastore read quota, and if that's 
exceeded, I'm pretty sure the result would be a server error 500.  So I assume 
that's what happened here.

It shouldn't be too hard to avoid most of our datastore reads by keeping 
AccountRecords and current object versions in memcache.

Original comment by oh...@google.com on 1 Dec 2011 at 6:59

  • Changed title: Error 500 (datastore read quota exceeded, need to use memcache more)
  • Changed state: Accepted

@GoogleCodeExporter
Copy link
Author

Issue 12 has been merged into this issue.

Original comment by oh...@google.com on 1 Dec 2011 at 6:59

@GoogleCodeExporter
Copy link
Author

High priority since people are really hitting the quota, see 
http://code.google.com/p/walkaround/issues/detail?id=31#c2 .

Original comment by oh...@google.com on 4 Jan 2012 at 12:22

  • Added labels: Priority-High
  • Removed labels: Priority-Medium

@GoogleCodeExporter
Copy link
Author

I added caching for OAuth credentials.  Still need to make sure /channel can be 
served without datastore reads in the typical case.

Original comment by oh...@google.com on 4 Jan 2012 at 7:40

  • Added labels: Component-Slob

@GoogleCodeExporter
Copy link
Author

I have implemented Walkaround on appspot and I am noticing a similar trend. I 
made a new wave, added a participant, they viewed the page on another computer 
while I typed a single sentence into wave. Apparently this took 15k read 
operations to do, as before I created this new wave I was at 23% of 0.5m read 
operations, and I was 26% immediately after. It was just us two on the wave and 
no other viewing/editing/anything occurred in the time between the read 
operation dashboard update.

Appspot gives a 500 error when out of resources, so it's very likely that this 
is related.

Original comment by DiltTheI...@gmail.com on 6 Jan 2012 at 6:01

@GoogleCodeExporter
Copy link
Author

I am working on this now; but your measurement of 15k read operations doesn't 
seem plausible.  I ran a similar test (typing the text "Hello world.  This is a 
test.  Can you read this?  How many datastore operations does this take?" into 
a wave while the wave is open in another browser window), and it took ~1500 
"datastore entity fetch ops" – more than it should, but an order of magnitude 
less than you saw.

After running this experiment twice (and not much else), the datastore stats on 
my test instance are:
Datastore Entity Fetch Ops 3,201
Datastore Entity Put Ops 274
Datastore Entity Delete Ops 0
Datastore Index Write Ops 1,463
Datastore Query Ops 394

Original comment by oh...@google.com on 8 Jan 2012 at 9:57

@GoogleCodeExporter
Copy link
Author

I can't seem to reproduce the high measurement anymore, though I could two days 
ago. I've changed nothing between now and then - I haven't even accessed 
Appspot until today. now I am getting results along the lines of yours.

I will discard my previous message as a fluke for now. If I can reproduce the 
results or find what caused that many reads, I will reply with more information.

Original comment by DiltTheI...@gmail.com on 9 Jan 2012 at 2:24

@GoogleCodeExporter
Copy link
Author

My recent changes made big improvements in this area, please try them out.  
Walkaround should be a lot more resource-efficient now; the above test no 
longer needs 1500 fetch ops, but only 70.

I think the problem with your calculation earlier was that you assumed a quota 
of 0.5m ops, but the free quota is 0.05m ops per day.  That's why you were off 
by an order of magnitude.

Original comment by oh...@google.com on 10 Jan 2012 at 12:09

  • Changed state: Fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant