App Engine SDK 1.6.2 is out!

461 views
Skip to first unread message

Ikai Lan (Google)

unread,
Jan 31, 2012, 6:17:54 PM1/31/12
to Google App Engine
Hey everyone,

Just wanted to announce that App Engine 1.6.2 is out! You can check out the blog post here:


Note that if you're getting an import error for task queues, you're probably still using the old labs import. You'll want to get this cleared up (you'll also want to pay attention to deprecation warnings).

Release notes are below for your reading pleasure:

Java 1.6.2
------------------
  • The Admin Console Datastore Admin has added experimental backup and restore functionality. The job occurs within your application and counts against your application quota, including Instance Hours, Datastore Ops and Datastore Storage.
  • Developers can now specify how long a channel token will last until it expires, with the default remaining two hours. Channel API quota is now measured both in calls to create a channel and the number of hours of channel time requested. The maximum hours of quota is the maximum number of channel creation calls * 2, so free apps get 200 hours of requested channel token time.
  • Task Queue API requests now include a X-Appengine-TaskETA header, that can be used to measure task delivery latency.
  • We have removed the deprecated labs version of the TaskQueue API.
  • The default API deadlines for Blobstore API calls have been raised to 15s for online and 30s for offline requests, up from 5s.
  • The Images API now allows you to stretch an image without maintaining the aspect ratio.
  • Mail Quota for App Engine apps that have signed up for billing will only be increased after the first payment for the app is processed.
  • Fixed an issue where the SDK did not resize images down to 512 pixels by default, as it does in production.
  • Fixed an issue with the Images API where valid images were returning a NotImageError.

Python 1.6.2
--------------------
  • The Admin Console Datastore Admin has added experimental backup and restore functionality. The job occurs within your application and counts against your application quota, including Instance Hours, Datastore Ops and Datastore Storage.
  • Developers can now specify how long a channel token will last until it expires, with the default remaining two hours. Channel API quota is now measured both in calls to create a channel and the number of hours of channel time requested. The maximum hours of quota is the maximum number of channel creation calls * 2, so free apps get 200 hours of requested channel token time.
  • Python Django now work with Cloud SQL without additional configuration. For further information seehttps://developers.google.com/cloud-sql/.
  • Task Queue API requests now include a X-Appengine-TaskETA header, that can be used to measure task delivery latency.
  • The default API deadlines for Blobstore API calls have been raised to 15s for online and 30s for offline requests, up from 5s.
  • The Images API now allows you to stretch an image without maintaining the aspect ratio.
  • The Blobstore API now includes the asynchronous function calls create_upload_url_async, delete_async, and fetch_data_async.
  • Django version 1.3 is now available in the Python 2.5 runtime.
  • We've added a django_wsgi builtin to allow easier bootstrapping of Django applications.
  • Mail Quota for App Engine apps that have signed up for billing will only be increased after the first payment for the app is processed.
  • As announced in 1.6.1, in this release for the experimental Python 2.7 runtime, the mapreduce and datastore_admin builtins are not available to apps deployed to Python 2.7.
  • Fixed an issue with remote_api where calling fetch_page() with a page size of 301 and chaining the calls through the returned cursor was skipping half of the results.
  • Fixed an issue where the PIL _imagingmath module was not available in Python 2.7.
  • Fixed an issue where the SDK did not resize images down to 512 pixels by default, as it does in production.
  • Fixed an issue with the Images API where valid images were returning a NotImageError.
  • Fixed an issue where the SDK didn't start when using Python 2.7 and the --backends flag.
  • Fixed an issue where Jinja2 was not included in the SDK for use with Python 2.7.
  • Fixed an issue with the sql datastore stub in Python 2.7 where the sqlite module no longer accepted strings with non-ASCII characters.
  • Fixed an issue where gzip did not work with Python 2.7 in the dev_appserver.
  • Fixed an issue where urllib2 did not work with Python 2.7.
  • Fixed an error in the Datastore Viewer where an error was thrown when viewing an Entity which defines an index with no properties.
  • Fixed an issue where transactional tasks were not enqueued in the SDK when running in high_replication mode.

--
Ikai Lan 
Developer Programs Engineer, Google App Engine

Kyle Finley

unread,
Jan 31, 2012, 8:32:11 PM1/31/12
to google-a...@googlegroups.com
Ikai, 

Would you mind clarifying the changes to the Channel API? From the Pre-release statement It appeared that the quota was being changed to be automatically measured in terms of minutes a channel has been open, instead of channels created. 

Your release notes, however, seem to indicate that the current metrics are still in place, but developers now have the ability to change the expiration.

Does this mean that we will still need to reuse channels, in order to decrease cost? I was hoping that this complexity was being removed.

And if so, are all channels priced the same? I.e. a channel that expires in 1 min costs the same as a channel the expires in 200min?

Thank you for the updates.

- Kyle

Chris Collins

unread,
Jan 31, 2012, 11:07:13 PM1/31/12
to google-a...@googlegroups.com
Backups! Pure awesomeness.

Chris Collins

unread,
Jan 31, 2012, 11:56:09 PM1/31/12
to google-a...@googlegroups.com
Is it possible to download the blob of backup data to examine it or load it on the development server?

James Broberg

unread,
Feb 1, 2012, 1:42:29 AM2/1/12
to google-a...@googlegroups.com
I noticed datanucleus-appengine 2.0.0-final has been released also:
http://code.google.com/p/datanucleus-appengine/downloads/list

Was this part of 1.6.2? If not, when will it be part of the main SDK package?

On 1 February 2012 15:56, Chris Collins <xop...@gmail.com> wrote:
> Is it possible to download the blob of backup data to examine it or load it
> on the development server?
>

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

Pieter Coucke

unread,
Feb 1, 2012, 7:05:17 AM2/1/12
to google-a...@googlegroups.com
Is there an API or other method to trigger backups with a cron?

--
Pieter Coucke
Onthoo BVBA - zamtam.com

sebastián serrano

unread,
Feb 1, 2012, 8:20:31 AM2/1/12
to google-a...@googlegroups.com
Python Django now work with Cloud SQL without additional configuration!!!! So cool.

Thanks!!!

Cezary Wagner

unread,
Feb 1, 2012, 9:49:32 AM2/1/12
to Google App Engine

Melanie Siekmöller

unread,
Feb 1, 2012, 10:18:58 AM2/1/12
to google-a...@googlegroups.com
be carefull with backups, maybe your app reaches the free quota limit...

WGuerlich

unread,
Feb 1, 2012, 10:35:36 AM2/1/12
to google-a...@googlegroups.com
The backup feature is great! But having backups not only by entity kind but also by namespace would be uber-awesome.

Moishe

unread,
Feb 1, 2012, 1:17:48 PM2/1/12
to google-a...@googlegroups.com
Unfortunately the initial release notes were incorrect about measuring the quota. Current metrics are still in place, but developers can change the expiration.

Over time we will switch over to removing the 'create' quota and billing and bill/assign quota by minutes only. However minutes will stay as "minutes requested" rather than "minutes consumed" for the foreseeable future.

-Moishe

Kyle Finley

unread,
Feb 1, 2012, 2:36:14 PM2/1/12
to google-a...@googlegroups.com
Thank you for your reply Moishe.

It's good to know that the "create" quote is on it's way out.

I'm not sure that charging by "minutes requested" apposed to "minutes consumed" actually solves the problem, thought. Instead of reusing one "long lived channel" developers will be forced to create many "short lived channels", unless there's some financial deterrent in doing so.

Also, charging by "minutes requested" seems contrary to App Engine philosophy of pay for the resources you use, and more like a cell phone plan, which relies on people purchasing based on least surprise. I don't see the later translating well in this environment, however. I can't imagine a developer paying for excess minutes, just to prevent a disconnect by app engine, when they would have to prepare for this anyways.

In my mind the ideal solution would better mirror web sockets. Where I don't need to decide a head of time how long a user might decide to say on my site.

If there is an increased cost associated with the channel creation, on your end, I personally wouldn't be apposed to a minimum minute expiration ( much like the 15min instance minimum ).

Thanks for listening,

Kyle

Ron

unread,
Feb 1, 2012, 4:04:29 PM2/1/12
to Google App Engine
why is Django 1.3 not available with Python 2.7 ?

and will Django non-rel be available in a future release?

On Jan 31, 11:17 pm, "Ikai Lan (Google)" <ika...@google.com> wrote:
> Hey everyone,
>
> Just wanted to announce that App Engine 1.6.2 is out! You can check out the
> blog post here:
>
> http://googleappengine.blogspot.com/2012/01/app-engine-162-released.html
>
> Note that if you're getting an import error for task queues, you're
> probably still using the old labs import. You'll want to get this cleared
> up (you'll also want to pay attention to deprecation warnings).
>
> Release notes are below for your reading pleasure:
>
> *Java 1.6.2*
> ------------------
>
>    - The Admin Console Datastore Admin has added experimental backup and
>    restore functionality. The job occurs within your application and counts
>    against your application quota, including Instance Hours, Datastore Ops and
>    Datastore Storage.
>    - Developers can now specify how long a channel token will last until it
>    expires, with the default remaining two hours. Channel API quota is now
>    measured both in calls to create a channel and the number of hours of
>    channel time requested. The maximum hours of quota is the maximum number of
>    channel creation calls * 2, so free apps get 200 hours of requested
>    channel token time.
>    - Task Queue API requests now include a X-Appengine-TaskETA header, that
>    can be used to measure task delivery latency.
>    - We have removed the deprecated labs version of the TaskQueue API.
>    - The default API deadlines for Blobstore API calls have been raised to
>    15s for online and 30s for offline requests, up from 5s.
>    - The Images API now allows you to stretch an image without maintaining
>    the aspect ratio.
>       -http://code.google.com/p/googleappengine/issues/detail?id=2220
>    - Mail Quota for App Engine apps that have signed up for billing will
>    only be increased after the first payment for the app is processed.
>    - Fixed an issue where the SDK did not resize images down to 512 pixels
>    by default, as it does in production.
>    - Fixed an issue with the Images API where valid images were returning a
>    NotImageError.
>       -http://code.google.com/p/googleappengine/issues/detail?id=5545
>
> *Python 1.6.2*
> --------------------
>
>    - The Admin Console Datastore Admin has added experimental backup and
>    restore functionality. The job occurs within your application and counts
>    against your application quota, including Instance Hours, Datastore Ops and
>    Datastore Storage.
>    - Developers can now specify how long a channel token will last until it
>    expires, with the default remaining two hours. Channel API quota is now
>    measured both in calls to create a channel and the number of hours of
>    channel time requested. The maximum hours of quota is the maximum number of
>    channel creation calls * 2, so free apps get 200 hours of requested
>    channel token time.
>    - Python Django now work with Cloud SQL without additional
>    configuration. For further information see
>    https://developers.google.com/cloud-sql/.
>    - Task Queue API requests now include a X-Appengine-TaskETA header, that
>    can be used to measure task delivery latency.
>    - The default API deadlines for Blobstore API calls have been raised to
>    15s for online and 30s for offline requests, up from 5s.
>    - The Images API now allows you to stretch an image without maintaining
>    the aspect ratio.
>       -http://code.google.com/p/googleappengine/issues/detail?id=2220
>    - The Blobstore API now includes the asynchronous function calls
>    create_upload_url_async, delete_async, and fetch_data_async.
>    - Django version 1.3 is now available in the Python 2.5 runtime.
>    - We've added a django_wsgi builtin to allow easier bootstrapping of
>    Django applications.
>    - Mail Quota for App Engine apps that have signed up for billing will
>    only be increased after the first payment for the app is processed.
>    - As announced in 1.6.1, in this release for the experimental Python 2.7
>    runtime, the mapreduce and datastore_admin builtins are not available to
>    apps deployed to Python 2.7.
>    - Fixed an issue with remote_api where calling fetch_page() with a page
>    size of 301 and chaining the calls through the returned cursor was skipping
>    half of the results.
>    - Fixed an issue where the PIL _imagingmath module was not available in
>    Python 2.7.
>    - Fixed an issue where the SDK did not resize images down to 512 pixels
>    by default, as it does in production.
>    - Fixed an issue with the Images API where valid images were returning a
>    NotImageError.
>       -http://code.google.com/p/googleappengine/issues/detail?id=5545
>    - Fixed an issue where the SDK didn't start when using Python 2.7 and
>    the --backends flag.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6187
>    - Fixed an issue where Jinja2 was not included in the SDK for use with
>    Python 2.7.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6265
>    - Fixed an issue with the sql datastore stub in Python 2.7 where the
>    sqlite module no longer accepted strings with non-ASCII characters.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6290
>    - Fixed an issue where gzip did not work with Python 2.7 in the
>    dev_appserver.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6324
>    - Fixed an issue where urllib2 did not work with Python 2.7.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6567
>    - Fixed an error in the Datastore Viewer where an error was thrown when
>    viewing an Entity which defines an index with no properties.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6600
>    - Fixed an issue where transactional tasks were not enqueued in the SDK
>    when running in high_replication mode.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6669

Brian Quinlan

unread,
Feb 1, 2012, 5:55:51 PM2/1/12
to google-a...@googlegroups.com
Hi Ron,

On Thu, Feb 2, 2012 at 8:04 AM, Ron <rc...@bonline.com> wrote:
> why is Django 1.3 not available with Python 2.7 ?

Before Python 2.7's official release we want to maximize the amount of
testing that its existing libraries get instead of adding new ones.

> and will Django non-rel be available in a future release?

We generally don't commit to packaging new libraries but you can use
Django nonrel right now by downloading it yourself and putting it in
your application's directory.

Cheers,
Brian

Chris Collins

unread,
Feb 1, 2012, 9:09:23 PM2/1/12
to google-a...@googlegroups.com
Namespace backups would be pure awesomeness. Or some way to automate the backups. It seems you have to backup each entity manually at the moment?

On Wed, Feb 1, 2012 at 10:35 AM, WGuerlich <w.gue...@gmail.com> wrote:
The backup feature is great! But having backups not only by entity kind but also by namespace would be uber-awesome.

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/yd8HVGZPREsJ.

Brandon Wirtz

unread,
Feb 1, 2012, 9:12:44 PM2/1/12
to google-a...@googlegroups.com

I want Drop Table.

 

Can I restore empty table?

 

 

Brandon Wirtz
BlackWaterOps: President / Lead Mercenary

Description: http://www.linkedin.com/img/signature/bg_slate_385x42.jpg

Work: 510-992-6548
Toll Free: 866-400-4536

IM: dra...@gmail.com (Google Talk)
Skype: drakegreene
YouTube: BlackWaterOpsDotCom

BlackWater Ops

Cloud On A String Mastermind Group


image001.jpg

Timofey Koolin

unread,
Feb 2, 2012, 12:13:58 AM2/2/12
to google-a...@googlegroups.com
You can delete all items of any kind from datastore admin.

2012/2/2 Brandon Wirtz <dra...@digerat.com>



--
Blog: www.rekby.ru
image001.jpg

Brandon Wirtz

unread,
Feb 2, 2012, 12:27:21 AM2/2/12
to google-a...@googlegroups.com

It can take days.

image002.jpg
image003.jpg

Robert Kluin

unread,
Feb 2, 2012, 12:38:13 AM2/2/12
to google-a...@googlegroups.com
I wrote a simple task-based script that can delete a few tens of millions of entities within a few hours.  So I'd suggest just writing something.


Robert
image003.jpg
image002.jpg

Brandon Wirtz

unread,
Feb 2, 2012, 1:07:40 AM2/2/12
to google-a...@googlegroups.com

Yeah, we have a something, I don’t like it. I need to password it, and ad a confirmation, and a bunch of stuff. Plus, we have a use case where we actually want a Flush every things NOW button.  That the SQL version of our code does really well. And we can’t quite find an analog for in GQL

image001.jpg
image002.jpg

Robert Kluin

unread,
Feb 2, 2012, 1:11:01 AM2/2/12
to google-a...@googlegroups.com
WTF, a confirmation?  Coward.

I'd also like to see a magic "reset" button, especially one that was fast and didn't cost a fortune.  Would sure be nice for testing purposes.


Robert
image001.jpg
image002.jpg

Brandon Wirtz

unread,
Feb 2, 2012, 1:18:38 AM2/2/12
to google-a...@googlegroups.com

The version I have goes like this.

 

Yourapp.appspot.com/psuedodroptable/Name

 

Then the code logic says

For all batches of maximum size

delete async

Next batch

 

We ran it the person hitting it’s Chrome crashed an hour later (unrelated)  they came back in the morning Got the “Chrome has crashed would you like to restore?” “Yes why note”  and they deleted all the data we had spent 18 hours putting in to the system…  well not all the data, since we were still loading it, so new data wasn’t deleted cause it wasn’t in the batch J

image001.jpg
image002.jpg

Robert Kluin

unread,
Feb 2, 2012, 1:41:17 AM2/2/12
to google-a...@googlegroups.com
Ouch.

By the way, a faster pattern looks like this:

while there's stuff to delete:
  do a keys only query (using a cursor to continue)
  insert one or more tasks to delete those keys
  insert a task and break from the while to continue if there are still more to delete (to prevent deadline errors)

You can speed that up further by sharding the key space in the keys only query, which will yield better parallelism.


Robert
image002.jpg
image001.jpg

Brandon Wirtz

unread,
Feb 2, 2012, 1:57:43 AM2/2/12
to google-a...@googlegroups.com

We aren’t real bright here… We didn’t do much with tasks until recently J  We knew we should but to make our code work on multiple platforms we had avoided it. Now we are starting to branch our code so that functions detect which platform they are on and to things better.  So we will look in to using your logic.

image001.jpg
image002.jpg

Joshua Smith

unread,
Feb 2, 2012, 11:04:44 AM2/2/12
to google-a...@googlegroups.com
How about using namespaces. Change the namespace to a new UUID and instantly all the old data vanishes. Then use tasks to clean out the old namespace in a CPU/Usage $-optimizing manner.

On Feb 2, 2012, at 1:07 AM, Brandon Wirtz wrote:

Yeah, we have a something, I don’t like it. I need to password it, and ad a confirmation, and a bunch of stuff. Plus, we have a use case where we actually want a Flush every things NOW button.  That the SQL version of our code does really well. And we can’t quite find an analog for in GQL
 
Brandon Wirtz 
BlackWaterOps: President / Lead Mercenary
<image001.jpg>
Work: 510-992-6548 
Toll Free: 866-400-4536
IM: dra...@gmail.com (Google Talk) 
Skype: drakegreene 
YouTube: BlackWaterOpsDotCom 

 
 
From: google-a...@googlegroups.com [mailto:google-a...@googlegroups.com] On Behalf Of Robert Kluin
Sent: Wednesday, February 01, 2012 9:38 PM
To: google-a...@googlegroups.com
Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
 
I wrote a simple task-based script that can delete a few tens of millions of entities within a few hours.  So I'd suggest just writing something.


Robert
 
On Thu, Feb 2, 2012 at 00:27, Brandon Wirtz <dra...@digerat.com> wrote:
It can take days.
 
Brandon Wirtz 
BlackWaterOps: President / Lead Mercenary
<image002.jpg>
Work: 510-992-6548 
Toll Free: 866-400-4536

IM: dra...@gmail.com (Google Talk) 
Skype: drakegreene 
YouTube: BlackWaterOpsDotCom

BlackWater Ops 

Cloud On A String Mastermind Group

From: google-a...@googlegroups.com [mailto:google-a...@googlegroups.com] On Behalf Of Timofey Koolin
Sent: Wednesday, February 01, 2012 9:14 PM

To: google-a...@googlegroups.com
Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
 

You can delete all items of any kind from datastore admin.

2012/2/2 Brandon Wirtz <dra...@digerat.com>
I want Drop Table.
 
Can I restore empty table?
 
 
Brandon Wirtz 
BlackWaterOps: President / Lead Mercenary
<image002.jpg>

Johan Euphrosine

unread,
Feb 2, 2012, 11:17:22 AM2/2/12
to google-a...@googlegroups.com
On Thu, Feb 2, 2012 at 7:11 AM, Robert Kluin <robert...@gmail.com> wrote:
WTF, a confirmation?  Coward.

I'd also like to see a magic "reset" button, especially one that was fast and didn't cost a fortune.  Would sure be nice for testing purposes.


Did you already filled a feature request for that?



--
Johan Euphrosine (proppy)
Developer Programs Engineer
Google Developer Relations
image002.jpg
image001.jpg

Brandon Wirtz

unread,
Feb 2, 2012, 11:21:43 AM2/2/12
to google-a...@googlegroups.com

I guess, but then we’d have to configure that. And Store it, and remember which one we are using.  We are going to start serializing configs to reduce the reads, and when we do that this would be a more viable option.

 

Just listing other things we have done… We set a “Max age” since we use an expiration on our data, we assumed that everything after a certain time was new format data, and everything before was old format data.   We let the overwrites happen for a few days then do the delete of anything with a date before X.

 

This is the cheapest method we have found, but it takes time to fully propagate.

 

Brandon Wirtz
BlackWaterOps: President / Lead Mercenary

Description: http://www.linkedin.com/img/signature/bg_slate_385x42.jpg

image003.jpg

Joshua Smith

unread,
Feb 2, 2012, 11:30:02 AM2/2/12
to google-a...@googlegroups.com
On Feb 2, 2012, at 11:21 AM, Brandon Wirtz wrote:

I guess, but then we’d have to configure that. And Store it, and remember which one we are using.

What is that, like 3 lines of code?

Probably take less time to write than the email you sent saying why you didn't want to do it :)

-Joshua

Brandon Wirtz

unread,
Feb 2, 2012, 11:42:47 AM2/2/12
to google-a...@googlegroups.com

It is a Read every time the code runs.

I’m working on reading once a day. That is my goal in life. To serve 12 QPS  all day every day with in the free quota. (I am closer than you might think)

 

Brandon Wirtz
BlackWaterOps: President / Lead Mercenary

Description: http://www.linkedin.com/img/signature/bg_slate_385x42.jpg

Work: 510-992-6548
Toll Free: 866-400-4536

IM: dra...@gmail.com (Google Talk)
Skype: drakegreene
YouTube: BlackWaterOpsDotCom

BlackWater Ops

Cloud On A String Mastermind Group


 

 

From: google-a...@googlegroups.com [mailto:google-a...@googlegroups.com] On Behalf Of Joshua Smith
Sent: Thursday, February 02, 2012 8:30 AM
To: google-a...@googlegroups.com
Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!

 

On Feb 2, 2012, at 11:21 AM, Brandon Wirtz wrote:

--

image001.jpg

Cezary Wagner

unread,
Feb 2, 2012, 12:40:04 PM2/2/12
to Google App Engine
Brandon, please cut message tail since it not readable/repetition -
your tail is longer than response near 100 times :)

On Feb 2, 7:57 am, "Brandon Wirtz" <drak...@digerat.com> wrote:
> We aren't real bright here. We didn't do much with tasks until recently J
> We knew we should but to make our code work on multiple platforms we had
> avoided it. Now we are starting to branch our code so that functions detect
> which platform they are on and to things better.  So we will look in to
> using your logic.
>
> Brandon Wirtz
> BlackWaterOps: President / Lead Mercenary
> IM: drak...@gmail.com (Google Talk)
> Skype: drakegreene
> YouTube:  <http://www.youtube.com/blackwateropsdotcom> BlackWaterOpsDotCom
>
>  <http://www.blackwaterops.com/> BlackWater Ops
>
>  <http://www.cloudonastring.com/> Cloud On A String Mastermind Group
>
> From: google-a...@googlegroups.com
> [mailto:google-a...@googlegroups.com] On Behalf Of Robert Kluin
> Sent: Wednesday, February 01, 2012 10:41 PM
> To: google-a...@googlegroups.com
> Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
>
> Ouch.
>
> By the way, a faster pattern looks like this:
>
> while there's stuff to delete:
>   do a keys only query (using a cursor to continue)
>   insert one or more tasks to delete those keys
>   insert a task and break from the while to continue if there are still more
> to delete (to prevent deadline errors)
>
> You can speed that up further by sharding the key space in the keys only
> query, which will yield better parallelism.
>
> Robert
>
> On Thu, Feb 2, 2012 at 01:18, Brandon Wirtz <drak...@digerat.com> wrote:
>
> The version I have goes like this.
>
> Yourapp.appspot.com/psuedodroptable/Name
>
> Then the code logic says
> For all batches of maximum size
> delete async
> Next batch
>
> We ran it the person hitting it's Chrome crashed an hour later (unrelated)
> they came back in the morning Got the "Chrome has crashed would you like to
> restore?" "Yes why note"  and they deleted all the data we had spent 18
> hours putting in to the system.  well not all the data, since we were still
> loading it, so new data wasn't deleted cause it wasn't in the batch J
>
> Brandon Wirtz
> BlackWaterOps: President / Lead Mercenary
> IM: drak...@gmail.com (Google Talk)
> Skype: drakegreene
> YouTube:  <http://www.youtube.com/blackwateropsdotcom> BlackWaterOpsDotCom
>  <http://www.blackwaterops.com/> BlackWater Ops
>
>  <http://www.cloudonastring.com/> Cloud On A String Mastermind Group
>
> From: google-a...@googlegroups.com
> [mailto:google-a...@googlegroups.com] On Behalf Of Robert Kluin
> Sent: Wednesday, February 01, 2012 10:11 PM
>
> To: google-a...@googlegroups.com
> Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
>
> WTF, a confirmation?  Coward.
>
> I'd also like to see a magic "reset" button, especially one that was fast
> and didn't cost a fortune.  Would sure be nice for testing purposes.
>
> Robert
>
> On Thu, Feb 2, 2012 at 01:07, Brandon Wirtz <drak...@digerat.com> wrote:
>
> Yeah, we have a something, I don't like it. I need to password it, and ad a
> confirmation, and a bunch of stuff. Plus, we have a use case where we
> actually want a Flush every things NOW button.  That the SQL version of our
> code does really well. And we can't quite find an analog for in GQL
>
> Brandon Wirtz
> BlackWaterOps: President / Lead Mercenary
> IM: drak...@gmail.com (Google Talk)
> Skype: drakegreene
> YouTube:  <http://www.youtube.com/blackwateropsdotcom> BlackWaterOpsDotCom
>  <http://www.blackwaterops.com/> BlackWater Ops
>
>  <http://www.cloudonastring.com/> Cloud On A String Mastermind Group
>
> From: google-a...@googlegroups.com
> [mailto:google-a...@googlegroups.com] On Behalf Of Robert Kluin
> Sent: Wednesday, February 01, 2012 9:38 PM
>
> To: google-a...@googlegroups.com
> Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
>
> I wrote a simple task-based script that can delete a few tens of millions of
> entities within a few hours.  So I'd suggest just writing something.
>
> Robert
>
> On Thu, Feb 2, 2012 at 00:27, Brandon Wirtz <drak...@digerat.com> wrote:
>
> It can take days.
>
> Brandon Wirtz
> BlackWaterOps: President / Lead Mercenary
> IM: drak...@gmail.com (Google Talk)
> Skype: drakegreene
> YouTube:  <http://www.youtube.com/blackwateropsdotcom> BlackWaterOpsDotCom
>  <http://www.blackwaterops.com/> BlackWater Ops
>
>  <http://www.cloudonastring.com/> Cloud On A String Mastermind Group
>
> From: google-a...@googlegroups.com
> [mailto:google-a...@googlegroups.com] On Behalf Of Timofey Koolin
> Sent: Wednesday, February 01, 2012 9:14 PM
>
> To: google-a...@googlegroups.com
> Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
>
> You can delete all items of any kind from datastore admin.
> 2012/2/2 Brandon Wirtz <drak...@digerat.com>
> I want Drop Table.
>
> Can I restore empty table?
>
> Brandon Wirtz
> BlackWaterOps: President / Lead Mercenary
> IM: drak...@gmail.com (Google Talk)
> Skype: drakegreene
> YouTube:  <http://www.youtube.com/blackwateropsdotcom> BlackWaterOpsDotCom
>  <http://www.blackwaterops.com/> BlackWater Ops
>
>  <http://www.cloudonastring.com/> Cloud On A String Mastermind Group
>
> From: google-a...@googlegroups.com
> [mailto:google-a...@googlegroups.com] On Behalf Of Chris Collins
> Sent: Wednesday, February 01, 2012 6:09 PM
> To: google-a...@googlegroups.com
> Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
>
> Namespace backups would be pure awesomeness. Or some way to automate the
> backups. It seems you have to backup each entity manually at the moment?On Wed, Feb 1, 2012 at 10:35 AM, WGuerlich <w.guerl...@gmail.com> wrote:
>
> The backup feature is great! But having backups not only by entity kind but
> also by namespace would be uber-awesome.
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visithttps://groups.google.com/d/msg/google-appengine/-/yd8HVGZPREsJ.
>
> To post to this group, send email to google-a...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> 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 athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> Blog:www.rekby.ru
> --
> 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 athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> 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 athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> 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 athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> 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 ...
>
> read more »
>
>  image001.jpg
> < 1KViewDownload
>
>  image002.jpg
> < 1KViewDownload

Bruno Antunes

unread,
Feb 2, 2012, 2:40:00 PM2/2/12
to google-a...@googlegroups.com
are any plans to include EJB and java EE stack in GAE??

Thanks 

Jeff Schnitzer

unread,
Feb 2, 2012, 6:27:14 PM2/2/12
to google-a...@googlegroups.com
On Thu, Feb 2, 2012 at 2:40 PM, Bruno Antunes <bmvan...@gmail.com> wrote:
> are any plans to include EJB and java EE stack in GAE??

You're joking, right?

Jeff

James Broberg

unread,
Feb 2, 2012, 7:22:31 PM2/2/12
to google-a...@googlegroups.com
I think it's due right after GAE for Cobol.

Bruno Antunes

unread,
Feb 2, 2012, 8:07:50 PM2/2/12
to google-a...@googlegroups.com
no I'm serious, what's the joke for you?
I think Java EE is important for the actual java Apps. I think Spring and everything else is cool, but java EE in gae would be awesome!



2012/2/3 James Broberg <jbro...@gmail.com>



--
Cumprimentos,
Bruno Antunes.

James Broberg

unread,
Feb 2, 2012, 8:46:59 PM2/2/12
to google-a...@googlegroups.com
It would be good but very challenging I suspect to get it to scale
with the more heavyweight parts of J2EE.

Jeff Schnitzer

unread,
Feb 2, 2012, 9:03:37 PM2/2/12
to google-a...@googlegroups.com
On Thu, Feb 2, 2012 at 8:07 PM, Bruno Antunes <bmvan...@gmail.com> wrote:
> no I'm serious, what's the joke for you?
> I think Java EE is important for the actual java Apps. I think Spring and
> everything else is cool, but java EE in gae would be awesome!

Wow. Ok.

The problem is that GAE's transactional model is very badly mismatched
to EJB's transactional model, even with XG transactions. You could,
in theory, make it work - but it would be very, very rough. If you
want a quick lesson, try turning off the "disable automatic
transactions" property in datanucleus (<property
name="datanucleus.NontransactionalRead" value="false"/><property
name="datanucleus.NontransactionalWrite" value="false/>, I believe).

I actually rather like working with EJB3 when working with RDBMSes,
but I really couldn't imagine using them on GAE or any other kind of
clustered database system.

Jeff

Bruno Antunes

unread,
Feb 2, 2012, 9:05:01 PM2/2/12
to google-a...@googlegroups.com
I know it is hard, but RedHat will have (or have right now) their own java EE app server in the cloud... so I think it is a natural move for google in the future (2 or 3 years from now...)

2012/2/3 James Broberg <jbro...@gmail.com>



--
Cumprimentos,
Bruno Antunes.

Bruno Antunes

unread,
Feb 2, 2012, 9:08:03 PM2/2/12
to google-a...@googlegroups.com
And don't forget, google has Google Cloud SQL... so I think that it makes sense in a """"near"""" future...

2012/2/3 Bruno Antunes <bmvan...@gmail.com>



--
Cumprimentos,
Bruno Antunes.

Robert Kluin

unread,
Feb 3, 2012, 2:08:21 AM2/3/12
to google-a...@googlegroups.com
I think I've stared or filed a similar request in the past.

I think there is also an issue to give us a way to mark entities as "ready to delete," then have some super-deleter wipe them and their corresponding indexes out in the background.  (We could filter deleted entities out in code ourselves.)

I was not able to find either of them at the moment.  :/

Robert
image002.jpg
image001.jpg

Cezary Wagner

unread,
Feb 3, 2012, 12:20:15 PM2/3/12
to Google App Engine
Brandom, please cut message tails since it not readable :)

http://groups.google.com/group/google-appengine/browse_thread/thread/986e19cd7366a655

Example:

We aren't real bright here. We didn't do much with tasks until
recently J
We knew we should but to make our code work on multiple platforms we
had
avoided it. Now we are starting to branch our code so that functions
detect
which platform they are on and to things better. So we will look in
to
using your logic.
Brandon Wirtz
BlackWaterOps: President / Lead Mercenary
IM: drak...@gmail.com (Google Talk)
Skype: drakegreene
YouTube: <http://www.youtube.com/blackwateropsdotcom>
BlackWaterOpsDotCom
<http://www.blackwaterops.com/> BlackWater Ops
<http://www.cloudonastring.com/> Cloud On A String Mastermind Group
From: google-a...@googlegroups.com
[mailto:google-a...@googlegroups.com] On Behalf Of Robert Kluin
Sent: Wednesday, February 01, 2012 10:41 PM
To: google-a...@googlegroups.com
Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
Ouch.
By the way, a faster pattern looks like this:
while there's stuff to delete:
do a keys only query (using a cursor to continue)
insert one or more tasks to delete those keys
insert a task and break from the while to continue if there are
still more
to delete (to prevent deadline errors)
You can speed that up further by sharding the key space in the keys
only
query, which will yield better parallelism.
Robert
On Thu, Feb 2, 2012 at 01:18, Brandon Wirtz <drak...@digerat.com>
wrote:

The version I have goes like this.
Yourapp.appspot.com/psuedodroptable/Name
Then the code logic says
For all batches of maximum size
delete async
Next batch
We ran it the person hitting it's Chrome crashed an hour later
(unrelated)
they came back in the morning Got the "Chrome has crashed would you
like to
restore?" "Yes why note" and they deleted all the data we had spent
18
hours putting in to the system. well not all the data, since we were
still
loading it, so new data wasn't deleted cause it wasn't in the batch J
Brandon Wirtz
BlackWaterOps: President / Lead Mercenary
IM: drak...@gmail.com (Google Talk)
Skype: drakegreene
YouTube: <http://www.youtube.com/blackwateropsdotcom>
BlackWaterOpsDotCom
<http://www.blackwaterops.com/> BlackWater Ops
<http://www.cloudonastring.com/> Cloud On A String Mastermind Group
From: google-a...@googlegroups.com
[mailto:google-a...@googlegroups.com] On Behalf Of Robert Kluin
Sent: Wednesday, February 01, 2012 10:11 PM
To: google-a...@googlegroups.com
Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
WTF, a confirmation? Coward.
I'd also like to see a magic "reset" button, especially one that was
fast
and didn't cost a fortune. Would sure be nice for testing purposes.
Robert
On Thu, Feb 2, 2012 at 01:07, Brandon Wirtz <drak...@digerat.com>
wrote:

Yeah, we have a something, I don't like it. I need to password it, and
ad a
confirmation, and a bunch of stuff. Plus, we have a use case where we
actually want a Flush every things NOW button. That the SQL version
of our
code does really well. And we can't quite find an analog for in GQL
Brandon Wirtz
BlackWaterOps: President / Lead Mercenary
IM: drak...@gmail.com (Google Talk)
Skype: drakegreene
YouTube: <http://www.youtube.com/blackwateropsdotcom>
BlackWaterOpsDotCom
<http://www.blackwaterops.com/> BlackWater Ops
<http://www.cloudonastring.com/> Cloud On A String Mastermind Group
From: google-a...@googlegroups.com
[mailto:google-a...@googlegroups.com] On Behalf Of Robert Kluin
Sent: Wednesday, February 01, 2012 9:38 PM
To: google-a...@googlegroups.com
Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
I wrote a simple task-based script that can delete a few tens of
millions of
entities within a few hours. So I'd suggest just writing something.
Robert
On Thu, Feb 2, 2012 at 00:27, Brandon Wirtz <drak...@digerat.com>
wrote:

It can take days.
Brandon Wirtz
BlackWaterOps: President / Lead Mercenary
IM: drak...@gmail.com (Google Talk)
Skype: drakegreene
YouTube: <http://www.youtube.com/blackwateropsdotcom>
BlackWaterOpsDotCom
<http://www.blackwaterops.com/> BlackWater Ops
<http://www.cloudonastring.com/> Cloud On A String Mastermind Group
From: google-a...@googlegroups.com
[mailto:google-a...@googlegroups.com] On Behalf Of Timofey
Koolin
Sent: Wednesday, February 01, 2012 9:14 PM
To: google-a...@googlegroups.com
Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
You can delete all items of any kind from datastore admin.
2012/2/2 Brandon Wirtz <drak...@digerat.com>
I want Drop Table.
Can I restore empty table?
Brandon Wirtz
BlackWaterOps: President / Lead Mercenary
IM: drak...@gmail.com (Google Talk)
Skype: drakegreene
YouTube: <http://www.youtube.com/blackwateropsdotcom>
BlackWaterOpsDotCom
<http://www.blackwaterops.com/> BlackWater Ops
<http://www.cloudonastring.com/> Cloud On A String Mastermind Group
From: google-a...@googlegroups.com
[mailto:google-a...@googlegroups.com] On Behalf Of Chris Collins
Sent: Wednesday, February 01, 2012 6:09 PM
To: google-a...@googlegroups.com
Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
Namespace backups would be pure awesomeness. Or some way to automate
the
backups. It seems you have to backup each entity manually at the
moment?
On Wed, Feb 1, 2012 at 10:35 AM, WGuerlich <w.guerl...@gmail.com>
wrote:

The backup feature is great! But having backups not only by entity
kind but
also by namespace would be uber-awesome.
--
You received this message because you are subscribed to the Google
Groups
"Google App Engine" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-appengine/-/yd8HVGZPREsJ.
To post to this group, send email to google-
appe...@googlegroups.com.
To unsubscribe from this group, send email to
google-appengi...@googlegroups.com
<mailto:google-appengine%2Bunsu...@googlegroups.com> .
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.
--
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-
appe...@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.
--
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-
appe...@googlegroups.com.
To unsubscribe from this group, send email to
google-appengi...@googlegroups.com
<mailto:google-appengine%2Bunsu...@googlegroups.com> .
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.
--
Blog: www.rekby.ru
--
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-
appe...@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.
--
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-
appe...@googlegroups.com.
To unsubscribe from this group, send email to
google-appengi...@googlegroups.com
<mailto:google-appengine%2Bunsu...@googlegroups.com> .
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.
--
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-
appe...@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.
--
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-
appe...@googlegroups.com.
To unsubscribe from this group, send email to
google-appengi...@googlegroups.com
<mailto:google-appengine%2Bunsu...@googlegroups.com> .
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.
--
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-
appe...@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.
--
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-
appe...@googlegroups.com.
To unsubscribe from this group, send email to
google-appengi...@googlegroups.com
<mailto:google-appengine%2Bunsu...@googlegroups.com> .
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.
--
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-
appe...@googlegroups.com.
To ...

read more »

image001.jpg
< 1K View Download
image002.jpg
< 1K View Download

On Feb 2, 7:57 am, "Brandon Wirtz" <drak...@digerat.com> wrote:
> We aren't real bright here. We didn't do much with tasks until recently J
> We knew we should but to make our code work on multiple platforms we had
> avoided it. Now we are starting to branch our code so that functions detect
> which platform they are on and to things better.  So we will look in to
> using your logic.
>
> Brandon Wirtz
> BlackWaterOps: President / Lead Mercenary
> IM: drak...@gmail.com (Google Talk)
> Skype: drakegreene
> YouTube:  <http://www.youtube.com/blackwateropsdotcom> BlackWaterOpsDotCom
>
>  <http://www.blackwaterops.com/> BlackWater Ops
>
>  <http://www.cloudonastring.com/> Cloud On A String Mastermind Group
>
> From: google-a...@googlegroups.com
> [mailto:google-a...@googlegroups.com] On Behalf Of Robert Kluin
> Sent: Wednesday, February 01, 2012 10:41 PM
> To: google-a...@googlegroups.com
> Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
>
> Ouch.
>
> By the way, a faster pattern looks like this:
>
> while there's stuff to delete:
>   do a keys only query (using a cursor to continue)
>   insert one or more tasks to delete those keys
>   insert a task and break from the while to continue if there are still more
> to delete (to prevent deadline errors)
>
> You can speed that up further by sharding the key space in the keys only
> query, which will yield better parallelism.
>
> Robert
>
> On Thu, Feb 2, 2012 at 01:18, Brandon Wirtz <drak...@digerat.com> wrote:
>
> The version I have goes like this.
>
> Yourapp.appspot.com/psuedodroptable/Name
>
> Then the code logic says
> For all batches of maximum size
> delete async
> Next batch
>
> We ran it the person hitting it's Chrome crashed an hour later (unrelated)
> they came back in the morning Got the "Chrome has crashed would you like to
> restore?" "Yes why note"  and they deleted all the data we had spent 18
> hours putting in to the system.  well not all the data, since we were still
> loading it, so new data wasn't deleted cause it wasn't in the batch J
>
> Brandon Wirtz
> BlackWaterOps: President / Lead Mercenary
> IM: drak...@gmail.com (Google Talk)
> Skype: drakegreene
> YouTube:  <http://www.youtube.com/blackwateropsdotcom> BlackWaterOpsDotCom
>  <http://www.blackwaterops.com/> BlackWater Ops
>
>  <http://www.cloudonastring.com/> Cloud On A String Mastermind Group
>
> From: google-a...@googlegroups.com
> [mailto:google-a...@googlegroups.com] On Behalf Of Robert Kluin
> Sent: Wednesday, February 01, 2012 10:11 PM
>
> To: google-a...@googlegroups.com
> Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
>
> WTF, a confirmation?  Coward.
>
> I'd also like to see a magic "reset" button, especially one that was fast
> and didn't cost a fortune.  Would sure be nice for testing purposes.
>
> Robert
>
> On Thu, Feb 2, 2012 at 01:07, Brandon Wirtz <drak...@digerat.com> wrote:
>
> Yeah, we have a something, I don't like it. I need to password it, and ad a
> confirmation, and a bunch of stuff. Plus, we have a use case where we
> actually want a Flush every things NOW button.  That the SQL version of our
> code does really well. And we can't quite find an analog for in GQL
>
> Brandon Wirtz
> BlackWaterOps: President / Lead Mercenary
> IM: drak...@gmail.com (Google Talk)
> Skype: drakegreene
> YouTube:  <http://www.youtube.com/blackwateropsdotcom> BlackWaterOpsDotCom
>  <http://www.blackwaterops.com/> BlackWater Ops
>
>  <http://www.cloudonastring.com/> Cloud On A String Mastermind Group
>
> From: google-a...@googlegroups.com
> [mailto:google-a...@googlegroups.com] On Behalf Of Robert Kluin
> Sent: Wednesday, February 01, 2012 9:38 PM
>
> To: google-a...@googlegroups.com
> Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
>
> I wrote a simple task-based script that can delete a few tens of millions of
> entities within a few hours.  So I'd suggest just writing something.
>
> Robert
>
> On Thu, Feb 2, 2012 at 00:27, Brandon Wirtz <drak...@digerat.com> wrote:
>
> It can take days.
>
> Brandon Wirtz
> BlackWaterOps: President / Lead Mercenary
> IM: drak...@gmail.com (Google Talk)
> Skype: drakegreene
> YouTube:  <http://www.youtube.com/blackwateropsdotcom> BlackWaterOpsDotCom
>  <http://www.blackwaterops.com/> BlackWater Ops
>
>  <http://www.cloudonastring.com/> Cloud On A String Mastermind Group
>
> From: google-a...@googlegroups.com
> [mailto:google-a...@googlegroups.com] On Behalf Of Timofey Koolin
> Sent: Wednesday, February 01, 2012 9:14 PM
>
> To: google-a...@googlegroups.com
> Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
>
> You can delete all items of any kind from datastore admin.
> 2012/2/2 Brandon Wirtz <drak...@digerat.com>
> I want Drop Table.
>
> Can I restore empty table?
>
> Brandon Wirtz
> BlackWaterOps: President / Lead Mercenary
> IM: drak...@gmail.com (Google Talk)
> Skype: drakegreene
> YouTube:  <http://www.youtube.com/blackwateropsdotcom> BlackWaterOpsDotCom
>  <http://www.blackwaterops.com/> BlackWater Ops
>
>  <http://www.cloudonastring.com/> Cloud On A String Mastermind Group
>
> From: google-a...@googlegroups.com
> [mailto:google-a...@googlegroups.com] On Behalf Of Chris Collins
> Sent: Wednesday, February 01, 2012 6:09 PM
> To: google-a...@googlegroups.com
> Subject: Re: [google-appengine] App Engine SDK 1.6.2 is out!
>
> Namespace backups would be pure awesomeness. Or some way to automate the
> backups. It seems you have to backup each entity manually at the moment?On Wed, Feb 1, 2012 at 10:35 AM, WGuerlich <w.guerl...@gmail.com> wrote:
>
> The backup feature is great! But having backups not only by entity kind but
> also by namespace would be uber-awesome.
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visithttps://groups.google.com/d/msg/google-appengine/-/yd8HVGZPREsJ.
>
> To post to this group, send email to google-a...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> 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 athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> Blog:www.rekby.ru
> --
> 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 athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> 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 athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> 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 athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> 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.

Brandon Wirtz

unread,
Feb 3, 2012, 1:30:25 PM2/3/12
to google-a...@googlegroups.com
Get someone else to weigh in if they think it bothers them. It's a PITA to
change how my email works, but for me it is a lot harder to read threads
that people didn't include the message chain of at least what they are
responding to, because I use Listserve mode and live in email.

I do this because the forum view is often delayed and threads mysteriously
end up in other groups for some unknown reason.

If this is pissing off more than just you I'll consider finding a work
around. But I have been posting this way for over a year and you are the
first to mention it.

Brandon Wirtz
BlackWaterOps: President / Lead Mercenary

Work: 510-992-6548
Toll Free: 866-400-4536
IM: dra...@gmail.com (Google Talk)
Skype: drakegreene
YouTube: BlackWaterOpsDotCom

BlackWater Ops

Cloud On A String Mastermind Group

Joshua Smith

unread,
Feb 3, 2012, 1:53:49 PM2/3/12
to google-a...@googlegroups.com
The new Mail program in OS X Lion is amazingly adept at hiding these long tails, so they don't bother me one bit! :)

alex

unread,
Feb 3, 2012, 2:27:10 PM2/3/12
to google-a...@googlegroups.com
Please, do "find a workaround". 

PS I was just hoping you'd simply write less in general, at least less into this forum.

AndyD

unread,
Feb 3, 2012, 3:19:13 PM2/3/12
to google-a...@googlegroups.com
Personally, I find Brandon's input here to be useful.  The lengthy "tails" are not my favorite thing, but I'd rather have them than his absence.

Bryce Cutt

unread,
Feb 3, 2012, 3:51:34 PM2/3/12
to Google App Engine, dra...@digerat.com
Brandon,

For some reason the web view of this group is not always recognizing
the quoted portion of your messages so it is not hiding them with a
nice "Show quoted text" link.

Also, I mostly read this group through the digest emails and the
digest generator seems to be smart enough to cut off the quoted
portion most of the time but it does not for your emails. I am not
sure if it recognizes the quote level indicator greater than sign ">"
or some other method and lops off that portion of the email but I did
notice that your replies don't use a quote level indicator. Maybe take
a look and see if your email client is set to not add a quote
indicator and try adding one.

While it is certainly inconvenient to have to scroll down a lot to get
to the next message I would never argue for removing a valuable
opinion from the group just to make it easier for me to read messages.

- Bryce


On Feb 3, 10:30 am, "Brandon Wirtz" <drak...@digerat.com> wrote:
> Get someone else to weigh in if they think it bothers them.  It's a PITA to
> change how my email works, but for me it is a lot harder to read threads
> that people didn't include the message chain of at least what they are
> responding to, because I use Listserve mode and live in email.
>
> I do this because the forum view is often delayed and threads mysteriously
> end up in other groups for some unknown reason.
>
> If this is pissing off more than just you I'll consider finding a work
> around.  But I have been posting this way for over a year and you are the
> first to mention it.
>
> Brandon Wirtz
> BlackWaterOps: President / Lead Mercenary
>
> Work: 510-992-6548
> Toll Free: 866-400-4536
> IM: drak...@gmail.com (Google Talk)
> Skype: drakegreene
> YouTube: BlackWaterOpsDotCom
>
> BlackWater Ops
>
> Cloud On A String Mastermind Group
>
>
>
>
>
>
>
> -----Original Message-----
> From: google-a...@googlegroups.com
>
> [mailto:google-a...@googlegroups.com] On Behalf Of Cezary Wagner
> Sent: Friday, February 03, 2012 9:20 AM
> To: Google App Engine
> Subject: [google-appengine] Re: App Engine SDK 1.6.2 is out!
>
> Brandom, please cut message tails since it not readable :)
>
> http://groups.google.com/group/google-appengine/browse_thread/thread/...
> To view this discussion on the web visithttps://groups.google.com/d/msg/google-appengine/-/yd8HVGZPREsJ.
> To post to this group, send email to google- appe...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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- appe...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com.
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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- appe...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
> --
> Blog:www.rekby.ru
> --
> 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- appe...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com.
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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- appe...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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- appe...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com.
> For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en.
> --
> 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- appe...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com
> <mailto:google-appengine%2Bunsu...@googlegroups.com> .
> For
>
> ...
>
> read more »

Jason Collins

unread,
Feb 3, 2012, 6:09:35 PM2/3/12
to Google App Engine
Definitely want Brandon on the groups, but the non-cut tails destroy
my reading experience to the point that I just move on.

I've mentioned it on another thread, but it likely got visually lost
in a stream of duplicate content.

J

Alexandru Farcaş

unread,
Feb 8, 2012, 4:03:10 PM2/8/12
to Google App Engine
"- Mail Quota for App Engine apps that have signed up for billing
will
   only be increased after the first payment for the app is
processed. "

Hi Ikai,

My app reached 100 mail quota and can't send any more mails ...
What can I do now until this "first payment" and why this limit
appeared for me?
I have enabled billing since 2 years ago.

--Alexandru
.
On Feb 1, 1:17 am, "Ikai Lan (Google)" <ika...@google.com> wrote:
> Hey everyone,
>
> Just wanted to announce that App Engine 1.6.2 is out! You can check out the
> blog post here:
>
> http://googleappengine.blogspot.com/2012/01/app-engine-162-released.html
>
> Note that if you're getting an import error for task queues, you're
> probably still using the old labs import. You'll want to get this cleared
> up (you'll also want to pay attention to deprecation warnings).
>
> Release notes are below for your reading pleasure:
>
> *Java 1.6.2*
> ------------------
>
>    - The Admin Console Datastore Admin has added experimental backup and
>    restore functionality. The job occurs within your application and counts
>    against your application quota, including Instance Hours, Datastore Ops and
>    Datastore Storage.
>    - Developers can now specify how long a channel token will last until it
>    expires, with the default remaining two hours. Channel API quota is now
>    measured both in calls to create a channel and the number of hours of
>    channel time requested. The maximum hours of quota is the maximum number of
>    channel creation calls * 2, so free apps get 200 hours of requested
>    channel token time.
>    - Task Queue API requests now include a X-Appengine-TaskETA header, that
>    can be used to measure task delivery latency.
>    - We have removed the deprecated labs version of the TaskQueue API.
>    - The default API deadlines for Blobstore API calls have been raised to
>    15s for online and 30s for offline requests, up from 5s.
>    - The Images API now allows you to stretch an image without maintaining
>    the aspect ratio.
>       -http://code.google.com/p/googleappengine/issues/detail?id=2220
>    - Mail Quota for App Engine apps that have signed up for billing will
>    only be increased after the first payment for the app is processed.
>    - Fixed an issue where the SDK did not resize images down to 512 pixels
>    by default, as it does in production.
>    - Fixed an issue with the Images API where valid images were returning a
>    NotImageError.
>       -http://code.google.com/p/googleappengine/issues/detail?id=5545
>
> *Python 1.6.2*
> --------------------
>
>    - The Admin Console Datastore Admin has added experimental backup and
>    restore functionality. The job occurs within your application and counts
>    against your application quota, including Instance Hours, Datastore Ops and
>    Datastore Storage.
>    - Developers can now specify how long a channel token will last until it
>    expires, with the default remaining two hours. Channel API quota is now
>    measured both in calls to create a channel and the number of hours of
>    channel time requested. The maximum hours of quota is the maximum number of
>    channel creation calls * 2, so free apps get 200 hours of requested
>    channel token time.
>    - Python Django now work with Cloud SQL without additional
>    configuration. For further information see
>    https://developers.google.com/cloud-sql/.
>    - Task Queue API requests now include a X-Appengine-TaskETA header, that
>    can be used to measure task delivery latency.
>    - The default API deadlines for Blobstore API calls have been raised to
>    15s for online and 30s for offline requests, up from 5s.
>    - The Images API now allows you to stretch an image without maintaining
>    the aspect ratio.
>       -http://code.google.com/p/googleappengine/issues/detail?id=2220
>    - The Blobstore API now includes the asynchronous function calls
>    create_upload_url_async, delete_async, and fetch_data_async.
>    - Django version 1.3 is now available in the Python 2.5 runtime.
>    - We've added a django_wsgi builtin to allow easier bootstrapping of
>    Django applications.
>    - Mail Quota for App Engine apps that have signed up for billing will
>    only be increased after the first payment for the app is processed.
>    - As announced in 1.6.1, in this release for the experimental Python 2.7
>    runtime, the mapreduce and datastore_admin builtins are not available to
>    apps deployed to Python 2.7.
>    - Fixed an issue with remote_api where calling fetch_page() with a page
>    size of 301 and chaining the calls through the returned cursor was skipping
>    half of the results.
>    - Fixed an issue where the PIL _imagingmath module was not available in
>    Python 2.7.
>    - Fixed an issue where the SDK did not resize images down to 512 pixels
>    by default, as it does in production.
>    - Fixed an issue with the Images API where valid images were returning a
>    NotImageError.
>       -http://code.google.com/p/googleappengine/issues/detail?id=5545
>    - Fixed an issue where the SDK didn't start when using Python 2.7 and
>    the --backends flag.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6187
>    - Fixed an issue where Jinja2 was not included in the SDK for use with
>    Python 2.7.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6265
>    - Fixed an issue with the sql datastore stub in Python 2.7 where the
>    sqlite module no longer accepted strings with non-ASCII characters.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6290
>    - Fixed an issue where gzip did not work with Python 2.7 in the
>    dev_appserver.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6324
>    - Fixed an issue where urllib2 did not work with Python 2.7.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6567
>    - Fixed an error in the Datastore Viewer where an error was thrown when
>    viewing an Entity which defines an index with no properties.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6600
>    - Fixed an issue where transactional tasks were not enqueued in the SDK
>    when running in high_replication mode.
>       -http://code.google.com/p/googleappengine/issues/detail?id=6669
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> plus.ikailan.com

Andrin von Rechenberg

unread,
Feb 8, 2012, 4:37:00 PM2/8/12
to google-a...@googlegroups.com

Get Gmail.

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

Andrin von Rechenberg

unread,
Feb 8, 2012, 5:01:46 PM2/8/12
to google-a...@googlegroups.com

PS: I wouldn't want to miss brandon either.

Reply all
Reply to author
Forward
0 new messages