Prerelease SDK 1.4.0 is out!

618 views
Skip to first unread message

Ikai Lan (Google)

unread,
Nov 18, 2010, 5:27:25 PM11/18/10
to Google App Engine
Hey everyone,

I just wanted to let everyone know that prerelease SDK 1.4.0 is out! Get it from the Google Code project:


We're still working on the docs and will have them ready for the final release, so if there are any questions about how to use the new features, feel free to ask on this thread and I'll do my best to clarify them. The release notes are below. This is an EXCITING release:

Python
------------
- The Always On feature allows applications to pay and keep 3 instances of their
  application always running, which can significantly reduce application
  latency.
- Developers can now enable Warmup Requests. By specifying  a handler in an
  app's app.yaml, App Engine will attempt to to send a Warmup Request to
  initialize new instances before a user interacts with it. This can reduce the
  latency an end-user sees for initializing your application.
- The Channel API is now available for all users.
- Task Queue has been officially released, and is no longer an experimental
  feature. The API import paths that use 'labs' have been deprecated. Task queue
  storage will count towards an application's overall storage quota, and will
  thus be charged for.
- The deadline for Task Queue and Cron requests has been raised to 10 minutes.
  Datastore and API deadlines within those requests remain unchanged.
- For the Task Queue, developers can specify task retry_parameters in their
  queue.yaml.
- Metadata Queries on the datastore for datastore kinds, namespaces, and entity
  properties are available.
- URLFetch allowed response size has been increased, up to 32 MB. Request size
  is still limited to 1 MB.
- The Admin Console Blacklist page lists the top blacklist rejected visitors.
- The automatic image thumbnailing service supports arbitrary crop sizes up to
  1600px.
- Overall average instance latency in the Admin Console is now a weighted
  average over QPS per instance.
- The developer who uploaded an app version can download that version's code
  using the appcfg.py download_app command. This feature can be disabled on
  a per application basis in the admin console, under the 'Permissions' tab.
  Once disabled, code download for the application CANNOT be re-enabled.
- Fixed an issue where custom Admin Console pages did not work for Google
  Apps for your Domain users.
- Allow Django initialization to be moved to appengine_config.py to avoid
  Django version conflicts when mixing webapp.template with pure Django.
- Fixed an issue in the dev_appserver where get_serving_url did not work
  for transparent, cropped PNGs:
- Fixed an issue with the DatastoreFileStub.


Java
---------
- The Always On feature allows applications to pay and keep 3 instances of their
  application always running, which can significantly reduce application
  latency.
- Developers can now enable Warmup Requests. By specifying  a handler in an
  app's appengine-web.xml, App Engine will attempt to to send a Warmup Request
  to initialize new instances before a user interacts with it. This can reduce
  the latency an end-user sees for initializing your application.
- The Channel API is now available for all users.
- Task Queue has been officially released, and is no longer an experimental
  feature. The API import paths that use 'labs' have been deprecated. Task queue
  storage will count towards an application's overall storage quota, and will
  thus be charged for.
- The deadline for Task Queue and Cron requests has been raised to 10 minutes.
  Datastore and API deadlines within those requests remain unchanged.
- For the Task Queue, developers can specify task retry-parameters in their
  queue.xml.
- Metadata Queries on the datastore for datastore kinds, namespaces, and entity
  properties are available.
- URL Fetch allowed response size has been increased, up to 32 MB. Request size
  is still limited to 1 MB.
- The Admin Console Blacklist page lists the top blacklist rejected visitors.
- The automatic image thumbnailing service supports arbitrary crop sizes up to
  1600px.
- Overall average instance latency in the Admin Console is now a weighted
  average over QPS per instance.
- Added a low-level AysncDatastoreService for making calls to the datastore
  asynchronously.
- Added a getBodyAsBytes() method to QueueStateInfo.TaskStateInfo, this returns
  the body of the task state as a pure byte-string.
- The whitelist has been updated to include all classes from javax.xml.soap.
- Fixed an issue sending email to multiple recipients.

As usual, we value your feedback, so don't hesitate to evaluate these SDKs and let us know. Be mindful that the server-side components have not been deployed yet, so uploaded code shouldn't work.

Happy coding!

--
Ikai Lan 
Developer Programs Engineer, Google App Engine

Robert Kluin

unread,
Nov 18, 2010, 5:40:30 PM11/18/10
to google-a...@googlegroups.com
Huge release. Looking forward to it going live.

Nice work App Engine Team.

Robert

> --
> 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-a...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

Ross M Karchner

unread,
Nov 18, 2010, 5:45:38 PM11/18/10
to google-a...@googlegroups.com
In Python, how do we use:

- Channel API
- Metadata Queries
--
Ross M Karchner

Felippe Bueno

unread,
Nov 18, 2010, 5:45:01 PM11/18/10
to google-a...@googlegroups.com
> - The developer who uploaded an app version can download that version's code
>   using the appcfg.py download_app command. This feature can be disabled on
>   a per application basis in the admin console, under the 'Permissions' tab.
>   Once disabled, code download for the application CANNOT be re-enabled.

good catch

Sergio Lopes

unread,
Nov 18, 2010, 6:11:41 PM11/18/10
to Google App Engine
Excelent news! Specially to protect applications from cold start.
How can I configure WarmUp requests and Always On using Java?

Thanks and congratulations!

On Nov 18, 8:27 pm, "Ikai Lan (Google)" <ikai.l+gro...@google.com>
wrote:

Alexander W.

unread,
Nov 18, 2010, 6:16:14 PM11/18/10
to google-a...@googlegroups.com
I love App Engine, it gets better and better with every release and let's you do more and more cool stuff.

I'm really looking forward to it going live.

- Alexander

Pims

unread,
Nov 18, 2010, 6:17:27 PM11/18/10
to Google App Engine
That’s a fantastic release. Can’t wait to have it in production.
Great job App Engine Team.

Tim

Ikai Lan (Google)

unread,
Nov 18, 2010, 6:17:06 PM11/18/10
to google-a...@googlegroups.com
Always On will be a paid feature you enable in the admin console.

I'll post some light sample code for channel API and warmup requests in a bit.


--
Ikai Lan 
Developer Programs Engineer, Google App Engine



Kangesh Gunaseelan

unread,
Nov 18, 2010, 6:30:32 PM11/18/10
to google-a...@googlegroups.com
Awesome additions.
Are you able to share the pricing terms for Always On feature now?

Thanks!

Ikai Lan (Google)

unread,
Nov 18, 2010, 6:39:06 PM11/18/10
to google-a...@googlegroups.com
I can't share the pricing yet - wait for the release. 


--
Ikai Lan 
Developer Programs Engineer, Google App Engine



Max Óizo

unread,
Nov 18, 2010, 6:44:05 PM11/18/10
to Google App Engine
Metadata Queries - what's this?

Ikai Lan (Google)

unread,
Nov 18, 2010, 7:33:48 PM11/18/10
to Google App Engine
For GAE/J you can reference this project:



--
Ikai Lan 
Developer Programs Engineer, Google App Engine



On Thu, Nov 18, 2010 at 4:32 PM, Hitoshi <alto...@gmail.com> wrote:
Please cover GAE-J also.

Thanks!

Hitoshi

On Nov 18, 3:17 pm, "Ikai Lan (Google)" <ikai.l+gro...@google.com>

wrote:
> Always On will be a paid feature you enable in the admin console.
>
> I'll post some light sample code for channel API and warmup requests in a
> bit.
>
> --
> 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 Thu, Nov 18, 2010 at 3:11 PM, Sergio Lopes <slo...@gmail.com> wrote:
> > Excelent news! Specially to protect applications from cold start.
> > How can I configure WarmUp requests and Always On using Java?
>
> > Thanks and congratulations!
>
> > On Nov 18, 8:27 pm, "Ikai Lan (Google)" <ikai.l+gro...@google.com<ikai.l%2Bgro...@google.com>

Alexandre Vivien

unread,
Nov 18, 2010, 7:38:48 PM11/18/10
to Google App Engine
Hi Ikai,

What about the OpenId SSL support? Is it part of this release ?

Regards,
Alexandre Vivien

On 18 nov, 17:27, "Ikai Lan (Google)" <ikai.l+gro...@google.com>
wrote:

Ikai Lan (Google)

unread,
Nov 18, 2010, 7:46:32 PM11/18/10
to google-a...@googlegroups.com
It's not in the release notes, so I'd lean towards no, it didn't make it.


--
Ikai Lan 
Developer Programs Engineer, Google App Engine



--
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-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.

Chris Thoman

unread,
Nov 18, 2010, 7:48:41 PM11/18/10
to google-a...@googlegroups.com
Is the high performance image serving from the blobstore through getServingUrl / get_serving_url still going to be limited to 1600x1600?  I could really use 1920x1080 (which actually is fewer pixels).

Wilson MacGyver

unread,
Nov 18, 2010, 5:39:14 PM11/18/10
to google-a...@googlegroups.com
what's the cost of the "always on" feature? I can't seem to find it anywhere.

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 google-a...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

--
Omnem crede diem tibi diluxisse supremum.

Shaun Clark

unread,
Nov 18, 2010, 6:30:33 PM11/18/10
to Google App Engine
Is there an easy way to get this to work in Eclipse? Thanks!

On Nov 18, 3:17 pm, "Ikai Lan (Google)" <ikai.l+gro...@google.com>
wrote:
> Always On will be a paid feature you enable in the admin console.
>
> I'll post some light sample code for channel API and warmup requests in a
> bit.
>
> --
> 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 Thu, Nov 18, 2010 at 3:11 PM, Sergio Lopes <slo...@gmail.com> wrote:
> > Excelent news! Specially to protect applications from cold start.
> > How can I configure WarmUp requests and Always On using Java?
>
> > Thanks and congratulations!
>
> > On Nov 18, 8:27 pm, "Ikai Lan (Google)" <ikai.l+gro...@google.com<ikai.l%2Bgro...@google.com>
> > google-appengi...@googlegroups.com<google-appengine%2Bunsubscrib e...@googlegroups.com>
> > .

aaron frank

unread,
Nov 18, 2010, 6:06:04 PM11/18/10
to google-a...@googlegroups.com
Or is there a prerelease location for the documentation?

gholler

unread,
Nov 18, 2010, 8:28:13 PM11/18/10
to Google App Engine
Really looking forward to this release. This will make a big
difference for my company's apps.
Thanks Googlers!

Sergio Lopes

unread,
Nov 18, 2010, 8:47:25 PM11/18/10
to Google App Engine
Since I'm too excited to wait, I opened the new appengine-web.xsd in
1.4.0-pre to see how to configure the new features. There is a new
<warmup-requests-enabled/> tag with a boolean value. Of course I tried
it but it gives me an error:

400 Bad Request
Error when loading application configuration:
Value 'warmup' for key ??? does not match expression '^(mail|
xmpp_message|rest|startup)$'

Hey, Ikai, teach us to use the new features please! :-)

风笑雪

unread,
Nov 18, 2010, 9:41:31 PM11/18/10
to google-a...@googlegroups.com
It's an amazing release, waiting for the docs.
----------
keakon


Karl R

unread,
Nov 18, 2010, 10:18:03 PM11/18/10
to Google App Engine
always on is *huge*

that, combined with the generally improved latency of datastore
queries of late extinguishes my feelings that perhaps I had made the
wrong choice to run our website on GAE

On Nov 18, 10:41 pm, 风笑雪 <kea...@gmail.com> wrote:
> It's an amazing release, waiting for the docs.
> ----------
> keakon
>
>
>
>
>
>
>
> On Fri, Nov 19, 2010 at 9:47 AM, Sergio Lopes <slo...@gmail.com> wrote:
> > Since I'm too excited to wait, I opened the new appengine-web.xsd in
> > 1.4.0-pre to see how to configure the new features. There is a new
> > <warmup-requests-enabled/> tag with a boolean value. Of course I tried
> > it but it gives me an error:
>
> > 400 Bad Request
> > Error when loading application configuration:
> > Value 'warmup' for key ??? does not match expression '^(mail|
> > xmpp_message|rest|startup)$'
>
> > Hey, Ikai, teach us to use the new features please! :-)
>
> > --
> > 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-a...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengi...@googlegroups.com<google-appengine%2Bunsubscrib e...@googlegroups.com>
> > .

Geoffrey Spear

unread,
Nov 18, 2010, 10:23:50 PM11/18/10
to Google App Engine
Sergio,

The prerelease SDKs are for the development server only; the
production servers won't support the features until the actual
release. You can't deploy with the new features enabled, and should
continue to use the current SDK for deployed applications.

George Moschovitis

unread,
Nov 19, 2010, 1:55:17 AM11/19/10
to Google App Engine
A great release!

thanks,
-g.

On Nov 19, 12:27 am, "Ikai Lan (Google)" <ikai.l+gro...@google.com>
wrote:
> Hey everyone,
>
> I just wanted to let everyone know that prerelease SDK 1.4.0 is out! Get it
> from the Google Code project:
> ...

Benjamin

unread,
Nov 19, 2010, 2:14:20 AM11/19/10
to google-a...@googlegroups.com
Really amazing.
Can't wait to see it release officially.

Julian Namaro

unread,
Nov 19, 2010, 2:52:03 AM11/19/10
to Google App Engine
Wow a lot of work packed there, congrats App Engine team!

I'm surprised about the new 10 minutes deadline on Cron and Task
Queues. A short while back you were explaining that long-running
requests are bad for the App Engine ecosystem. Is it not the case for
Task Queues or are you just confident that the system has improved
enough to handle it now ?

10 minutes is a lot of time. If it works out well it will open the
door to a lot of new possibilities :)


On Nov 19, 7:27 am, "Ikai Lan (Google)" <ikai.l+gro...@google.com>
wrote:

Droid

unread,
Nov 19, 2010, 3:23:24 AM11/19/10
to Google App Engine
Looking forward to always on feature which I will use immediately (and
pay for).
Please let me know when I can beta test or buy it.
DROID ( rodsit[at]gmail.com )

On Nov 18, 11:17 pm, "Ikai Lan (Google)" <ikai.l+gro...@google.com>
wrote:
> Always On will be a paid feature you enable in the admin console.
>
> I'll post some light sample code for channel API and warmup requests in a
> bit.
>
> --
> 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 Thu, Nov 18, 2010 at 3:11 PM, Sergio Lopes <slo...@gmail.com> wrote:
> > Excelent news! Specially to protect applications from cold start.
> > How can I configure WarmUp requests and Always On using Java?
>
> > Thanks and congratulations!
>
> > On Nov 18, 8:27 pm, "Ikai Lan (Google)" <ikai.l+gro...@google.com<ikai.l%2Bgro...@google.com>
> > google-appengi...@googlegroups.com<google-appengine%2Bunsubscrib e...@googlegroups.com>
> > .

Roberto Saccon

unread,
Nov 19, 2010, 4:06:14 AM11/19/10
to Google App Engine
Cool !

Has anybody figured out how to use the Channel Api and where to find
the JS files to do the clientside longpolling, iframe or whatever
comet stuff ?

I remember having played with the dance robot long time ago, that was
cool, but there there was a huge bloat load of Javascript (the whole
closure library) necessary to get it running. Is this still the
case ?

--
Roberto

Andrius A

unread,
Nov 19, 2010, 4:30:50 AM11/19/10
to google-a...@googlegroups.com
Wow wow! Thank you!

To unsubscribe from this group, send email to google-appengi...@googlegroups.com.

Sahid Orentino Ferdjaoui

unread,
Nov 19, 2010, 5:21:30 AM11/19/10
to google-a...@googlegroups.com
Very impressive!

Thank you

--
  .
 ..:

Brandon Thomson

unread,
Nov 19, 2010, 6:12:49 AM11/19/10
to google-a...@googlegroups.com
On Thu, Nov 18, 2010 at 5:27 PM, Ikai Lan (Google)
> - The deadline for Task Queue and Cron requests has been raised to 10
> minutes.

This is really great for background processing and timed tasks which
need greater than 1 minute resolution. Thank you!

John

unread,
Nov 19, 2010, 8:20:09 AM11/19/10
to Google App Engine
Wow, this great stuff, definitely looking forward to the channel api:)

Great job App Engine team!

On Nov 18, 5:27 pm, "Ikai Lan (Google)" <ikai.l+gro...@google.com>
> - The deadline for Task Queue and Cron requests has been raised to 10
> minutes.
> - The deadline for Task Queue and Cron requests has been raised to 10
> minutes.

Tapir

unread,
Nov 19, 2010, 9:27:40 AM11/19/10
to Google App Engine
I must say this release makes gae better than ec2!

On Nov 19, 6:27 am, "Ikai Lan (Google)" <ikai.l+gro...@google.com>

Sekhar Ravinutala

unread,
Nov 19, 2010, 11:14:25 AM11/19/10
to Google App Engine
Looks like a huge release, can't wait to check it out. Congrats and
thanks Google!

On Nov 18, 2:27 pm, "Ikai Lan (Google)" <ikai.l+gro...@google.com>

Ikai Lan (Google)

unread,
Nov 19, 2010, 1:07:23 PM11/19/10
to google-a...@googlegroups.com
Hi Julian,

Long running user facing requests are bad for the ecosystem, yes. Long running background tasks, however, can be placed into a different execution pool. Fast background tasks are placed into the same execution pool as your web facing requests.

The rule of thumb here is to create different queues for tasks you know will run fast (sub-second) and queues for slow running jobs.

--
Ikai Lan 
Developer Programs Engineer, Google App Engine



Ross M Karchner

unread,
Nov 19, 2010, 1:27:32 PM11/19/10
to google-a...@googlegroups.com
What are the consequences of a task being in the fast pool or the slow pool?

Ikai Lan (Google)

unread,
Nov 19, 2010, 1:33:22 PM11/19/10
to google-a...@googlegroups.com
Web requests share the fast pool, so there is a chance you can block all your web facing instances from serving web requests. Additionally, the latency is averaged when considering whether or not to autoscale your instances, so putting slow work in a fast queue would prevent App Engine from adding additional instances as needed.


--
Ikai Lan 
Developer Programs Engineer, Google App Engine



Matthew Blain

unread,
Nov 19, 2010, 1:55:11 PM11/19/10
to Google App Engine
SSL support for OpenID should be live now. There was an issue which
prevented it from being released at the same time as the 1.3.8 release
but that issue has since been fixed.

--Matthew

Zac Tolley

unread,
Nov 19, 2010, 2:33:13 PM11/19/10
to Google App Engine
Hey does this mean that we can finally deploy grails apps and not get
errors because its having to start up?

Adam Sah

unread,
Nov 19, 2010, 2:34:47 PM11/19/10
to Google App Engine
+1 this is amazing. We're partying over here, just seeing this:
quite literally, we were just about to rewrite code around the
1MB limit, timeouts, django, and more.

thank you thank you thank you,
adam

Ikai Lan (Google)

unread,
Nov 19, 2010, 2:41:54 PM11/19/10
to google-a...@googlegroups.com
Zac,

You shouldn't see errors on requests to your initial 3 instances. If your traffic grows at a semi linear pace, warmup requests will also start up instances before you need them and users should very rarely have their requests hit cold starts.

In our testing, we found that applications with extremely spiky traffic patterns (0-hundreds of QPS within seconds), while still benefitting from warmup requests, saw a higher frequency of users seeing cold starts. 

--
Ikai Lan 
Developer Programs Engineer, Google App Engine



On Fri, Nov 19, 2010 at 11:33 AM, Zac Tolley <z...@thetolleys.com> wrote:
Hey does this mean that we can finally deploy grails apps and not get
errors because its having to start up?

Zac Tolley

unread,
Nov 19, 2010, 4:27:09 PM11/19/10
to Google App Engine
sounds good. I was feeling torn between grails and pure python. On the
one hand grails gives you so much but ont he other hand its not cloud
friendly it seems. I was on the verge of having to goto EC2 for a new
app, if this works out I wont need to :)

Eugene D

unread,
Nov 19, 2010, 4:29:30 PM11/19/10
to Google App Engine
Fantastic release! Great work guys!!

On Nov 18, 11:27 pm, "Ikai Lan (Google)" <ikai.l+gro...@google.com>

nischalshetty

unread,
Nov 19, 2010, 10:24:40 PM11/19/10
to Google App Engine
WOW! Let me say that again, WOW! This month has been totally exciting
and full of pleasant surprises. And this seems to be going towards
being one of the best release ever!

Great work guys, keep it up.

-Nischal

Ross M Karchner

unread,
Nov 20, 2010, 8:22:10 AM11/20/10
to google-a...@googlegroups.com
Right now, I've basically been doing as little work as possible in a single task-

Fetching an iCal file in one task and persisting it, enqueueing a task to split it into single event snippets, and then each snippet gets processed in it's own task.

With a 10-minute task queue, I could easily do all of that in one fell swoop-- in fact, I could loop through some number of feeds in a single task.

The question I'm getting at: Is there still a reason to prefer lots of quick tasks over fewer, longer running tasks?

Jagan

unread,
Nov 21, 2010, 7:54:45 AM11/21/10
to Google App Engine
Hi

- The deadline for Task Queue and Cron requests has been raised to 10
minutes.

Do you mean that now each Task Queue and Cron request can run for 10
min, instead of the old 30 seconds limit??!

Jagan

On Nov 19, 3:27 am, "Ikai Lan (Google)" <ikai.l+gro...@google.com>

Jens Lundberg

unread,
Nov 21, 2010, 8:59:28 AM11/21/10
to Google App Engine
Hi,

I'm experience issues with the 1 Mb URL fetch limitation when I post
files with ResumableUpload against Google Docs (Resumable Upload is
using the URLfetch functionality in the lower layers). I'm a bit
confused though regarding the reqeust limit (1Mb) and response-limit
(32 Mb) in the 1.4.0 SDK. Will it mean that I will still have the 1 Mb
Issue when uploading from GAE to Google Docs, but I can download a 32
Mb file from Google Docs to GAE?

I just which that I could skip the ResumableUpload to Google Docs,
since I can't get it to work with the Python SDK.

I'm I right in the above desribed assumption, 1 Mb out from GAE and 32
Mb into GAE in a URL-fetch call? (Hope it's the other way around, but
it's probably not :)

Thank you for an exciting release... looking forward to the go-live,
any date?

Regards
/Jens

Vanni.T

unread,
Nov 21, 2010, 8:22:31 PM11/21/10
to google-a...@googlegroups.com
Great work, guys!
Really afraid to see a horrible uninformed anti-GAE post now #1 on Hacker News http://www.carlosble.com/?p=719
I can't believe my eyes.

Robert Kluin

unread,
Nov 21, 2010, 10:30:01 PM11/21/10
to google-a...@googlegroups.com
Some of his points are perfectly valid; there are issues that deserve
attention. I think one or two of the points are out-of-date (eg 1,000
entity limit and _soon_ the 30 second background limit!).

Of course, about 1/2 of the complaints would not have been a surprise
if they spent 5 minutes and read the introduction page. And
personally, after I did the getting started "tutorial," the first
thing I asked was "how do I use this database 'for real'," then
discovered many of the nuances -- don't really understand those
complaints. You don't buy a two door car then get pissed off because
it doesn't have four doors a month later.

Remy Gendron

unread,
Nov 22, 2010, 12:12:17 PM11/22/10
to Google App Engine
Just to be clear, is the deadline for starting up a new instance,
including from the warmup web hook, still at 30 seconds? Or is it 10
minutes as for the tasks and cron apis? One of the issues with cold
starts was to get heavier frameworks (Spring, Grails) up before the 30
seconds deadline.

DAndrea

unread,
Nov 20, 2010, 4:54:10 AM11/20/10
to Google App Engine
Fantastic release!

I wanted a clarification about URLFetch.
With a response size limit increased up to 32mb I also would expect a
new max deadline that seems not changed (10 seconds)
Thanks!

On Nov 18, 11:27 pm, "Ikai Lan (Google)" <ikai.l+gro...@google.com>

Haulyn R. Jason

unread,
Nov 21, 2010, 8:06:40 AM11/21/10
to google-a...@googlegroups.com
Nice work App Engine Team.




Ikai Lan (Google)

unread,
Nov 22, 2010, 1:20:57 PM11/22/10
to google-a...@googlegroups.com
Hey,

A couple of questions were brought up in this thread. I'll do my best to answer them:

- YES, task queues and cron jobs will now have a 10 minute limit, increased from 30 seconds. Note that you still want to favor lots of small, quick tasks when possible.

- I need to verify the behavior, but the reason you will want to prefer shorter tasks is because these are scaled along with your user facing tasks = higher task throughput. Scaling of slow tasks works differently and you will ultimately receive lower throughput for those jobs, so you'll want to reserve those queues for work where you get a lot of payoff for 10 minute tasks but don't need the 50/qps per queue throughput of fast running tasks.

- Yes, you will still have a 1mb limit upload limit.

- App Instance startup still has a 30 second limit. We've explored what it would take to change this, but it's our understanding that even the heaviest of heavy frameworks (Spring MVC) can initialize in under 30 seconds. You'll still want to favor lazy initialization when possible. Again, we need to do more exploration here. The long term solution may be to increase the initialization deadline. Right now we're unsure of what'll happen if we do this, and we're unsure of whether this will be a healthy decision for the serving infrastructure overall.

- The max deadline has not changed for URLFetch. There are lots of reasons to be optimistic, however. It's in our plans to remove limits where we can - and document the tradeoffs of doing so.

I don't have an ETA (do I ever?) for the release, but as with previous releases, the go-live date is usually in the ballpark of weeks after the prerelease SDK is posted. Just keep in mind that 1.4.0 is a HUGE undertaking, so I'd leave a little more runway for when it'll go live. As usual, testing the prerelease SDK and giving us your feedback helps us ship it faster.

Also - I saw the blog post. It's unfortunate, since the author of that post posted on the forums a few times and received a lot of help from both us and members of the community. I think it's easier to remember the negative. He sounded and still sounds like someone who knows what he is talking about, so if he couldn't find the documentation about limits, that means we can do a better job of surfacing them right after someone completes the "Guestbook" tutorial, because he's sure as heck not the only one who has/is/will be surprised by these limitations. I'll look more closely at his post and model either my own blog post or some official docs after it. I'll fiercely disagree with anyone that says App Engine is not a good platform for serious businesses or that Google doesn't invest in it. Of course we do: we launch stuff on App Engine all the time. There are small teams at Google just as there are large teams, and they come to App Engine for all the reasons you all do.

Hope this helps. Keep posting feedback. I'm seeing only 100-200 downloads of the prerelease SDKs, which you can download here:


--
Ikai Lan 
Developer Programs Engineer, Google App Engine



Tim Hoffman

unread,
Nov 22, 2010, 6:03:45 PM11/22/10
to Google App Engine
Instance startup is still 30 seconds.

I honestly think you need to rethink your platform stack if you can't
get you average startup
time (on a good day ;-) to less than 10 - 15sec.

Rgds

T

Vanni.T

unread,
Nov 22, 2010, 7:26:56 PM11/22/10
to google-a...@googlegroups.com
Hi Ikai,

about your prerelease feedback request, generally speaking we need a more direct way to suggest you SDK patches.

According to http://code.google.com/p/googleappengine/ we have to "post the code for the patch in the issue".
But nothing can help you evaluating soon those patches because they are hidden among thousands of issues without patches.
If a submitter could add a 'patch' label to the issue maybe it would be better.

For example, I submitted two (minor) new bugs with patch/fix and obviously they have still "new" status:

What is the GAE team preferred and effective source code SDK feedback path? I'm really glad to give my 2 (LOC) cents to the project, I am using it for my own first business project and I like FOSS so much!

Thank you,
Vanni

kovshenin

unread,
Nov 22, 2010, 2:36:19 PM11/22/10
to Google App Engine
> The deadline for Task Queue and Cron requests has been raised to 10 minutes.

This is great! They're still counting towards the CPU seconds limit,
right?

Ikai Lan (Google)

unread,
Nov 22, 2010, 9:05:08 PM11/22/10
to google-a...@googlegroups.com
If it's just 2 lines, you can post them in the group or create an issue and let us know.


--
Ikai Lan 
Developer Programs Engineer, Google App Engine



--

Viðar Svansson

unread,
Nov 23, 2010, 4:05:20 AM11/23/10
to google-a...@googlegroups.com
Thank you for a great release!

Heavy frameworks like Spring MVC can be loaded really fast if you
serialize the context into cache/datastore. Unfortunately this is not
easy to do and I don't know if SpringSource is planning on making it
easier.

A blog post like that was bound to be published sooner than later.
What we need now is a counter post ;)

Cheers,
Viðar

Constantine Vetoshev

unread,
Nov 23, 2010, 12:39:42 AM11/23/10
to Google App Engine
Ikai,

Now that the Channels API is open to everyone, do you know when we
might see some documentation for it? Just the javadocs would do for
now.

Thanks,
CV

Sandeep Koduri

unread,
Nov 23, 2010, 2:12:10 PM11/23/10