[appengine-java] Re: java.awt.Color is not supported by Google App Engine's Java runtime environment

2011-09-22 Thread Heiko Roth
GWT will compile to Javascript. You can't mix different UI frameworks
with GWT, that's it.

On 21 Sep., 11:54, KRS krishnaro...@gmail.com wrote:
 Hi all

 We had web application developed in netbeans and using GWT. Now i
 tried to move the application to eclipse and using google app engine..
 I get the 'not supported' error and found that is not in whitelist
 class.

 I can't change my application. How to run the application?

 regards
 KRS

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: java.awt.Color is not supported by Google App Engine's Java runtime environment

2011-09-22 Thread J.Ganesan
Migrate your application using
com.google.gwt.canvas.dom.client.CssColor.

J.Ganesan
www.DataStoreGwt.com
Persist objects directly in GAE

On Sep 21, 2:54 pm, KRS krishnaro...@gmail.com wrote:
 Hi all

 We had web application developed in netbeans and using GWT. Now i
 tried to move the application to eclipse and using google app engine..
 I get the 'not supported' error and found that is not in whitelist
 class.

 I can't change my application. How to run the application?

 regards
 KRS

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: java.awt.Color is not supported by Google App Engine's Java runtime environment

2011-09-22 Thread Rutger van der Eijk
Hi,

I am not fully sure if I understand what you are trying to accomplish.

What do you mean with that you can not change your application, how does 
that match with that you developed it in netbeans?

R

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine-java/-/i5yGVWCRot4J.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] JavaScript implementation enclosed with /*-{ and }-*/ error message when compile the taskengine demo project (included in App Engine Java SDK)

2011-09-22 Thread Miklos Keresztes
Hello everybody,

When I try to build the taskengine demo project, included in the App Engine 
Java SDK, I get a lot of Native methods require a JavaScript implementation 
enclosed with /*-{ and }-*/ errors in DomUtils.java class.
I use gwt-2.4.0 and appengine-java-sdk-1.5.4 for Linux 64-bit.

The entire output of the build is:


Buildfile: 
/home/miki/opt/appengine-java-sdk-1.5.4/demos/taskengine/build.xml

_gwtc:
 [java] Compiling module com.google.appengine.demos.taskengine.Tasks
 [java]Validating newly compiled units
 [java]   Ignored 73 units with compilation errors in first pass.
 [java] Compile with -strict or with -logLevel set to TRACE or DEBUG to 
see all errors.
 [java]Finding entry point classes
 [java]   [ERROR] Errors in 
'file:/home/miki/opt/appengine-java-sdk-1.5.4/demos/taskengine/src/com/google/appengine/demos/taskengine/client/DomUtils.java'
 [java]  [ERROR] Line 37: Native methods require a JavaScript 
implementation enclosed with /*-{ and }-*/
 [java]  [ERROR] Line 56: Native methods require a JavaScript 
implementation enclosed with /*-{ and }-*/
 [java]  [ERROR] Line 58: Native methods require a JavaScript 
implementation enclosed with /*-{ and }-*/
 [java]  [ERROR] Line 66: Native methods require a JavaScript 
implementation enclosed with /*-{ and }-*/
 [java]  [ERROR] Line 88: Native methods require a JavaScript 
implementation enclosed with /*-{ and }-*/
 [java]  [ERROR] Line 99: Native methods require a JavaScript 
implementation enclosed with /*-{ and }-*/
 [java]   [ERROR] Unable to find type 
'com.google.appengine.demos.taskengine.client.Tasks'
 [java]  [ERROR] Hint: Previous compiler errors may have made 
this type unavailable
 [java]  [ERROR] Hint: Check the inheritance chain from your 
module; it may not be inheriting a required module or a module may not be 
adding its source path entries properly

BUILD FAILED
/home/miki/opt/appengine-java-sdk-1.5.4/demos/taskengine/build.xml:149: The 
following error occurred while executing this line:
/home/miki/opt/appengine-java-sdk-1.5.4/demos/taskengine/build.xml:71: Java 
returned: 1

 

Any suggestion on how I can solve this issue?

Thank You.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine-java/-/gkMC7YWcXukJ.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] JavaScript implementation enclosed with /*-{ and }-*/ error message when compile the taskengine demo project (included in App Engine Java SDK)

2011-09-22 Thread Don Schwarz
Sorry about this.  It should be fixed in the next release.

On Thu, Sep 22, 2011 at 3:57 AM, Miklos Keresztes 
miklos.keresz...@gmail.com wrote:

 Hello everybody,

 When I try to build the taskengine demo project, included in the App Engine
 Java SDK, I get a lot of Native methods require a JavaScript implementation
 enclosed with /*-{ and }-*/ errors in DomUtils.java class.
 I use gwt-2.4.0 and appengine-java-sdk-1.5.4 for Linux 64-bit.

 The entire output of the build is:


 Buildfile:
 /home/miki/opt/appengine-java-sdk-1.5.4/demos/taskengine/build.xml

 _gwtc:
  [java] Compiling module com.google.appengine.demos.taskengine.Tasks
  [java]Validating newly compiled units
  [java]   Ignored 73 units with compilation errors in first pass.
  [java] Compile with -strict or with -logLevel set to TRACE or DEBUG to
 see all errors.
  [java]Finding entry point classes
  [java]   [ERROR] Errors in
 'file:/home/miki/opt/appengine-java-sdk-1.5.4/demos/taskengine/src/com/google/appengine/demos/taskengine/client/DomUtils.java'
  [java]  [ERROR] Line 37: Native methods require a JavaScript
 implementation enclosed with /*-{ and }-*/
  [java]  [ERROR] Line 56: Native methods require a JavaScript
 implementation enclosed with /*-{ and }-*/
  [java]  [ERROR] Line 58: Native methods require a JavaScript
 implementation enclosed with /*-{ and }-*/
  [java]  [ERROR] Line 66: Native methods require a JavaScript
 implementation enclosed with /*-{ and }-*/
  [java]  [ERROR] Line 88: Native methods require a JavaScript
 implementation enclosed with /*-{ and }-*/
  [java]  [ERROR] Line 99: Native methods require a JavaScript
 implementation enclosed with /*-{ and }-*/
  [java]   [ERROR] Unable to find type
 'com.google.appengine.demos.taskengine.client.Tasks'
  [java]  [ERROR] Hint: Previous compiler errors may have made
 this type unavailable
  [java]  [ERROR] Hint: Check the inheritance chain from your
 module; it may not be inheriting a required module or a module may not be
 adding its source path entries properly

 BUILD FAILED
 /home/miki/opt/appengine-java-sdk-1.5.4/demos/taskengine/build.xml:149: The
 following error occurred while executing this line:
 /home/miki/opt/appengine-java-sdk-1.5.4/demos/taskengine/build.xml:71: Java
 returned: 1



 Any suggestion on how I can solve this issue?

 Thank You.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine for Java group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine-java/-/gkMC7YWcXukJ.
 To post to this group, send email to
 google-appengine-java@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine-java+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/google-appengine-java?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: Blobstore and upload question

2011-09-22 Thread GeorgeS
I finally got back to the upload function and started trying to get it to 
work... I'm using VB.Net WebClient to try to talk to my upload server to get 
an upload URL and I keep getting a 'null' return. Do I need to make that 
call using XMLRPC or something similar? It works just fine from my native 
GAE Application using a file uploader control but I'd like to have the 
capability fitted in with my .Net application to make it easier on my 
clients.

Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine-java/-/oSLtC3R3ez4J.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] Re: Blobstore and upload question

2011-09-22 Thread Brandon Donnelson
I used a servlet to spit out an upload URL in plain text. If its unsecure,
you could just type a get request into the url and it should render a url in
a format that you could grab. It could be any content type you like. I used
a plain text (unsecure) servlet to render the url in plain text (for
example), and then I just grabbed it from the client.

Have a good day,
Brandon Donnelson
c.gawkat.com

The Donnelson Team
YourDTeam.com



On Thu, Sep 22, 2011 at 3:11 PM, GeorgeS sxoutt...@gmail.com wrote:

 I finally got back to the upload function and started trying to get it to
 work... I'm using VB.Net WebClient to try to talk to my upload server to get
 an upload URL and I keep getting a 'null' return. Do I need to make that
 call using XMLRPC or something similar? It works just fine from my native
 GAE Application using a file uploader control but I'd like to have the
 capability fitted in with my .Net application to make it easier on my
 clients.

 Thanks!

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

 To post to this group, send email to
 google-appengine-java@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine-java+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/google-appengine-java?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[google-appengine] Datastore Reads and Writes Crazy High

2011-09-22 Thread James Gilliam
i made from significant adjustments after the new pricing as a result
of the large, make that HUGE, numbers of reads and writes.  I have
eliminated most of my indexes but I am still getting these numbers.

e.g. I am creating a single entity during a startup operation ... when
i look at this entity in GAE launcher it says 170 writes.  Ok ... I am
writing a single entity that has NO indexes.  The entity doesn't have
that many fields but it says 170 writes.

Also, I assume these are just datastore writes and not memcache
writes.  Correct?

My billing history seems to bear out this numbers, but I am doing
100,000 writes a day which seems wrong by a factor of 100.

It would be great to get better breakout of these writes in the
datastore statistics or anywhere.

I have to get to the bottom of this so I at least know why I am seeing
such high numbers.

Any explanation would be greatly appreciated.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Datastore Reads and Writes Crazy High

2011-09-22 Thread Rishi Arora
I used the appstats tool to figure out where all my datastore writes were
coming from.  Super easy to configure, and barely any processing overhead.

http://code.google.com/appengine/docs/python/tools/appstats.html
http://googleappengine.blogspot.com/2010/03/easy-performance-profiling-with.html

The only problem I had with this tool was it made my memory usage grow
exponentially for a cron job that my backend was executing.  The backend
does a lot of work, and this job usually lasts 3 minutes, even though it
happens only once every hour.  But since this memory explosion was limited
to a single type of request, I was able to exclude it from appstats by using
appstats_FILTER_LIST in appengine_config.py.

Hope this helps.


On Thu, Sep 22, 2011 at 1:35 AM, James Gilliam jimgill...@gmail.com wrote:

 i made from significant adjustments after the new pricing as a result
 of the large, make that HUGE, numbers of reads and writes.  I have
 eliminated most of my indexes but I am still getting these numbers.

 e.g. I am creating a single entity during a startup operation ... when
 i look at this entity in GAE launcher it says 170 writes.  Ok ... I am
 writing a single entity that has NO indexes.  The entity doesn't have
 that many fields but it says 170 writes.

 Also, I assume these are just datastore writes and not memcache
 writes.  Correct?

 My billing history seems to bear out this numbers, but I am doing
 100,000 writes a day which seems wrong by a factor of 100.

 It would be great to get better breakout of these writes in the
 datastore statistics or anywhere.

 I have to get to the bottom of this so I at least know why I am seeing
 such high numbers.

 Any explanation would be greatly appreciated.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Apps For Domains is a MAJOR failing of AppEngine

2011-09-22 Thread Joshua Smith
Done: Issue 5956

This is really a google apps issue, not a GAE issue, which is why I didn't put 
it in the tracker before.  Is there a google apps issue tracker?  I couldn't 
find one.


On Sep 20, 2011, at 6:34 PM, Stuart Langley wrote:

 Joshua,
 
 If you have not already, can you file an issue in the tracker for viewer not 
 working with .docx files served from blobstore?
 
 Thanks,
 Stuart
 
 
 -- 
 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/-/9YR-XXW2vdEJ.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to 
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Datastore Read and Writes Statstics

2011-09-22 Thread Vivek Puri
For Estimated Charges Under New Pricing, my app is showing $40/per
day for Writes and $13/day for Reads. $40 worth of writes is 40
million write operations. Right now i have not idea which table is
being written to most and contributing to that number. Can AppEngine
team provide statistics on these write and read operations. I would
hope this is something similar to existing Datastore Statistics
tool.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Datastore Read and Writes Statstics

2011-09-22 Thread Rishi Arora
There was a similar question just a few hours ago on this forum:  Re:
Datastore Reads and Writes Crazy High

Here's my answer:

I used the appstats tool to figure out where all my datastore writes were
coming from.  Super easy to configure, and barely any processing overhead.

http://code.google.com/appengine/docs/python/tools/appstats.html
http://googleappengine.blogspot.com/2010/03/easy-performance-profiling-with.html

The only problem I had with this tool was it made my memory usage grow
exponentially for a cron job that my backend was executing.  The backend
does a lot of work, and this job usually lasts 3 minutes, even though it
happens only once every hour.  But since this memory explosion was limited
to a single type of request, I was able to exclude it from appstats by using
appstats_FILTER_LIST in appengine_config.py.

Hope this helps.

On Thu, Sep 22, 2011 at 7:29 AM, Vivek Puri v...@vivekpuri.com wrote:

 For Estimated Charges Under New Pricing, my app is showing $40/per
 day for Writes and $13/day for Reads. $40 worth of writes is 40
 million write operations. Right now i have not idea which table is
 being written to most and contributing to that number. Can AppEngine
 team provide statistics on these write and read operations. I would
 hope this is something similar to existing Datastore Statistics
 tool.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Frequent Warning in Logs tells me to contact App Engine Team

2011-09-22 Thread Tom Newton
Has anyone seen this before? We're seeing it a lot in the past few
days.

Request was aborted after waiting too long to attempt to service your
request. This may happen sporadically when the App Engine serving
cluster is under unexpectedly high or uneven load. If you see this
message frequently, please contact the App Engine team.

How do I contact the App Engine team?

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Can't get past OAUTH when accessing Task Queue REST API

2011-09-22 Thread Vivek Sahasranaman
Can you send me your command line? What is your project id?

One thing to check for : If you have a HR app with appid foo you
need to have a project id of s~foo.

- Vivek

On Sep 21, 3:22 am, Udi h Bauman dibauna...@gmail.com wrote:
 Hi,

 I need to use the Task Queue REST API to connect worker apps within 
 outside AppEngine to queues used by my main app on AppEngine. However,
 whatever I try, I keep getting OAUTH errors, such as:

 {
  error: {
   errors: [
    {
     message: you are not allowed to make this api call
    }
   ],
   code: 403,
   message: you are not allowed to make this api call
  }

 }

 I configured the ACL's in queue.yaml, generated a client id using the API
 console (with a user appearing in the ACL),  tried all sample code, in the
 python API client  articles. When running the code, I'm following the OAUTH
 flow (getting the user authorization URL, perform the authorization 
 receive the access tokens, which I store  use to authorize the HTTP
 connection), but failing to invoke any API.

 Can you please provide some step-by-step instructions on how to use the REST
 API, so that I'll figure what am I doing wrong?

 Thanks really a lot,
 Udi

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Datastore Read and Writes Statstics

2011-09-22 Thread Vivek Puri
Rishi

Thank you for your suggestion. I have been using it. But for a large
app, it is a manual way of finding out which table is getting hit
most. Also, if tables have few fields with indexed=false, it becomes
really hard to figure out the true cost of writes across tables.



On Sep 22, 8:57 am, Rishi Arora rishi.ar...@ship-rack.com wrote:
 There was a similar question just a few hours ago on this forum:  Re:
 Datastore Reads and Writes Crazy High

 Here's my answer:

 I used the appstats tool to figure out where all my datastore writes were
 coming from.  Super easy to configure, and barely any processing overhead.

 http://code.google.com/appengine/docs/python/tools/appstats.htmlhttp://googleappengine.blogspot.com/2010/03/easy-performance-profilin...

 The only problem I had with this tool was it made my memory usage grow
 exponentially for a cron job that my backend was executing.  The backend
 does a lot of work, and this job usually lasts 3 minutes, even though it
 happens only once every hour.  But since this memory explosion was limited
 to a single type of request, I was able to exclude it from appstats by using
 appstats_FILTER_LIST in appengine_config.py.

 Hope this helps.







 On Thu, Sep 22, 2011 at 7:29 AM, Vivek Puri v...@vivekpuri.com wrote:
  For Estimated Charges Under New Pricing, my app is showing $40/per
  day for Writes and $13/day for Reads. $40 worth of writes is 40
  million write operations. Right now i have not idea which table is
  being written to most and contributing to that number. Can AppEngine
  team provide statistics on these write and read operations. I would
  hope this is something similar to existing Datastore Statistics
  tool.

  --
  You received this message because you are subscribed to the Google Groups
  Google App Engine group.
  To post to this group, send email to google-appengine@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.com.
  For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Datastore Read and Writes Statstics

2011-09-22 Thread Vivek Puri
As per this doc: 
http://code.google.com/appengine/kb/postpreviewpricing.html#operations_charged_for

There are 3 categories of Datastore operations:
Write operations (Entity Put, Entity Delete, Index Write) Each of
these operations will cost $0.10 per 100k operations.
Read operations (Query, Entity Fetch) Each of these operations will
cost $0.07 per 100k operations.
Small operations (Key Fetch, Id Allocation) Each of these operations
will cost $0.01 per 100k operations

From App Stats, i see the following datastore related operations:
datastore_v3.Get
datastore_v3.RunQuery
datastore_v3.Put
datastore_v3.AllocateIds
datastore_v3.BeginTransaction
datastore_v3.Commit

Can someone from AppEngine team let me know under which category do
the above operations fall under.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Datastore Read and Writes Statstics

2011-09-22 Thread Joops
Just to jump in here, I also agree that we could do with an easy way
of identifying where costs are coming from.

I like appstats, but it gives you a detail level view for one
request.

Perhaps information like this might be useful for people

Entity Name
-
Total Writes
Total Reads
Total Small Operations

It could also give stats on indexes on this entity. (As an easy way to
remind new people that they really need to keep an eye on indexes)

J.

ps.. I usually caveat my posts with this - I don't have a live app, so
don't listen overly to my words.


On Sep 22, 3:47 pm, Vivek Puri v...@vivekpuri.com wrote:
 As per this 
 doc:http://code.google.com/appengine/kb/postpreviewpricing.html#operation...

 There are 3 categories of Datastore operations:
 Write operations (Entity Put, Entity Delete, Index Write) Each of
 these operations will cost $0.10 per 100k operations.
 Read operations (Query, Entity Fetch) Each of these operations will
 cost $0.07 per 100k operations.
 Small operations (Key Fetch, Id Allocation) Each of these operations
 will cost $0.01 per 100k operations

 From App Stats, i see the following datastore related operations:
 datastore_v3.Get
 datastore_v3.RunQuery
 datastore_v3.Put
 datastore_v3.AllocateIds
 datastore_v3.BeginTransaction
 datastore_v3.Commit

 Can someone from AppEngine team let me know under which category do
 the above operations fall under.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Datastore Read and Writes Statstics

2011-09-22 Thread Rishi Arora
I'll take a shot at mapping these.

datastore_v3.Put will result in one Entity Put + One Index Writes for each
index field that was added (in case of new records), or Two Index Writes for
each index field that was modified (an index delete for the old index value
and an index write for the new value).

datastore_v2.Get is equivalent to Entity Fetch

datastore_v3.RunQuery is equivalent to a Query.

It seems that app stats was written to reflect on the costs in the old
pricing model.  It'll be nice it is redesigned to be consistent with the new
pricing model.  I don't know who supports this tool, but can anyone in the
GAE team tell us if there are plans on updating it?  Is app stats open
source, allowing anyone to take a stab at it?


On Thu, Sep 22, 2011 at 9:47 AM, Vivek Puri v...@vivekpuri.com wrote:

 As per this doc:
 http://code.google.com/appengine/kb/postpreviewpricing.html#operations_charged_for

 There are 3 categories of Datastore operations:
 Write operations (Entity Put, Entity Delete, Index Write) Each of
 these operations will cost $0.10 per 100k operations.
 Read operations (Query, Entity Fetch) Each of these operations will
 cost $0.07 per 100k operations.
 Small operations (Key Fetch, Id Allocation) Each of these operations
 will cost $0.01 per 100k operations

 From App Stats, i see the following datastore related operations:
 datastore_v3.Get
 datastore_v3.RunQuery
 datastore_v3.Put
 datastore_v3.AllocateIds
 datastore_v3.BeginTransaction
 datastore_v3.Commit

 Can someone from AppEngine team let me know under which category do
 the above operations fall under.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Google Apps Viewer-like Thing for Audio/Video?

2011-09-22 Thread Joshua Smith
Can anyone here recommend a site/service similar to docs.google.com/viewer, but 
which handles audio/video files?

I have these files stored in the blobstore, and I'm hoping to be able to let my 
users view/hear the file.  I know I could write something using HTML 5, Flash 
fallbacks, javascript, etc.  But I'm wondering if there is something out there 
that just takes a URL and plays it?

(Obviously, I'm not looking for a silver bullet. If it only plays some formats 
and not others, it's still better than nothing.)

-Joshua

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Google Apps Viewer-like Thing for Audio/Video?

2011-09-22 Thread Barry Hunter
http://webplayer.yahoo.com/

Maybe?

On Thu, Sep 22, 2011 at 6:21 PM, Joshua Smith joshuaesm...@charter.net wrote:
 Can anyone here recommend a site/service similar to docs.google.com/viewer, 
 but which handles audio/video files?

 I have these files stored in the blobstore, and I'm hoping to be able to let 
 my users view/hear the file.  I know I could write something using HTML 5, 
 Flash fallbacks, javascript, etc.  But I'm wondering if there is something 
 out there that just takes a URL and plays it?

 (Obviously, I'm not looking for a silver bullet. If it only plays some 
 formats and not others, it's still better than nothing.)

 -Joshua

 --
 You received this message because you are subscribed to the Google Groups 
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to 
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/google-appengine?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Frequent Warning in Logs tells me to contact App Engine Team

2011-09-22 Thread Vivek Puri
Please see this - http://code.google.com/p/googleappengine/issues/detail?id=5944

On Sep 22, 9:24 am, Tom Newton tom.new...@gmail.com wrote:
 Has anyone seen this before? We're seeing it a lot in the past few
 days.

 Request was aborted after waiting too long to attempt to service your
 request. This may happen sporadically when the App Engine serving
 cluster is under unexpectedly high or uneven load. If you see this
 message frequently, please contact the App Engine team.

 How do I contact the App Engine team?

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] I can't point my www Google Apps domain to my Appengine app...

2011-09-22 Thread nacho
I believe that Google people can make just a little better the Google Apps 
dashboard...

I couldn't see Sites service in my Services tabs but it was running.

I googled How to disable google sites and I couldn't do anything because 
Sites services wasn't in my Services tab.

Finally I had to follow this flow:

Dashboad - (in the Service Settings block) Add more services - Add Google 
Sites, and then finally I could see again Google Sites in the Services 
tab, and remove the www mapping.

I think that Google people can make the Google Apps Dashboard work better. 

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



Re: [google-appengine] Google Apps Viewer-like Thing for Audio/Video?

2011-09-22 Thread Joshua Smith
Thanks for the tip.  That's exactly the kind of thing I'm looking for.  
Integrating it in to my page took about 20 seconds :)

Anyone know of a better one? It doesn't seem to handle many media types, and it 
relies on Flash and hence doesn't work on iThings.

-Joshua

On Sep 22, 2011, at 2:21 PM, Barry Hunter wrote:

 http://webplayer.yahoo.com/
 
 Maybe?
 
 On Thu, Sep 22, 2011 at 6:21 PM, Joshua Smith joshuaesm...@charter.net 
 wrote:
 Can anyone here recommend a site/service similar to docs.google.com/viewer, 
 but which handles audio/video files?
 
 I have these files stored in the blobstore, and I'm hoping to be able to let 
 my users view/hear the file.  I know I could write something using HTML 5, 
 Flash fallbacks, javascript, etc.  But I'm wondering if there is something 
 out there that just takes a URL and plays it?
 
 (Obviously, I'm not looking for a silver bullet. If it only plays some 
 formats and not others, it's still better than nothing.)
 
 -Joshua
 
 --
 You received this message because you are subscribed to the Google Groups 
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to 
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/google-appengine?hl=en.
 
 
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to 
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/google-appengine?hl=en.
 

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Google

2011-09-22 Thread Mark Bucciarelli
On Mon, Sep 19, 2011 at 11:48 PM, Ryan Mattison rmattis...@gmail.comwrote:


 Lastly, why the verbosity?  Clear  concise patterns  code never seem
 to be the aim.   Its not like the code needs to be clear it'll take a
 pick ax to get through a relatively new Google environment anyway.


It's refreshing to read Tornado's code and docs after fighting
app engine.  i guess those hackers helped (a lot?) with gmail
and gmap?

query times linear with sizeof(result_set) was really sexy,
but 2 QPS per instance?  really?  and i hit soft limit w/
python so often it's a joke---i can't do any serious processing
without hearing the google cash register ring away.

Simple python prevayler setup with tornado + nginx front end
pumps 7k inserts/second (one big gzip'd post).  bonus: it's
single-threaded (remember medusa?).  since it uses prevayler,
it will be easy to replicate/coordinate tornado nodes (if i ever
need to).

disappointed too and rewriting as fast as i can,

m

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Faster than get_by_key_name

2011-09-22 Thread yamadaag
It's new for me to hear about EVENTUAL consistency of HRD.
But I can't switch to HRD right now, so I'll try to find some other
way to get entities faster.

Thanks for answers!


On Sep 21, 1:19 pm, stevep prosse...@gmail.com wrote:
 I switched to EVENTUAL where ever possible, and realized significant
 gains virtually every time. Worth working hard to manage it IMHO.

 stevep

 On Sep 20, 5:58 pm, Stephen Johnson onepagewo...@gmail.com wrote:

  If you're using HRD and using STRONG consistency, you can increase the speed
  of the get by key by using EVENTUAL consistency. Of course with the possible
  ramifications that incur with using EVENTUAL consistency.

  Stephen

  On Tue, Sep 20, 2011 at 3:21 PM, Steve Sherrie 
  st...@wasteofpaper.comwrote:

   get_by_key_name first computes a db.Key from the key_name and then fetches
   the entity by that key, so it's already the quickest method. There's no
   practical time cost in the computing of the key.

   Steve Sherrie

   On 11-09-20 06:16 PM, yamadaag wrote:

   Hello.

   I often use get_by_key_name to get entities from Datastore.
   I'm looking for faster way to get entities, does anyone know?

   --
   You received this message because you are subscribed to the Google Groups
   Google App Engine group.
   To post to this group, send email to 
   google-appengine@googlegroups.**comgoogle-appengine@googlegroups.com
   .
   To unsubscribe from this group, send email to
   google-appengine+unsubscribe@**googlegroups.comgoogle-appengine%2Bunsubscr
i...@googlegroups.com
   .
   For more options, visit this group athttp://groups.google.com/**
   group/google-appengine?hl=enhttp://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-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] memcache distribution

2011-09-22 Thread atarno
hi folks,

i'm puzzled by memcache related logs i see and need your advice.
i'm running a java app. i use memcache as a holder of some static variables 
accessed and changed by different modules.
i do it, because as far as i understand such changes will apply to all 
distributed application instances.
the initialization of the memcache is done within an init() method of a 
servlet flagged with load-on-startup.
i have a following piece of code there:

if(CacheManager.getInstance().getCache(static_vars) == null)
{
  CacheFactory cacheFactory = CacheManager.getInstance().getCacheFactory();
  Cache cache = cacheFactory.createCache(Collections.emptyMap());
  CacheManager.getInstance().registerCache(static_vars, cache);
  cache.put(var1, 0);
  cache.put(var2, 9302);
.
}

now, i'm watching the logs and i see two requests arriving within 2 seconds. 
the first one targets an existing instance and everything goes as expected, 
but the second one triggers a creation of new servlet instance that loads 
the cache. i guess it happens because another application instance is 
created. the problem is that i see that in this new instance 
CacheManager.getInstance().getCache(static_vars) == null. the new instance 
does not recognize that a memcache with this name already exists and 
therefore does not use the values that were set there by first instance.

what's my problem here?

thanks in advance.

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



[google-appengine] newbie: Javadoc on Eclipse

2011-09-22 Thread Cris
Hi all,

I'm new on Google App Engine and relatively new on Eclipse-Indigo
(I've been playing around with Android development for several
months).

I successfully created and ran an online app engine sample project.
I'm new to many of the Java classes involved, so I would like to have
Javadoc for basically javax and jdo, but is not available in the SDK.

I fight for that for hours (Eclipse is big and has many many options)
and finally find a way to activate Javadoc on Eclipse, by changing the
Javadoc path for servlet-api.jar and jdo2-api-2.3-eb.jar packages on
the App Engine SDK node in my project.

I've installed glassfish3 to get javadoc for servlet (path: file:/
Users/cristian/glassfish3/glassfish/docs/api/)
I couldn't find the javadoc zip file for jdo 2.3, only jdo 2.2 or jdo
3, and find somewhere that location http://db.apache.org/jdo/api23/apidocs/,
that works fine.

Everything seems to work fine but, after each Eclipse restart, this 2
paths are forgotten and replaced by the default SDK paths.

Please! someone can brought me some light on that?
Which is the correct way to enable Javadoc for the packages that don't
have documentation in the SDK?

Thanks a lot!!

Cristian

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] chat application design help app engine

2011-09-22 Thread frooti
hi,

I'm developing an app to be hosted on GAE.Basically my app needs to
connect people randomly.

I did similar app before where i assigned unique id to each user.Once
the user enter the app his ID will be inserted into static
synchronized LinkedHashSet(which acts like global datastore for
app).Similarly second user enters synchronized LinkedHashSet,If he
finds the ID other than his ID then they are connected.The Second user
removes their ID's from LinkedHashSet and Inserts them into Mysql
DataBase as pairs.Note that access to LinkedHashSet is synchronized.

Now i wanted to design a similar app in cloud environment like GAE.But
in GAE static variables are not global since the distributed nature of
app engine.How to write similar code in cloud environment?

regards,
 ravi

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] calling out the app engine team on ssl for custom domains

2011-09-22 Thread Amir More
Hi

(I apologize, it's a long one).

I'm calling out the app engine team on how they've handled issue 
792http://code.google.com/p/googleappengine/issues/detail?id=792colspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log
 - 
ssl/https support on google apps domains, and would like a straightforward 
answer to the current status of this issue.

Before I get into how the team has dealt with the issue and my problem with 
it, I'd like to make a few observations:
1. The engineers on the GAE team have known about the lack of SNI on IE in 
XP for quite some time (see comment 
#48http://code.google.com/p/googleappengine/issues/detail?id=792#c48 - 
quoting an IRC session).  We can safely regard August 2009 as a point of 
time at which GAE engineers knew about this problem.
2. The issue was market as Started in October 2010.  The GAE team and/or 
it's decision makers have clearly chosen to work on this issue.  This is 
non-trivial given the success of GAE which, as usual, has lead to a queue of 
dev tasks far larger than the capacity of the team.  In other words, this 
issue is decidedly important enough to work on that dev resources are 
prioritized to work on it.
3. In the last two Google I/O events, the issue of SSL on google apps / 
custom domains has been prominently displayed as a feature which will be 
available 'soon', whether as part of GAE for Business (available by EOY 
2010) or as a feature that's on deck for general availability.
4. Despite the issue of SNI and IE/XP, there appear to be a handful of 
possible solutions to overcome the limitations it presents.  More on this 
later.
5. Other features which have been taken on by the team and were expected to 
take a relatively long time to bring to fruition have been declared as such. 
 For example, if we look at the Full-Text Search issue, it was marked as 
Started back in October 2009, but with the following text:
I'm marking this issue as Started but I want to set expectations 
appropriately: 
This is a major undertaking and this will not happen soon, even by the most 
generous definition of soon.

Given these observations - it is understandable and acceptable that there 
are factors beyond the control of the team; namely that the lack of support 
for SNI in IE on Windows XP presents a technical obstacle.  On the other 
hand, the recurring assurances that this issue is being worked on, and in 
some cases promised to land about a year ago, leads one to believe that 
regardless of the SNI problem the feature will be generally available in the 
near term future.

Case in point: SSL access on custom domains has been on the 
roadmaphttp://code.google.com/appengine/docs/roadmap.html since 
May 2010, updated around the time of I/O 2010.  Given the heading ..Most of 
these features here are intended to be launched within the following six 
months. .. it should come as no surprise that a sizable number of 
developers are quite irate over the fact that we are now well into September 
2011 and yet no sign of SSL for custom domains, for better or for worse.
At no less than a keynote speech of I/O 
2010http://www.youtube.com/watch?v=a46hJYtsP-8feature=player_embedded, 
given in front of thousands of developers, Kevin Gibbs says in regards to 
App Engine for Business (@113:12): ..That means we're putting our money 
where our mouth is when it comes to the reliability of your business.  And 
finally, it also comes with two additional key features that we had heard 
almost every enterprise needs: SSL for your company's domain and SQL 
databases.  That's right.  You heard me right.
On the other hand, a full year later, at a fireside chat from I/O 
2011http://www.youtube.com/watch?v=_nN-G4018b0 the 
SSL issue comes up a few times and at some point Peter Mckenzie, who claims 
responsibility for SSL, says (@26:35):
We are actively working on it and making good progress.  We can't give a 
date, but it's certainly high priority.  To be honest, we would have liked 
to have launched it by now, but it's certainly foremost in my thoughts, and 
in the thoughts of several others of my team.
.. immediately followed by a moment of candor by Brett Slatkin, who jokingly 
suggests we get everyone to install a browser with SNI and/or move to IPv6.

I'm calling out the app engine over what has happened over the course of 2-3 
years on this issue.  First, the issue is accepted in 2009 and marked as 
'started', despite the known SNI problem.  Next, in 2010 it's added to the 
roadmap, announced in a keynote and given an approximate ETA of EOY 2010. 
 Yet a year later, all of a sudden they don't have a date and are throwing 
around remarks about how they would have liked to launch it by now.

The duplicitous and shady behavior on the issue of SSL on custom domains is, 
in googley terms, a form of evil.

On a personal note: You'll have to take my word for it that I had attended 
I/O 2011 and brought up the issue at App Engine office hours before the 

[google-appengine] demande

2011-09-22 Thread mouhamed diagne
slt je voudrais savoir comment on fait pour visualiser les données
dans google app engine. je ne comprend pas le GQL.svp

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] App Engine 1.5.3 issue

2011-09-22 Thread Ron H
When I upgraded to App Engine 1.5.3 I get an issue with the
createUserURL method in com.google.appengine.api.users. This issue
does not happen in 1.5.2. This happens in dev. Here is the stack
trace:

HTTP ERROR 500

Problem accessing /logingoogle. Reason:

java.lang.IllegalAccessException: Class
com.google.appengine.repackaged.com.google.common.collect.Interners
$WeakInterner can not access a member of class
com.google.appengine.repackaged.com.google.common.base.internal.Finalizer
with modifiers public static
Caused by:

java.lang.AssertionError: java.lang.IllegalAccessException: Class
com.google.appengine.repackaged.com.google.common.collect.Interners
$WeakInterner can not access a member of class
com.google.appengine.repackaged.com.google.common.base.internal.Finalizer
with modifiers public static
at
com.google.appengine.repackaged.com.google.common.base.FinalizableReferenceQueue.init(FinalizableReferenceQueue.java:
110)
at com.google.appengine.repackaged.com.google.common.collect.Interners
$WeakInterner.clinit(Interners.java:124)
at
com.google.appengine.repackaged.com.google.common.collect.Interners.newWeakInterner(Interners.java:
66)
at
com.google.appengine.repackaged.com.google.io.protocol.ProtocolSupport.clinit(ProtocolSupport.java:
55)
at com.google.apphosting.api.UserServicePb
$CreateLoginURLRequest.init(UserServicePb.java:260)
at com.google.apphosting.api.UserServicePb$CreateLoginURLRequest
$1.init(UserServicePb.java:611)
at com.google.apphosting.api.UserServicePb
$CreateLoginURLRequest.clinit(UserServicePb.java:611)
at
com.google.appengine.api.users.UserServiceImpl.createLoginURL(UserServiceImpl.java:
54)
at
com.google.appengine.api.users.UserServiceImpl.createLoginURL(UserServiceImpl.java:
42)
at
booksandfilms.server.servlets.LoginGoogleServlet.doGet(LoginGoogleServlet.java:
25)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1166)
at
com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:
35)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:
58)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:
122)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:
97)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
70)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:351)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.lang.IllegalAccessException: Class
com.google.appengine.repackaged.com.google.common.collect.Interners
$WeakInterner can not access a member of class

Re: [google-appengine] demande

2011-09-22 Thread Pascal Voitot Dev
En français, ce n'est vraiment pas gagné sur ce groupe!
Ré-écris en anglais, tu as beaucoup plus de chances d'avoir des infos!

Merci
Pascal

On Thu, Sep 22, 2011 at 6:21 PM, mouhamed diagne mdiag...@gmail.com wrote:

 slt je voudrais savoir comment on fait pour visualiser les données
 dans google app engine. je ne comprend pas le GQL.svp

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Moving DBOs to another package

2011-09-22 Thread Jan
Hi,

I'm using JDO for data access and I already have objects in my
database.
Now I would like move the corresponding DBOs to another package. My
question is the following: will there occur problems or does the
implementation just use the simple name?

Thank you very much
Jan

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Moving DBOs to another package

2011-09-22 Thread Jan
Hi,

I'm using JDO for data access and I already have objects in my
database.
Now I would like move the corresponding DBOs to another package. My
question is the following: will there occur problems or does the
implementation just use the simple name?

Thank you very much
Jan

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Moving DBOs to another package

2011-09-22 Thread Jan
Sorry for the repost :-)

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] xmpp custom JID does not working?

2011-09-22 Thread Robert Schuppenies
One issue I always forget about is that before you can send messages to
another XMPP party, you have invite to this party first (for Python with
xmpp.send_invite) and the party must accept the invite.

cheers,
robert

On Tue, Sep 20, 2011 at 9:25 PM, Xi Shen davidshe...@gmail.com wrote:

 Hi,


 http://code.google.com/appengine/docs/python/xmpp/overview.html#XMPP_Addresses

 This page says the XMPP API supports custom JID.  But it does not seem to
 work for me. I tried 'test@*myappid*.appspotchat.com', but none of my
 GTalk client received any message/notification.

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


-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: Google Storage for Developers with Appengine

2011-09-22 Thread Robert Schuppenies
Could you try 
https://groups.google.com/group/gs-discussionhttps://groups.google.com/group/gs-discussion?pli=1?
The Google Storage team hangs out over there and they also know about the
App Engine integration.

cheers,
robert

On Wed, Sep 21, 2011 at 9:02 AM, Hans Then hans.t...@gmail.com wrote:

 Hi,

 I have the same problem and not a clue what's wrong. Did you manage to
 solve this?

 Hans

 On Aug 30, 9:57 pm, tabmarcio tab...@gmail.com wrote:
  THe problem I have is the second problem you reported:
 AttributeError:HTTPSConnectioninstancehasnoattribute
  '_HTTPConnection__response'
 
  m
 
  On Aug 30, 4:54 pm, tabmarcio tab...@gmail.com wrote:
 
 
 
 
 
 
 
   I have the same problem. BTW this also happens in production with GAE
   current python.
 
   m
 
   On Aug 17, 7:33 pm, Mark Brenneman marksb...@gmail.com wrote:
 
Thanks Tim, that worked, but now I ran into a new problem.
 
Now, I get a connection error. I have tried finding others with the
 issues
but have not had any luck. Is this a problem with the boto package or
 does
it need to be modified to use with AppEngine?
 
Upload Code:
 
fp = tempfile.TemporaryFile()
fp.write('Hello world!\n')
 
dst_uri = boto.storage_uri(BUCKET_NAME + '/' + DOWNLOAD_FILENAME,
 'gs')
 
# The key-related functions are a consequence of boto's
# interoperability with Amazon S3 (which employs the
# concept of a key mapping to contents).
dst_uri.new_key().set_contents_from_file(fp)
logging.debug('Successfully created %s/%s' % (dst_uri.bucket_name,
dst_uri.object_name))
 
Error:
 
Traceback (most recent call last):
  File
 /base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_we
 bapp25.py, line 701, in __call__
handler.get(*groups)
  File
 /base/data/home/apps/callzapapp/1.352621855547207562/main.py, line 54, in
 get
dst_uri.new_key().set_contents_from_file(fp)
  File
 /base/data/home/apps/callzapapp/1.352621855547207562/boto/gs/key.py, line
 191, in set_contents_from_file
self.send_file(fp, headers, cb, num_cb)
  File
 /base/data/home/apps/callzapapp/1.352621855547207562/boto/s3/key.py, line
 566, in send_file
query_args=query_args)
  File
 /base/data/home/apps/callzapapp/1.352621855547207562/boto/s3/connection.py
 , line 423, in make_request
override_num_retries=override_num_retries)
  File
 /base/data/home/apps/callzapapp/1.352621855547207562/boto/connection.py,
 line 782, in make_request
return self._mexe(http_request, sender, override_num_retries)
  File
 /base/data/home/apps/callzapapp/1.352621855547207562/boto/connection.py,
 line 695, in _mexe
connection = self.get_http_connection(request.host,
 self.is_secure)
  File
 /base/data/home/apps/callzapapp/1.352621855547207562/boto/connection.py,
 line 566, in get_http_connection
conn = self._pool.get_http_connection(host, is_secure)
  File
 /base/data/home/apps/callzapapp/1.352621855547207562/boto/connection.py,
 line 241, in get_http_connection
return self.host_to_pool[key].get()
  File
 /base/data/home/apps/callzapapp/1.352621855547207562/boto/connection.py,
 line 148, in get
if self._conn_ready(conn):
  File
 /base/data/home/apps/callzapapp/1.352621855547207562/boto/connection.py,
 line 167, in _conn_ready
response = conn._HTTPConnection__response
   
 AttributeError:HTTPSConnectioninstancehasnoattribute'_HTTPConnection__response'

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Google

2011-09-22 Thread Jeff Schnitzer
On Thu, Sep 22, 2011 at 12:10 PM, Mark Bucciarelli mkb...@gmail.com wrote:

 It's refreshing to read Tornado's code and docs after fighting
 app engine.  i guess those hackers helped (a lot?) with gmail
 and gmap?
 query times linear with sizeof(result_set) was really sexy,
 but 2 QPS per instance?  really?  and i hit soft limit w/
 python so often it's a joke---i can't do any serious processing
 without hearing the google cash register ring away.
 Simple python prevayler setup with tornado + nginx front end
 pumps 7k inserts/second (one big gzip'd post).  bonus: it's
 single-threaded (remember medusa?).  since it uses prevayler,
 it will be easy to replicate/coordinate tornado nodes (if i ever
 need to).
 disappointed too and rewriting as fast as i can,
 m

While I'm a big fan of async systems like Node and Tornado, this is
really an apples/oranges comparison.  The programming models are quite
different and each strengths and weaknesses.  The domain of problems
appropriate to solve with Prevayler and the domain of problems
appropriate to solve with GAE's datastore have very little overlap.

If a Tornado/Prevaylor works for you, by all means use it.  But
recognize that it's a niche.

Jeff

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Keep data on memcache as long as possible

2011-09-22 Thread yamadaag
Hello.

I want to keep data on memcache as long as possible.
I'm planning to use cron which checks data on memcache, but I think
this way needs large list of memcache keys.
Does anyone have some idea to keep data longer on memcache?

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Apps For Domains is a MAJOR failing of AppEngine

2011-09-22 Thread Stuart Langley
I'll point it at the right people.

Thanks.

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



RE: [google-appengine] calling out the app engine team on ssl for custom domains

2011-09-22 Thread Brandon Wirtz
Amir,

 

While I can certainly relate that a Lack Of SSL is a severe limitation of
GAE, I also (not being a Google Employee) can say it is likely not GAE's
fault.  Google as a whole likely, but I very much suspect that because SSL
works on appspot.com domains. When working in a large company often you have
to deal with the relationships between your group and other groups. If a
feature requires that the infrastructure team, or the apps for domains team,
or the Google Edge Cache team make a change, or all 3 make a change, GAE
team is limited in how fast they push an item through.  Often other groups
have minimal incentive to add a feature that doesn't impact their
performance metrics.

 

If it is in fact a GAE issue, consider this. Right now you have the ability
to resolve this issue:

 

Set up a Squid/Proxy somewhere at Secure.YourDomain.com that proxies
requests to https://YourApp.Appspot.com

 

In 2014 XP will be End Of Lifed and the issue will be quick to resolve.

As IPv6 approaches IP's will not have significant cost and the issue will be
quick to resolve.

 

From a business standpoint, This is a New Feature that attracts new
clients. SQL support was something that existing customers were already
solving through other solutions, or were fighting through the SQL to GQL
conversion issues of their code.  CPU Cycles that were being sent to SQL
running on Amazon via HTTP requests and other methods were all CPU cycles
that GAE was losing, AND giving up market share to competitors.  If you want
this feature to come faster, use a Squid, implement it yourself, and make
sure every time someone else asks about it you point out I had to solve
this issue using a Squid Hosted at Amazon. It would be nice if I only had to
pay one Cloud Provider  so that the guys on the GAE team aren't attacked
for not implementing it, and are given ammo to go to other teams, their
executives, and whoever else and say this is costing us money, and making
us look like schmucks

 

-Brandon

 


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: drak...@gmail.com (Google Talk) 
Skype: drakegreene 

 http://www.blackwaterops.com/ BlackWater Ops 




 

 

 

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Amir More
Sent: Thursday, September 22, 2011 10:41 AM
To: google-appengine@googlegroups.com
Subject: [google-appengine] calling out the app engine team on ssl for
custom domains

 

Hi

 

(I apologize, it's a long one).

 

I'm calling out the app engine team on how they've handled issue 792
http://code.google.com/p/googleappengine/issues/detail?id=792colspec=ID%20
Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20
Log  - ssl/https support on google apps domains, and would like a
straightforward answer to the current status of this issue.

 

Before I get into how the team has dealt with the issue and my problem with
it, I'd like to make a few observations:

1. The engineers on the GAE team have known about the lack of SNI on IE in
XP for quite some time (see comment #48
http://code.google.com/p/googleappengine/issues/detail?id=792#c48  -
quoting an IRC session).  We can safely regard August 2009 as a point of
time at which GAE engineers knew about this problem.

2. The issue was market as Started in October 2010.  The GAE team and/or
it's decision makers have clearly chosen to work on this issue.  This is
non-trivial given the success of GAE which, as usual, has lead to a queue of
dev tasks far larger than the capacity of the team.  In other words, this
issue is decidedly important enough to work on that dev resources are
prioritized to work on it.

3. In the last two Google I/O events, the issue of SSL on google apps /
custom domains has been prominently displayed as a feature which will be
available 'soon', whether as part of GAE for Business (available by EOY
2010) or as a feature that's on deck for general availability.

4. Despite the issue of SNI and IE/XP, there appear to be a handful of
possible solutions to overcome the limitations it presents.  More on this
later.

5. Other features which have been taken on by the team and were expected to
take a relatively long time to bring to fruition have been declared as such.
For example, if we look at the Full-Text Search issue, it was marked as
Started back in October 2009, but with the following text:

I'm marking this issue as Started but I want to set expectations
appropriately: 

This is a major undertaking and this will not happen soon, even by the most
generous definition of soon.

 

Given these observations - it is understandable and acceptable that there
are factors beyond the control of the team; namely that the lack of support
for SNI in IE on Windows XP presents a technical obstacle.  On the other
hand, the recurring assurances that this issue 

[google-appengine] How to throttle or batch transactional updates to an entity group

2011-09-22 Thread Nikolaj
Hi there,

I'm developing an application that requires me to create lots of child
entities within the same entity group transactionally. The tasks being
generated to do this come in unpredictable bursts - sometimes 100/s
for an entity group. This is clearly exceeding the 1/s limit for
transaction contention and causing some real problems for my poor
application.

I need a way to either batch the required updates for each entity
group so I can run through them serially or otherwise schedule each
update to run on a 1/s basis. The ideas I've come up with so far:

1. Use some kind of memcache'd timestamp or counter to schedule or
throttle the updates. My question is how to do this in a way that will
work with 100's of tasks hungrily looking for their time slot? Should
I do a CAS for when the last task was scheduled (would this even work
with the contention we're talking about?) or can I use an atomic
operation like incr() somehow?

2. Store the work items somewhere and then at some later time query
for the work items for an entity group and create the children in
serial. I'd like to avoid this, if possible, as it creates many other
headaches. My application is already using the taskqueue to great
effect.

This really seems like a queue problem - if only there was some kind
of dynamic subqueue where I could add tasks with a 'namespace' of the
entity group. Then entity groups could run in parallel, but the entity
group items would still be in serial. Does something like that exist?

Any suggestions or experiences on how I can work around this would be
appreciated.

Many thanks,

Nikolaj

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



RE: [google-appengine] How to throttle or batch transactional updates to an entity group

2011-09-22 Thread Brandon Wirtz
Start a another datastore that doesn't use the same entity, but uses an
incremental system.

On Write:
In a table with format
Writes to do, Entity to Overwrite, Data for Entity
1,Brandon Wirtz, +$120
2,Brandon Wirtz, -$120
3,Brandon Wirtz, +$0.66

Increment Write to do count, and store transaction.


If a  Read request for the entity comes in:
Get Entity 
Get Latest committed Write To Do Value
Check Write Cache
Recalculate Value based on Entity Value and All Changes

On Batch:
For batch size calculate all values, and update entities
Store Late todo value as Last committed write.

You can now batch as often as every 2 seconds and not hit the entity write
limit.


-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Nikolaj
Sent: Thursday, September 22, 2011 3:59 PM
To: Google App Engine
Subject: [google-appengine] How to throttle or batch transactional updates
to an entity group

Hi there,

I'm developing an application that requires me to create lots of child
entities within the same entity group transactionally. The tasks being
generated to do this come in unpredictable bursts - sometimes 100/s for an
entity group. This is clearly exceeding the 1/s limit for transaction
contention and causing some real problems for my poor application.

I need a way to either batch the required updates for each entity group so I
can run through them serially or otherwise schedule each update to run on a
1/s basis. The ideas I've come up with so far:

1. Use some kind of memcache'd timestamp or counter to schedule or throttle
the updates. My question is how to do this in a way that will work with
100's of tasks hungrily looking for their time slot? Should I do a CAS for
when the last task was scheduled (would this even work with the contention
we're talking about?) or can I use an atomic operation like incr() somehow?

2. Store the work items somewhere and then at some later time query for the
work items for an entity group and create the children in serial. I'd like
to avoid this, if possible, as it creates many other headaches. My
application is already using the taskqueue to great effect.

This really seems like a queue problem - if only there was some kind of
dynamic subqueue where I could add tasks with a 'namespace' of the entity
group. Then entity groups could run in parallel, but the entity group items
would still be in serial. Does something like that exist?

Any suggestions or experiences on how I can work around this would be
appreciated.

Many thanks,

Nikolaj

--
You received this message because you are subscribed to the Google Groups
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Keep data on memcache as long as possible

2011-09-22 Thread Andrei
You can have private memcahed
http://aws.amazon.com/elasticache/

On Sep 22, 5:36 pm, yamadaag edo808...@gmail.com wrote:
 Hello.

 I want to keep data on memcache as long as possible.
 I'm planning to use cron which checks data on memcache, but I think
 this way needs large list of memcache keys.
 Does anyone have some idea to keep data longer on memcache?

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] How to throttle or batch transactional updates to an entity group

2011-09-22 Thread Steve Sherrie
Definitely checkout Brett Slatkin's Building high-throughput data 
pipelines with Google App Engine 
http://www.google.com/events/io/2010/sessions/high-throughput-data-pipelines-appengine.html 
I/O Session which should give you a fundamental understanding of the 
caveats involved with batch writing.


You have to do a little work to make sure writes are not added to a 
batch that's already applied (or is otherwise invalid), but Brett 
explains how to do that with memcache locking.



Steve



On 11-09-22 07:11 PM, Brandon Wirtz wrote:

Start a another datastore that doesn't use the same entity, but uses an
incremental system.

On Write:
In a table with format
Writes to do, Entity to Overwrite, Data for Entity
1,Brandon Wirtz, +$120
2,Brandon Wirtz, -$120
3,Brandon Wirtz, +$0.66

Increment Write to do count, and store transaction.


If a  Read request for the entity comes in:
Get Entity
Get Latest committed Write To Do Value
Check Write Cache
Recalculate Value based on Entity Value and All Changes

On Batch:
For batch size calculate all values, and update entities
Store Late todo value as Last committed write.

You can now batch as often as every 2 seconds and not hit the entity write
limit.


-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Nikolaj
Sent: Thursday, September 22, 2011 3:59 PM
To: Google App Engine
Subject: [google-appengine] How to throttle or batch transactional updates
to an entity group

Hi there,

I'm developing an application that requires me to create lots of child
entities within the same entity group transactionally. The tasks being
generated to do this come in unpredictable bursts - sometimes 100/s for an
entity group. This is clearly exceeding the 1/s limit for transaction
contention and causing some real problems for my poor application.

I need a way to either batch the required updates for each entity group so I
can run through them serially or otherwise schedule each update to run on a
1/s basis. The ideas I've come up with so far:

1. Use some kind of memcache'd timestamp or counter to schedule or throttle
the updates. My question is how to do this in a way that will work with
100's of tasks hungrily looking for their time slot? Should I do a CAS for
when the last task was scheduled (would this even work with the contention
we're talking about?) or can I use an atomic operation like incr() somehow?

2. Store the work items somewhere and then at some later time query for the
work items for an entity group and create the children in serial. I'd like
to avoid this, if possible, as it creates many other headaches. My
application is already using the taskqueue to great effect.

This really seems like a queue problem - if only there was some kind of
dynamic subqueue where I could add tasks with a 'namespace' of the entity
group. Then entity groups could run in parallel, but the entity group items
would still be in serial. Does something like that exist?

Any suggestions or experiences on how I can work around this would be
appreciated.

Many thanks,

Nikolaj

--
You received this message because you are subscribed to the Google Groups
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.




--
You received this message because you are subscribed to the Google Groups Google 
App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] What happens to URLFetch Async Call that is left alone?

2011-09-22 Thread Albert
Suppose I call URLFetch Async, and then I return a response to the
user without calling get_result().

1. Does a frontend instance wait for the response of the fetched URL,
and consume instance time? Or does some background appengine server
handle that for me, and then just discards the response of the url
because I never called get_result()?

2. Is the behavior the same for datastore async, memcache async, and
other async calls?

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



Re: [google-appengine] calling out the app engine team on ssl for custom domains

2011-09-22 Thread Amir More
Hi Brandon,

Regarding your resolution of setting up a squid/proxy that forwards requests 
to https://*.appspot.com somewhere:
Having all your traffic go through a single server on AWS or other VPS to 
proxy requests for google app engine is equivalent to buying a top of the 
line super-car, ripping out it's four-digit horse power engine and strapping 
it to a moped with the goal of using said turbo-charged moped for a road 
trip from new york to california, all because the super-car is too wide for 
some of the roads you might encounter.  It might work but you're doing it 
wrong.

Let's try to go with the flow: I'll see your proxy/squid set up somewhere 
and raise you a multinational dns provider with name servers on most 
continents with geolocation rules to forward dns requests to the CNAME of a 
multi-zone load balancer at the nearest AWS region out of 5 worldwide; each 
region's ELB configured to forward to auto-scaling health-checked linux 
instances balanced across all availability zones, each instance running a 
modified linux kernel optimized for the sole purpose of being a web proxy, 
running either varnish or nginx as a front end, using a SPDY library for SSL 
requests to app engine (yeah, the app engine front end has SPDY - GAE team 
didn't even know about it for a while).  It would be best to have the AWS 
ELB use SSL with SPDY to talk to the instances but we'll let that slide.

Yet, still, this solution is sub par considering:
1. There's hardly any point to serving static files from GAE, might as well 
serve them from your proxy.  Yay, more locations to push to :) Or you could 
have your proxy be a literal cache and time out files but then you'd have to 
either push a cache flush or use cache busters for your content.  IMO both 
reek of an equally vile stench.
2. It's likely the Channel API won't work with all those middle men.  If the 
GAE team starts using websockets (or regular tcp/ip sockets while we're at 
it) we'd be back to the drawing board.  Also various other APIs might be 
negatively affected or require some tinkering (blobstore upload, XMPP and 
task queue API)
3. Consistently added latency in the best case - you have the added latency 
of initiating an SSL handshake with the proxy.  Given a solution with a load 
balancer you'd have two handshakes, and depending on how they're set up 
either one or both of them will be full SSL handshakes (not just TCP 
handshakes)
4. Additional highly varying latency in the worst case - what happens when 
the GAE or production teams move the instances serving GAE requests to 
another data center?  Your users would see a sudden jump in latency since 
the proxy they're working with takes longer to reach the GAE domains/ips 
it's been working with.  It'll take a while for new geolocation rules at the 
dns level meant to counter the effect to kick in due to dns caching.
5. It's expensive.  The cheapest single server solution is more expensive 
than the GAE $9/app/month under the new pricing model.  The full-blown AWS 
solution is somewhere around $1k a month.  Not including the labor and 
maintenance required for the custom linux image.

There are probably more issues but those are the best I could think of off 
the top of my head.

I think there is no reason to believe that internal politics at google are 
holding this issue back.  Also I can't find a reason to believe that google 
is an organization set up such that the GAE team and/or their 
product/project managers need to give financial incentives to other teams 
just to get a major feature out the door.  I'm not saying there aren't 
internal politics because there probably are.  I'm just saying that a 
feature of this type seems like something that, at worst, would be 
arbitrated quickly by a manager high enough on the corporate ladder to see 
the detrimental effect of not finishing this feature a full year after it 
was announced at a major company event.

Regarding 2014 - I agree.. in that MS and their products will be synonymous 
with myspace by then to developers.  But you can't deny the size of MS and 
their existing install base.  EOL for XP doesn't necessarily mean that 
bureaucratic organizations like government offices will have upgraded by 
2014.

IPv6.. the jury's still out on that one.

The question remains - are we waiting for 2014 or whichever decade will 
bring IPv6 / end of IE on XP or is there something in the works?
I don't take issue with which decision the GAE team made, but with the fact 
that they're zigzagging on the availability of the feature.

Amir

-- 
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/-/9Rs5wZemfCEJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 

Re: [google-appengine] What happens to URLFetch Async Call that is left alone?

2011-09-22 Thread keakon lolicon
The SDK will automatically create a RPC object for async function, or you
can create it by yourself.
Before the end of your response, the RPC object will block the respond and
wait until it's done, and no callback will be called.
However, it looks like the local dev server just ignores it.

--
keakon

My blog(Chinese): www.keakon.net
Blog source code: https://bitbucket.org/keakon/doodle/



On Fri, Sep 23, 2011 at 8:17 AM, Albert albertpa...@gmail.com wrote:

 Suppose I call URLFetch Async, and then I return a response to the
 user without calling get_result().

 1. Does a frontend instance wait for the response of the fetched URL,
 and consume instance time? Or does some background appengine server
 handle that for me, and then just discards the response of the url
 because I never called get_result()?

 2. Is the behavior the same for datastore async, memcache async, and
 other async calls?

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



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Google Apps Viewer-like Thing for Audio/Video?

2011-09-22 Thread Niklas Rosencrantz
I use 1pixelout.swf but that is flash and audio only so I understand the 
limitations. 
Still it worked well for a project where I wanted to display a list of mp3 
and a player for each. 
I think it should be a feature request to add functions like these to app 
engine in an independent way such as the get_serving_url is accessible 
both to Java and python developers similarly there could be more functions 
for multimedia and text since sometimes app engine is very good for storage 
and programming your own functions but it doesn't have many functions built 
in. 
Cheers,
Niklas

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



RE: [google-appengine] calling out the app engine team on ssl for custom domains

2011-09-22 Thread Brandon Wirtz
I disagree.  I would bet money that Putting a Squid in front of your app
would make it faster. Page Level Caching and the ability to put your Image
assets in cache are going to make things faster. 

 

Also I didn't say single there are plenty of solutions that would do PLC
from multiple locations.  Your budget constraint is a limitation.  Not to
sound cold, but you knew going in to GAE that HTTPS wasn't supported, and
would have to use an external solution work.  As such it is hard for me
really feel that your complaint about having to use an external solution is
founded.

 

GAE zigzags, I chalk up to Politics like I said.  I'm sure all the GAE guys
know they want HTTPS to work, and I'm sure that they feel silly that it is a
feature that doesn't work.  

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Amir More
Sent: Thursday, September 22, 2011 7:20 PM
To: google-appengine@googlegroups.com
Subject: Re: [google-appengine] calling out the app engine team on ssl for
custom domains

 

Hi Brandon,

 

Regarding your resolution of setting up a squid/proxy that forwards requests
to https://*.appspot.com somewhere:

Having all your traffic go through a single server on AWS or other VPS to
proxy requests for google app engine is equivalent to buying a top of the
line super-car, ripping out it's four-digit horse power engine and strapping
it to a moped with the goal of using said turbo-charged moped for a road
trip from new york to california, all because the super-car is too wide for
some of the roads you might encounter.  It might work but you're doing it
wrong.

 

Let's try to go with the flow: I'll see your proxy/squid set up somewhere
and raise you a multinational dns provider with name servers on most
continents with geolocation rules to forward dns requests to the CNAME of a
multi-zone load balancer at the nearest AWS region out of 5 worldwide; each
region's ELB configured to forward to auto-scaling health-checked linux
instances balanced across all availability zones, each instance running a
modified linux kernel optimized for the sole purpose of being a web proxy,
running either varnish or nginx as a front end, using a SPDY library for SSL
requests to app engine (yeah, the app engine front end has SPDY - GAE team
didn't even know about it for a while).  It would be best to have the AWS
ELB use SSL with SPDY to talk to the instances but we'll let that slide.

 

Yet, still, this solution is sub par considering:

1. There's hardly any point to serving static files from GAE, might as well
serve them from your proxy.  Yay, more locations to push to :) Or you could
have your proxy be a literal cache and time out files but then you'd have to
either push a cache flush or use cache busters for your content.  IMO both
reek of an equally vile stench.

2. It's likely the Channel API won't work with all those middle men.  If the
GAE team starts using websockets (or regular tcp/ip sockets while we're at
it) we'd be back to the drawing board.  Also various other APIs might be
negatively affected or require some tinkering (blobstore upload, XMPP and
task queue API)

3. Consistently added latency in the best case - you have the added latency
of initiating an SSL handshake with the proxy.  Given a solution with a load
balancer you'd have two handshakes, and depending on how they're set up
either one or both of them will be full SSL handshakes (not just TCP
handshakes)

4. Additional highly varying latency in the worst case - what happens when
the GAE or production teams move the instances serving GAE requests to
another data center?  Your users would see a sudden jump in latency since
the proxy they're working with takes longer to reach the GAE domains/ips
it's been working with.  It'll take a while for new geolocation rules at the
dns level meant to counter the effect to kick in due to dns caching.

5. It's expensive.  The cheapest single server solution is more expensive
than the GAE $9/app/month under the new pricing model.  The full-blown AWS
solution is somewhere around $1k a month.  Not including the labor and
maintenance required for the custom linux image.

 

There are probably more issues but those are the best I could think of off
the top of my head.

 

I think there is no reason to believe that internal politics at google are
holding this issue back.  Also I can't find a reason to believe that google
is an organization set up such that the GAE team and/or their
product/project managers need to give financial incentives to other teams
just to get a major feature out the door.  I'm not saying there aren't
internal politics because there probably are.  I'm just saying that a
feature of this type seems like something that, at worst, would be
arbitrated quickly by a manager high enough on the corporate ladder to see
the detrimental effect of not finishing this feature a full year after it
was announced at a major company event.

 

Regarding 2014 - I agree.. 

Re: [google-appengine] What happens to URLFetch Async Call that is left alone?

2011-09-22 Thread Greg Darke (Google)
What happens when you start an RPC, but not wait for it to finish is
not really defined. As you have may have noticed, it also works
differently in production and in the dev appserver.

Also note that since it is not defined, the behaviour may change at anytime.

I would suggest that you should also wait for an rpc call to finish
before returning from your handler. This will also allow you to
determine if the rpc call succeeded or not.

On 23 September 2011 12:52, keakon lolicon kea...@gmail.com wrote:
 The SDK will automatically create a RPC object for async function, or you
 can create it by yourself.
 Before the end of your response, the RPC object will block the respond and
 wait until it's done, and no callback will be called.
 However, it looks like the local dev server just ignores it.

 --
 keakon
 My blog(Chinese): www.keakon.net
 Blog source code: https://bitbucket.org/keakon/doodle/


 On Fri, Sep 23, 2011 at 8:17 AM, Albert albertpa...@gmail.com wrote:

 Suppose I call URLFetch Async, and then I return a response to the
 user without calling get_result().

 1. Does a frontend instance wait for the response of the fetched URL,
 and consume instance time? Or does some background appengine server
 handle that for me, and then just discards the response of the url
 because I never called get_result()?

 2. Is the behavior the same for datastore async, memcache async, and
 other async calls?

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


 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: What happens to URLFetch Async Call that is left alone?

2011-09-22 Thread Albert
Thanks!

How about in the Production environment? What's the behavior there?

On Sep 22, 10:52 pm, keakon lolicon kea...@gmail.com wrote:
 The SDK will automatically create a RPC object for async function, or you
 can create it by yourself.
 Before the end of your response, the RPC object will block the respond and
 wait until it's done, and no callback will be called.
 However, it looks like the local dev server just ignores it.

 --
 keakon

 My blog(Chinese):www.keakon.net
 Blog source code:https://bitbucket.org/keakon/doodle/







 On Fri, Sep 23, 2011 at 8:17 AM, Albert albertpa...@gmail.com wrote:
  Suppose I call URLFetch Async, and then I return a response to the
  user without calling get_result().

  1. Does a frontend instance wait for the response of the fetched URL,
  and consume instance time? Or does some background appengine server
  handle that for me, and then just discards the response of the url
  because I never called get_result()?

  2. Is the behavior the same for datastore async, memcache async, and
  other async calls?

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

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Re: What happens to URLFetch Async Call that is left alone?

2011-09-22 Thread Greg Darke (Google)
It is undefined, and thus you should not do it.

On 23 September 2011 14:35, Albert albertpa...@gmail.com wrote:
 Thanks!

 How about in the Production environment? What's the behavior there?

 On Sep 22, 10:52 pm, keakon lolicon kea...@gmail.com wrote:
 The SDK will automatically create a RPC object for async function, or you
 can create it by yourself.
 Before the end of your response, the RPC object will block the respond and
 wait until it's done, and no callback will be called.
 However, it looks like the local dev server just ignores it.

 --
 keakon

 My blog(Chinese):www.keakon.net
 Blog source code:https://bitbucket.org/keakon/doodle/







 On Fri, Sep 23, 2011 at 8:17 AM, Albert albertpa...@gmail.com wrote:
  Suppose I call URLFetch Async, and then I return a response to the
  user without calling get_result().

  1. Does a frontend instance wait for the response of the fetched URL,
  and consume instance time? Or does some background appengine server
  handle that for me, and then just discards the response of the url
  because I never called get_result()?

  2. Is the behavior the same for datastore async, memcache async, and
  other async calls?

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

 --
 You received this message because you are subscribed to the Google Groups 
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to 
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/google-appengine?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: What happens to URLFetch Async Call that is left alone?

2011-09-22 Thread keakon
Hi Greg,

So what Nick said here was just current implement, and it's not safe
to rely on it?
https://groups.google.com/group/google-appengine/browse_thread/thread/cbcf2868f3eace1b/6920032edd68f3a2

On Sep 23, 12:45 pm, Greg Darke (Google) darke+goo...@google.com
wrote:
 It is undefined, and thus you should not do it.

 On 23 September 2011 14:35, Albert albertpa...@gmail.com wrote:







  Thanks!

  How about in the Production environment? What's the behavior there?

  On Sep 22, 10:52 pm, keakon lolicon kea...@gmail.com wrote:
  The SDK will automatically create a RPC object for async function, or you
  can create it by yourself.
  Before the end of your response, the RPC object will block the respond and
  wait until it's done, and no callback will be called.
  However, it looks like the local dev server just ignores it.

  --
  keakon

  My blog(Chinese):www.keakon.net
  Blog source code:https://bitbucket.org/keakon/doodle/

  On Fri, Sep 23, 2011 at 8:17 AM, Albert albertpa...@gmail.com wrote:
   Suppose I call URLFetch Async, and then I return a response to the
   user without calling get_result().

   1. Does a frontend instance wait for the response of the fetched URL,
   and consume instance time? Or does some background appengine server
   handle that for me, and then just discards the response of the url
   because I never called get_result()?

   2. Is the behavior the same for datastore async, memcache async, and
   other async calls?

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

  --
  You received this message because you are subscribed to the Google Groups 
  Google App Engine group.
  To post to this group, send email to google-appengine@googlegroups.com.
  To unsubscribe from this group, send email to 
  google-appengine+unsubscr...@googlegroups.com.
  For more options, visit this group 
  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-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.