[google-appengine] datastore timeouts?

2015-12-28 Thread Adam Sah
anyone else seeing increased datastore timeouts?  I've confirmed that 
traffic levels are normal i.e. not getting DOS'd...

E 2015-12-28 15:19:09.728 error:Timeout('The datastore operation timed out, 
or the data was temporarily unavailable.',)
...
E 2015-12-28 15:08:31.447 error:TransactionFailedError('too much contention 
on these datastore entities. please try again.',)

adam

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/f458c5e9-ae4e-4f5b-9d0f-04d792d79646%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[google-appengine] Datastore Timeouts

2011-07-15 Thread vivpuri
My app is throwing tons of datastore timeouts. Seems to be worse after
maintenance. AppEngine team, please fix this. I cant take these errors
anymore. And not to mention i am paying for this service.

Also please provide easier path to HA datastore. Please dont tell it
is on your roadmap. This should have already be taken care off. We are
your current customers, while all your energy seems to be focused on
future customers. Pretty please, listen to the ones who are already
paying.

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



[google-appengine] Datastore Timeouts

2010-10-13 Thread Waleed Abdulla
Hi there,
I'm recently getting a lot of datastore timeouts. app id = networkedhub


The datastore operation timed out, or the data was temporarily unavailable.


Regards,
Waleed

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



[google-appengine] Datastore timeouts - retry or just let fail?

2010-01-23 Thread Danny Tuppeny
Hi all,

I've got a query that fetches an entity by key_name, and now and then
(maybe once or twice a day) it times out. Reading the docs, it seems
like this is fairly common.

Most of times I see it it's from a search bot or something, so I
haven't really bothered doing anything, but since it is affecting
visitors to, I wonder if I should.

I saw some code that retries failed data access, but I don't know how
long whatever causes these timeouts takes. Is it likely to just time
out again if it's re-issued immediately? Should I just let the 500 be
served, and hope the user/bot retries, or is it recommended to wait a
few seconds and try again?

I'd be interesting in hearing peoples experiences with retrying. Do
retries just fail too, or does it generally clear up the problem?

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



[google-appengine] Datastore timeouts

2009-10-20 Thread Michael

Last several minutes my app experiences a lot of datastore timeouts
What can be the problem?
App id is: sovpad
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[google-appengine] datastore timeouts on get_or_insert

2009-05-15 Thread Kenneth

Our application was running with 1 user this morning and received a
datastore timeout.

The code has no loops in it, it gets 1 row each from 4 entities, 2 of
them by key using get_or_insert and 2 of them using a reference
property.  They are all root entities and there is no contention as
you can see from the log below.  The tables all have <1000 rows in
them.  The timeout happened on the first datastore call using
get_or_insert.  Even if I retried this call it is bananas waiting 3
seconds for a single row to come back.

Am I better off doing a get and if that fails then trying the
get_or_insert?

It looks like other applications running on the server are affecting
my application.  If I was being billed I believe this would cost me
money.

Here's the log, no transactions have been removed, the two
transactions at 2:11AM failed with a huge cpu spike.

  05-14 02:24AM 55.926 /api/ 200 1040ms 1116cpu_ms 218api_cpu_ms
0kb
  05-14 02:22AM 08.620 /api/ 200 198ms 237cpu_ms 160api_cpu_ms
0kb
  05-14 02:22AM 07.806 /api/ 200 258ms 279cpu_ms 218api_cpu_ms
0kb
  05-14 02:22AM 05.176 /api/ 200 205ms 218cpu_ms 160api_cpu_ms
0kb
  05-14 02:22AM 00.864 /api/ 200 774ms 979cpu_ms 160api_cpu_ms
0kb

  05-14 02:11AM 22.391 /client/ 500 3189ms 6357cpu_ms
6093api_cpu_ms 10kb
  05-14 02:11AM 18.195 /api/ 500 3444ms 6450cpu_ms 6212api_cpu_ms
8kb

  05-14 02:10AM 37.957 /api/ 200 175ms 223cpu_ms 160api_cpu_ms
0kb
  05-14 02:10AM 27.585 /api/ 200 906ms 1005cpu_ms 160api_cpu_ms
0kb

Thank you very much for any assistance.

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[google-appengine] Datastore timeouts - anyone else?

2009-03-30 Thread WallyDD

I seem to be getting a few datastore timeouts.

If I look at percentages it isn't really that much but it does clog up
the log. The timeouts tend to correspond with the spikes in latency.
http://code.google.com/status/appengine/detail/datastore/2009/03/30#ae-trust-detail-datastore-get-latency

I would be quite happy if the data was returned in the time specified
(300 miliseconds) but the pages are timing out at 6000 or 8000
miliseconds.

Has something changed with the google app engine which needs some code
to be changed on my pages?

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[google-appengine] Datastore Timeouts ( large amount of data per row )

2009-03-06 Thread gobagoo

I understand that there have been recent problems with latency with
regards to the datastore.  I am not sure if it is the app engine
environment that is the problem or if is my app.  I am consistently
getting datastore timeouts for certain querys.  My app is storing
farely large image files ~500KB each in the datastore.  Since I want
my user to by upload images files dynamically, putting them in the
datastore seems to be the only way of doing this.  I have around 80
images in the datastore currently.  I looked into only fetch'ing() a
certain limit at a time and then incrementing offset however the
datastore still fetch's a constant number of rows from the datastore.
Is there anyway around this problem ( or perhaps a better way of
handling this ).

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[google-appengine] Datastore timeouts and retries.

2009-01-09 Thread David Wilson

Hi there,

Having got my application to a barely working state last week, I tried
to demonstrate it to a friend. Before he had even reached the main
page of the application, a Datastore timeout had occurred while
updating his session record. I talked to a few people about this, and
it seems when this occurs it is usually safe to retry the operation a
few times. I've been thinking about this issue a little since then,
and have reached the conclusion that my application code should not
need to be handling this explicitly at all. I considered the following
avenues for continuity in the face of a Datastore timeout:


   * Somehow use memcache as an alternative.

This assumes that during some future request, my code would eventually
retry the operation and it would succeed, and in the meantime,
memcache does not get flushed. Anywhere this kind of data needs
accessed, my code would need to explicitly check both memcache and the
datastore. Basically this seems like a dumb thing to attempt.


   * Use some alternative storage via urlfetch.

This seems pretty much insane.


   * Return a friendly error message

This seems premature unless we've already retried the operation a few times.


   * Retry the operation.

Leaving the fourth option, which seems to me, should be the default.
I've been trying to think of the downsides of wrapping or
monkey-patching the Datastore API to always automatically retry, and
I'm coming up blank. I can imagine there are cases when such automatic
behaviour might not be ideal, and so, perhaps providing an extra
parameter to get()/put()/Query.fetch() to disable it would work.

Any thoughts? It kinda sucks that user code needs to handle these
exceptions when the only real sane thing it can do is retry the
operation. As always, I'm probably missing something obvious. :)

Thanks,


David.

-- 
It is better to be wrong than to be vague.
  — Freeman Dyson

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[google-appengine] Datastore timeouts

2008-10-15 Thread Chris Marasti-Georg
I have a class that holds advanced information for a frame of bowling.  It
looks like:

class Frame(db.Model):
version = db.IntegerProperty(default=1)
user = db.UserProperty()
game = db.ReferenceProperty(Game, required=True)
frame_number = db.IntegerProperty(required=True)
first_count = db.IntegerProperty(required=True)
second_count = db.IntegerProperty()
total_count = db.IntegerProperty()
score = db.IntegerProperty()
ball = db.ReferenceProperty(Ball)
stance = db.FloatProperty()
target = db.FloatProperty()
actual = db.FloatProperty()
slide = db.FloatProperty()
breakpoint = db.FloatProperty()
pocket = db.BooleanProperty()
pocket_type = db.StringProperty()
notes = db.TextProperty()
first_pinfall = db.ListProperty(bool)
second_pinfall = db.ListProperty(bool)
split = db.BooleanProperty(default=False)

Here is the code the takes the form input and updates or creates a new
frame.  I get datastore timeouts on this rather often, on the frame.put()
command.  Is there some good way to code this more optimally?  Just getting
to frame.put() sometimes takes 15000 mcycles()

class FrameActions(webapp.RequestHandler):
  def get(self):
self.post()

  def post(self):
user = users.get_current_user()
if not user:
  self.redirect('/unauth.html')

action = self.request.get('action')
if action=="edit":
  self.edit_frame(user)
  return
else:
  gameId = self.request.get('game')
  if gameId:
self.redirect("edit-game.html?game="+gameId)
return
self.redirect("series.html")

  def edit_frame(self, user):
game = model.get_for_user(type=model.Game, id=self.request.get('game'),
user=user, allow_public=False) #This is simple dao code
if not game:

self.redirect("series.html?errMsg=The&20game&20could&20not&20be&20found")
  return

frame_number = self.request.get('frame_number')

if not frame_number:
  self.redirect("edit-game.html?game="+gameId);
  return;

errors=[]
last_frame = game.get_last_frame() # data_store query, orders
game.frame_set in reverse and uses get()
highest_allowed = 1
if last_frame:
  highest_allowed = last_frame.frame_number + 1
if frame_number:
  frame_number = int(frame_number)
  if frame_number > highest_allowed:
frame_number = highest_allowed
else:
  frame_number = highest_allowed

# check 11th and 12th legality
if frame_number == 11 and not game.allow_11th(): # checks that
game.frame_set().filter("frame_number =", 10).totalCount == 10
  self.redirect("edit-game.html?game="+gameId);
  return;
if frame_number == 12 and not game.allow_11th(): # checks that
game.frame_set().filter("frame_number =", 10).firstCount == 10, and the same
for frame number 11
  self.redirect("edit-game.html?game="+gameId);
  return;

first_pinfall = []
first_count=0
for pin in range(1,11):
  if self.request.get('f1p'+str(pin)) == "down":
first_pinfall += [True]
first_count+=1
  else:
first_pinfall += [False]

do_second = True
if frame_number == 12:
  do_second = False
elif frame_number == 11:
  tenth = game.frame_set.filter("frame_number =",10).get()
  do_second = tenth.first_count == 10

if not do_second:
  second_pinfall = []
  second_count=None
else:
  second_pinfall = []
  second_count=0
  for pin in range(1,11):
if self.request.get('f2p'+str(pin)) == "down":
  second_pinfall += [True]
  if not first_pinfall[pin-1]:
second_count+=1
else:
  second_pinfall += [False]

frame = game.frame_set.filter("frame_number =", frame_number).get()
if not frame:
  logging.debug("Creating new frame")
  frame =
model.Frame(user=user,game=game,frame_number=frame_number,first_count=first_count,second_count=second_count)
else:
  logging.debug("Updating existing frame")
  frame.first_count=first_count
  frame.second_count=second_count

frame.first_pinfall = first_pinfall
frame.second_pinfall = second_pinfall

frame.ball = model.get_for_user(type = model.Ball, user=user,
id=self.request.get('ball'), allow_public=False)

if self.request.get('stance'):
  try:
frame.stance = float(self.request.get('stance'))
  except:
errors += ["Stance is not a valid board!"]
else:
  frame.stance = None
if self.request.get('target'):
  try:
frame.target = float(self.request.get('target'))
  except:
errors += ["Target is not a valid board!"]
else:
  frame.target = None
if self.request.get('actual'):
  try:
frame.actual = float(self.request.get('actual'))
  except:
errors += ["Actual board hit is not a valid board!"]
else:
  frame.actual = None
if self.request.get('slide'):
  try:
frame.slide = float(self.request.get('slid

[google-appengine] Datastore Timeouts Must Die

2008-10-05 Thread Alex Epshteyn

Please see: http://code.google.com/p/googleappengine/issues/detail?id=764

There is a recent thread on this group titled "Why Google App Engine
is broken and what Google must do to fix it."  I personally don't
think that any of the topics raised by the OP of that thread imply
that anything is broken - they are just feature requests.

What *is* broken, however, is writing to the Datastore.  Lots of
developers, not just me, have been complaining about this here for
months.  I don't think there's been any real response from the Google
team about this.  This issue needs to be investigated and hopefully
fixed before App Engine can be used for production.  The probability
of failure for any given data write request is just too high right
now.  I actually *am* using App Engine in production and somewhat
regretting it, mostly due to this issue.
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---