Last night we had a sudden traffic spike at 21:00 (CET). Requests were at a
steady 40 req/s when we suddenly had more than 400 req/s. This led to our
application being almost entirely down for about 10-15 minutes. I think that
it’s because many new app instances are being fired up at the same
Are you on the Master/Slave datastore or the High Replication datastore?
If those puts are putting in the same kinds of entity, then those spikes
look a little suspicious to me!
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to
i'm the default one (master/slave)
yes, that spikes is suspicious, hope can have someone explaining this, or
advise how to avoid this
- eric
On 9 February 2011 17:42, Simon Knott wrote:
> Are you on the Master/Slave datastore or the High Replication datastore?
>
> If those puts are putting in
My app uses Google Account API for user authentication. There is also a
number of integrated applications (desktop apps, cron jobs, etc) which run
elsewhere outside of the GAE. The integrated applications currently use
ClientLogin to authenticate themselves when logging in to the app.
Now I'd l
Have you got 'warmup requests' enabled in your app.yaml config file?
See
http://code.google.com/appengine/docs/python/config/appconfig.html#Inbound_Services
How long does it take for an instance to load? You will find the times
(ms) in your log, search for Info message with "This request caused a
Have you actually investigated the source of the spike?
And what exactly the errors where - ie looking the logs, rather than just
the number of errors?
For example it could of been a script scanning for vulnerablities (such as
searching for all the folders phpmyadmin could be installed in) - and
>
>
> So, to sum this up: with federated login enabled, is there a way to
> implement login for applications which does not require user interaction?
> For example a cron job takes username & password from a file when loggin in
> to my app at GAE. Just like ClientLogin does?
>
What if you save th
I just tried adding Expires and Date headers and that doesn't work
either.
On Feb 8, 4:52 am, Joshua Smith wrote:
> Have you tried using:
> self.response.headers["Cache-Control"] = "public"
> self.response.headers["Expires"] = …some code to generate a time
> stamp...
>
> On Feb 7
Changing the Cache-Control to just "public" in addition to adding
Expires does seem to work when I use wget to test. Thanks! I'll give
it some time to see if the logs look differently on the requests.
On Feb 9, 8:18 am, David wrote:
> I just tried adding Expires and Date headers and that doesn'
I've been having trouble changing budget for the last couple of hours.
It keeps on returning the following error message:
Billing Command Failed
There was an unexpected error and your budget settings were not saved.
Please try again. If this problem persists, please contact support.
I've tried t
Same here, and increasing stored data budget is also failing.
seacloud-1.appspot.com
On Feb 8, 9:08 am, David Mora wrote:
> same here
>
> (already reported thru appengine billing tho)
>
> It seemed to happend just after the maintenance
>
> On 8 February 2011 10:30, David wrote:
>
>
>
>
>
>
>
>
> What I am noticing recently is that even if a user doesn't submit a
> file (i.e. leaves the file upload field empty) an empty blob is
> created anyway and I get the blobinfo object for it. I am pretty sure
> it wasn't like that before, has anyone else also noticed that?
To clarify, by an empty b
Is there a way to execute code on a new appengine deploy but not on a
load of a fresh app instance due to reasons other than a new deploy?
I would like our appengine instance to process a bunch of files on a
new deploy, but not any other time. Is there a good way to do this?
Obviously processing
So I have been using and following the prefetching method as mentioned
at http://blog.notdot.net/2010/01/ReferenceProperty-prefetching-in-App-Engine
But I could not get it to work for collection property. I have created
a paste that shows the issues: http://bpaste.net/show/13546/
So is it even po
We've address the underlying cause of the issue. Quotas should be working
correctly for stored task bytes.
--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com
Reddit: http://www.reddit.com/r/appengine
Twitter: http://twitter.com/app_engine
On
There are no post-deploy hooks, but you can probably wrap the deploy script
to invoke a handler that fires off a job that does what you need.
--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com
Reddit: http://www.reddit.com/r/appengine
Twitter: h
I don't want any users involved. This is a classic app to app web
service communication.
Seems like there should be some way in GAE to solve this classic
problem.
On Feb 7, 12:02 pm, Robert Kluin wrote:
> Perhaps you could use OAuth, or some similar idea? Basically, during
> an initial setup pro
Your quotas look fine to me. They were likely just lagging behind. If you
need more breathing room, you can enable billing to set slightly higher
limits.
--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com
Reddit: http://www.reddit.com/r/appengin
Can anyone else confirm this or provide details? It'd be helpful to know if
this was passing or not.
--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com
Reddit: http://www.reddit.com/r/appengine
Twitter: http://twitter.com/app_engine
On Tue, F
Singuan, the identifier (OAuth request token) has limited lifetime.
Therefore, there is no sense to store it as it will be obsolete rather soon.
--
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-ap
Ok. So I've changed the entities to use entity.setUnindexedProperty().
To get rid of the superfluous the indices I'm doing something like
this:
Query q = new Query(PlayerSnapshot.class.getName());
List asList =
ds.prepare(q).asList(FetchOptions.Builder.withLimit(n).offset(o));
ds.put(asList);
Unf
You can solve it in GAE just like anywhere else. Store the password
(or token) in the client, send it with the request and / or sign the
request somehow, and validate the request server side. Nothing really
special about GAE in this respect.
Robert
On Wed, Feb 9, 2011 at 14:27, DR wrot
The environment variable CURRENT_VERSION_ID is in the format X.Y, where X is
the version specified in your app.yaml and Y is a number generated by App
Engine for each deployment.
You could store the previous value of Y in the datastore and when currentY
!= previousY kick off your file processin
I'm currently experiencing a ton of errors from latency right now.
Looks like it started about 45 minutes ago. CPU usage has dropped to
very low and time per request has raised up so I suspect it's just
blocked on the datastore.
David
word-play.appspot.com
On Feb 9, 11:32 am, "Ikai Lan (Google)"
A lot of people use reverse proxies
Some even invested their time and built reverse proxy clouds on amazon
or rackspace
On Feb 9, 1:14 am, Sean wrote:
> Hi, I'm trying to link a domain to my App, but I'm unable to register it
> with Google Apps because it contains "profanity" (even though my app
Are you putting large batches of entities there?
Compare the entity_write_bytes to some of the other entries.
Robert
On Wed, Feb 9, 2011 at 04:58, Eric Ka Ka Ng wrote:
> i'm the default one (master/slave)
> yes, that spikes is suspicious, hope can have someone explaining this, or
> advis
Hi Ritesh,
There is really nothing to prefetch in this case. Author.posts is
actually a query object (that is added to the model at run time).
Depending on your needs there are two good solutions, 1) put the
author data you need on Post so you only query Post objects, or 2)
store a list of Po
You can get the IP address of the client using
self.request.remote_addr. When verifying this remember to handle IPV6
addresses too, or you'll have problems soon - I'm starting to see IPV6
addresses already.
If there is any risk attached with access to the app, (e.g. personal
or commercially sensit
IIRC, gdata access tokens (which is what you'll upgrade the request
token to) don't expire. Are you sure App Engine access tokens expire?
Robert
On Wed, Feb 9, 2011 at 14:40, anatoliy wrote:
> Singuan, the identifier (OAuth request token) has limited lifetime.
> Therefore, there is no sen
Thanks for the suggestion. But, I really don't want to do that, since it
will cost money, slow things down, and I will lose the ability to block
traffic by ip.
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send e
Hi Ikai,
It looks like I must be the only one seeing these strange things. I may have
screwed something up on my end. I added the java reCaptcha jar to my project
to add reCaptcha to a couple of my pages and I'll undo that to make sure
that isn't affecting things. But below is another example of an
Thanks! CURRENT_VERSION_ID seems like it should work perfectly. I'm
using java and I couldn't find any documentation about that variable
in the Java docs, but it appears to be this system property:
com.google.appengine.application.version.
I'm going to set up a ServletContextListener to check th
+1... From about 10:30am to 11:20am PST I saw a steady stream of
deadline exceeded exceptions normally I see 1 or 2 every other
hour at most...
On Feb 9, 3:40 pm, Stephen Johnson wrote:
> Hi Ikai,
> It looks like I must be the only one seeing these strange things. I may have
> screwed somethi
Update:
I pulled the reCaptcha jar out of the project just to make sure there wasn't
something funky in it and I redeployed. Still no change.
>From my logs for a startup request to main page which pulls one string from
memcache and the Session object and displays page, I get the following in my
lo
i do notice a bit more of latency, which translates to about +1% of CPU.
I guess that in order to accurately report this you should have
metrics for before and after the maintenance.
But looking quickly thru the API status:
http://api-status.com/6404/117406/Google-App-Engine-API
it seems like th
I have a BlobstoreUploadHandler that works when I run the development
server, but it consistently fails when I deploy it. When the upload is
handled, get_uploads() is always returning an empty list, I'm
expecting a list of BlobInfo's. Can anyone spot what I might've done
wrong here?
class
TestIma
Wow, Calvin, great trick! I didn't think of this. Y is a "minor version".
For all intents and purposes it doesn't serve many purposes, but a lot of
people find it useful for things like this.
--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com
Re
Hi guys.
I'm trying to create an application with a google account that is not @
gmail.com.
(ad...@mygoogleappsdomain.com)
After creating the application, I'm redirected to the "create application"
page.
Without any application.
Can I use any google account to create an application, or only
@gm
Isn't that going to incur an extra datastore access on every request?
--
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
goo
I have tried putting code in the Contacts page, the App Controller
page, and a login view page i made. I am extremely frustrated. Please
assist.
Thanks
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to go
True, but he could have only one url checking the value (i.e.
/_post_deploy_url/) that's isn't used for any other purpose. This would
just be a way to make sure the processing is run only once per deployment.
"I admit it's odd and hacky, but it meets the requirements." - Every
programmer ever.
True, but he could have only one url checking the value (i.e.
/_post_deploy_url/) that's isn't used for any other purpose. This would
just be a way to make sure the processing is run only once per deployment.
"I admit it's odd and hacky, but it meets the requirements." - Every
programmer ever.
I was planning on doing the datastore check from the
contextInitialized method of a ServletContextListener. That should
only be executed once per load of an app instance, right?
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to th
It looks like you're right. That should only execute on warmup/first
request.
--
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 ema
Be carefull, because you could run into a dogpile effect.
Multiple new instances start at the same time and the version number you
have stored hasn't been updated and all instances try and perform the task
at the same time.
I think It would be much more reliable to wrap your deploy script to inv
I noticed the same thing when using closure library in our dev environment.
First, I highly recommend setting up closure compiler. In addition to making
your JS output smaller for production, it has multiple modes of operation
including a mode that figures out your JS dependencies and concatenat
That shouldn't be a problem. Check and update the version number in a
transaction. If the transaction succeeds then it performs the task because
it was the instance that updated the version otherwise if it fails due to a
ConcurrentModificationException than some other instance is carrying out the
t
Have you tried this with a web form yet? The best way to track down this
issue is to first try to get it working with a web form, then build a
client. I don't see any reason why this wouldn't work, but I'd first want to
rule out that it's not server side related.
My guess is that it's probably som
Does it work when you log in at appspot.com/a/mygoogleappsdomain.com?
On Wed, Feb 9, 2011 at 17:25, Felippe Bueno wrote:
> Hi guys.
> I'm trying to create an application with a google account that is not
> @gmail.com.
> (ad...@mygoogleappsdomain.com)
> After creating the application, I'm r
Hi Dave,
You might want to provide some of the code you've tried, or at least
a link to the tutorial you're following.
Robert
On Wed, Feb 9, 2011 at 17:55, Dave Allen wrote:
> I have tried putting code in the Contacts page, the App Controller
> page, and a login view page i made. I am
hai haw r i
--
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 optio
Year, it has dropped down today, thx.
On Thu, Feb 10, 2011 at 3:28 AM, Ikai Lan (Google) wrote:
> Your quotas look fine to me. They were likely just lagging behind. If you
> need more breathing room, you can enable billing to set slightly higher
> limits.
>
> --
> Ikai Lan
> Developer Programs E
Ah, the way back machine comes to the recue again.
Thank you so much for your help. After a little more thought I re-factored
my form so it's a little simpler now and I don't need to attach errors to
multiple fields, so I haven't tried it just yet, but I'm sure I'll need to
do this again in the
Hi Robert,
if i didn't trace wrongly, that suspiciously big CPU eating PUT is just
putting a single entity, not putting a batch of entities
but i'm not sure what these values mean
entity_write_bytes = 1668453L (which is 1.xMB? )
entity_writes = 1L (1 entity to write? )
- eric
On 10 February 20
Hello.
Sometimes an error occurs because a db query went wrong...
Then in the logs there is an entry in that way:
javax.persistence.NonUniqueResultException: Expected a single result for query:
SELECT FROM Employee WHERE user=:user : The query returned more than one
instance BUT either unique
55 matches
Mail list logo