[google-appengine] IN queries

2009-09-04 Thread Jeff Enderwick
I read somewhere that IN queries are processed serially by the datastore. GOOGers, what is a rough rule-of-thumb on the benefit of using IN? For example, if the base RT latency for anything with the datastore is Nms, then could guesstimate that using N for a list of 3 is not a huge latency win,

[google-appengine] Re: IN queries

2009-09-04 Thread Jeff Enderwick
. -Nick On Fri, Sep 4, 2009 at 4:30 PM, Jeff Enderwick jeff.enderw...@gmail.com wrote: I read somewhere that IN queries are processed serially by the datastore. GOOGers, what is a rough rule-of-thumb on the benefit of using IN? For example, if the base RT latency for anything with the datastore

[google-appengine] The number of errors generated by your application every second

2009-09-04 Thread Jeff Enderwick
In the context dashboard, what precisely does 'errors' mean? I see an error frequency in the dashboard that is much higher than what I see in the logs. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App

[google-appengine] Re: Retrieving Source from GAE

2009-09-04 Thread Jeff Enderwick
dropbox is a nice/convenient option as well. GOOGers, this is a missing feature that many customers have assumed/expected, to their detriment. Personally, I have on off-site backups, but it seems that many aren't so fortunate (or are a little too nonki). Yeah, if the customer uses his/her head,

[google-appengine] Re: 30 Max simultaneous requests (maxThreads)?

2009-09-02 Thread Jeff Enderwick
There are application domains that spike severely. One example is AAA for corporate environments. There are large companies on the planet where *everyone* comes to work @ 8am +/-10min and logs in. Just one example from a prior life... On Wed, Sep 2, 2009 at 12:34 PM, Brandon N.

[google-appengine] Re: high variance in cpu_ms for same GET URL data, constant api_cpu_ms

2009-08-31 Thread Jeff Enderwick
thread in 965ms of wall-clock time. Jeff On Mon, Aug 31, 2009 at 11:30 AM, Jeff S (Google)j...@google.com wrote: Hi Jeff On Fri, Aug 28, 2009 at 1:08 AM, Jeff Enderwick jeff.enderw...@gmail.com wrote: Trolling my logs, I'm coming across cases where there is extreme (~10x) variance

[google-appengine] Re: high variance in cpu_ms for same GET URL data, constant api_cpu_ms

2009-08-31 Thread Jeff Enderwick
On Aug 31, 1:52 pm, Jeff Enderwick jeff.enderw...@gmail.com wrote: thanks - I expected that the api calls would use parallel processing, but the app/servelet itself is a single thread of execution. if I have api_cpu_ms of 74, and cpu_ms of 1500, then that gives 1426ms for the non-api (app/servelet

[google-appengine] Re: high variance in cpu_ms for same GET URL data, constant api_cpu_ms

2009-08-31 Thread Jeff Enderwick
into this, would you mind sharing which runtime you are using, and the app ID? Cheers, Jeff On Aug 31, 1:52 pm, Jeff Enderwick jeff.enderw...@gmail.com wrote: thanks - I expected that the api calls would use parallel processing, but the app/servelet itself is a single thread

[google-appengine] high variance in cpu_ms for same GET URL data, constant api_cpu_ms

2009-08-28 Thread Jeff Enderwick
Trolling my logs, I'm coming across cases where there is extreme (~10x) variance in cpu_ms for the exact same code flow, same GET URL and same data (not even any intervening writes to the datastore). I am logging my db.* function accesses, and I have factored out memcache too. For example: 92ms,

[google-appengine] Re: synthentic keys - performance implications?

2009-08-25 Thread Jeff Enderwick
...@google.com wrote: On Mon, Aug 24, 2009 at 6:44 PM, Jeff Enderwick jeff.enderw...@gmail.com wrote: thanks - I got bit by those __init__ nuances over the weekend. I ended up passing an optional flag to the __init__ to say this is really a new() vs a datastore reconstitution. I del the optional flag

[google-appengine] Re: synthentic keys - performance implications?

2009-08-24 Thread Jeff Enderwick
but call the super __init__. Does that cover the __init__ gotchas, or am I digging my own grave by not converting to a distinct create function? On Mon, Aug 24, 2009 at 3:56 AM, Nick Johnson (Google)nick.john...@google.com wrote: Hi Jeff, On Sat, Aug 22, 2009 at 7:24 PM, Jeff Enderwick

[google-appengine] Re: Google App Engine and Dedicated IP

2009-08-24 Thread Jeff Enderwick
There is a related feature request, which you can star: http://code.google.com/p/googleappengine/issues/detail?id=792colspec=ID%20Type%20Status%20Priority%20Stars%20Owner%20Summary%20Log%20Component On Mon, Aug 24, 2009 at 1:13 AM, jackyaoye...@gmail.com wrote: Thanks, I'll try to port the

[google-appengine] Re: https support

2009-08-22 Thread Jeff Enderwick
Star it, bro: http://code.google.com/p/googleappengine/issues/detail?id=792colspec=ID%20Type%20Status%20Priority%20Stars%20Owner%20Summary%20Log%20Component On Fri, Aug 21, 2009 at 10:03 PM, repairmanalau2...@gmail.com wrote: google guys, I don't know if you guys realize the implication of

[google-appengine] synthentic keys - performance implications?

2009-08-22 Thread Jeff Enderwick
Currently, one must put() in order to have obj.key() be valid. In some flows, I find my self having to put() object twice for this reason. If I make a synthetic key, it appears that I can avoid this: class Joker(db.Model): unused = db.StringProperty() def __init__(self): m =

[google-appengine] Re: ListProperty vs StringListProperty

2009-08-11 Thread Jeff Enderwick
So, if I want StringListProperty, but I don't want/need the indexing, then I ought use ListProperty(db.Text)? Thanks again, Jeff On Mon, Aug 10, 2009 at 11:35 AM, Nick Johnson (Google)nick.john...@google.com wrote: On Mon, Aug 10, 2009 at 7:25 PM, Jeff Enderwickjeff.enderw...@gmail.com

[google-appengine] Re: ListProperty vs StringListProperty

2009-08-11 Thread Jeff Enderwick
Thanks again Nick. Sorry to be a PITA. We've been told that TextProperty is effectively the same as StringProperty w/out the indexing (although the online doc indicates some max length differences). What are the differences between ListProperty(db.Text) and StringListProperty(indexed=False), and

[google-appengine] api_cpu_ms (need to be sure I'm not being stupid)

2009-08-11 Thread Jeff Enderwick
long story short, I had a URL that was running 900/1500ms (app/api) CPU, so I had to dig into it. I was surprised by just how much CPU time some simple things are taking (or how much I think they're taking ;-). For example, with this class: class AssocObject(db.Model): urlPath =

[google-appengine] Re: ListProperty vs StringListProperty

2009-08-10 Thread Jeff Enderwick
Thanks Nick. So in the case below, will the datastore then maintain an index on alist by default? On Mon, Aug 10, 2009 at 3:35 AM, Nick Johnson (Google)nick.john...@google.com wrote: Hi Jeff, A StringListProperty is exactly equivalent, as far as the datastore is concerned, to multiple

[google-appengine] ListProperty vs StringListProperty

2009-08-09 Thread Jeff Enderwick
Hey all, is there any datastop/API overhead difference between these two? Is there any difference in index (or lack thereof) maintenance by the datastore? Thanks, Jeff --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups

[google-appengine] Re: simultaneous dynamic requests, max blob size, multi-blob?

2009-07-23 Thread Jeff Enderwick
, Wooblegeoffsp...@gmail.com wrote: On Jul 18, 8:29 pm, Jeff Enderwick jeff.enderw...@gmail.com wrote: Is 10MB the current limit, or is it 1MB? I was under the impression that the max blob size was 1MB, and max HTTP response size was 10MB. Do I have it right? API calls are limited to 1MB unless

[google-appengine] Re: simultaneous dynamic requests, max blob size, multi-blob?

2009-07-21 Thread Jeff Enderwick
#Hard_limits On Mon, Jul 20, 2009 at 4:00 PM, Wooblegeoffsp...@gmail.com wrote: On Jul 18, 8:29 pm, Jeff Enderwick jeff.enderw...@gmail.com wrote: Is 10MB the current limit, or is it 1MB? I was under the impression that the max blob size was 1MB, and max HTTP response size was 10MB. Do I have

[google-appengine] https support for dev_appserver.py?

2009-07-19 Thread Jeff Enderwick
Looks like dev_appserver.py doesn't support http (secure in app.yaml). Any thoughts about adding that? Or did I miss something? Thanks! Jeff --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group.

[google-appengine] Re: Eating one's own dog food

2009-07-18 Thread Jeff Enderwick
There are those of us who are betting real $s that GAE is a real platform for serving an app that needs to scale. I am grateful that GOOG lets me host my glassblowing web site for free (scalability not an issue). I expect to pay money to GOOG for this platform if/when things go well. Hopefully I

[google-appengine] Re: simultaneous dynamic requests, max blob size, multi-blob?

2009-07-18 Thread Jeff Enderwick
Is 10MB the current limit, or is it 1MB? I was under the impression that the max blob size was 1MB, and max HTTP response size was 10MB. Do I have it right? On Thu, Jul 16, 2009 at 2:15 AM, Nick Johnson (Google)nick.john...@google.com wrote: Hi Jeff, On Thu, Jul 16, 2009 at 3:33 AM, Jeff

[google-appengine] simultaneous dynamic requests, max blob size, multi-blob?

2009-07-15 Thread Jeff Enderwick
1) I saw that 30 was listed somewhere as the max simultaneous dynamic requests for an app. Is this really true? Even if I am paying, and I have a very popular app? I see the math indicating that one can retire 400/sec with 75ms latency, but I am sure that GOOG-internal apps aren't held to this

[google-appengine] Re: why there is no way to build a key id?

2009-07-07 Thread Jeff Enderwick
Jeff Enderwick jeff.enderw...@gmail.com Hey Jeff - sorry for the confusion. The idea was that one would be able to get the unique id from an GOOG and then do a db.put with that id as an arg. For example, let's say I want to create two entities, with each referring to each other. I need to do

[google-appengine] Re: HIPAA requirements vs. AppEngine security guidelines

2009-07-07 Thread Jeff Enderwick
I say go hire a HIPAA consultant who can answer such questions authoritatively. I've been through FIPS before, and you would not believe the odd lawyeresque contrivances used to get certified. With HIPAA you are in the same realm, and so you should hire yourself the appropriate barrister. $.02,

[google-appengine] Re: why there is no way to build a key id?

2009-06-24 Thread Jeff Enderwick
Hey Jeff - sorry for the confusion. The idea was that one would be able to get the unique id from an GOOG and then do a db.put with that id as an arg. For example, let's say I want to create two entities, with each referring to each other. I need to do three db.put operations: a = Foo()

[google-appengine] Re: why there is no way to build a key id?

2009-06-16 Thread Jeff Enderwick
I second that. I have cases where I'm building a structure of multiple objects, and I have to do a put() just to get the id, and then I need to do another put() to the same object later on. Eliminating the 2nd put() of the same object in the flow would also allow me to wrap it in a transaction.

[google-appengine] Re: Deep entity groups and long key strings

2009-06-15 Thread Jeff Enderwick
as a delimiter-separated list of IDs, though - 1/2/3/4 - and regenerate the key yourself. -Nick Johnson On Sun, Jun 14, 2009 at 5:51 PM, Jeff Enderwick jeff.enderw...@gmail.com wrote: I have possibly deep entity groups (think tree structure), but I want a URL where the user can go to a specific

[google-appengine] forward reference in db.ReferenceProperty()

2009-06-15 Thread Jeff Enderwick
Apologies in advance if this is obvious to the experienced Python programmer. It is clear that 20+yrs of C has worn grooves in my brain: class ClassA(db.Expando): extref = db.ReferenceProperty(ClassB) ... class ClassB(db.Expando): extref = db.ReferenceProperty(ClassA) is what I want.

[google-appengine] Deep entity groups and long key strings

2009-06-14 Thread Jeff Enderwick
I have possibly deep entity groups (think tree structure), but I want a URL where the user can go to a specific node, like: http://viewnode/node-id. I'd like to use db.get() to directly access the node rather than query based on node-id. If I build the URL based on str(node.key()), then the

[google-appengine] looking for a GOOG logo I can use on my site

2009-05-29 Thread Jeff Enderwick
Something similar to what Facebook offers (the connect button). I see the folks at typepad are using this: http://static.typepad.com/.shared/images/profile/openid_buttons/google.gif Does GOOG get mad if I use it? If I shrink it? Does GOOG offer images that have been okayed by the branding folks?