Re: [google-appengine] Re: Instances

2011-05-03 Thread Eduardo Perrino
Hi Robert,

After all, thank you for your recomendation of use Appstats. I'm going to
use it.

Undeploy application doesn't mean lose an instance because I see a lots of
loading request in my logs. We've developed a warm up servlet to start up
the application into dynamic instances when I've activated "always on"
feature. But we've detected into always on instances that the application is
shutting down too.

Also I think the algorithm for dispatching requests between instances is
"Round Robin" and when we haven't got requests enough. So we've got a lot of
loading requests because the time between requests into the same instance is
long enough to shut down the application for appengine.

Eduardo.

2011/5/4 Robert Kluin 

> Hi Eduardo,
>  It sounds like you might benefit from using Appstats.  I've heard
> Java apps tend to have large startup times. However, from what you're
> describing it sounds like your app is getting new instances spun up
> (16 in total) but it is not serving requests quickly enough.  At least
> if I understand the issues correctly.
>
>  http://code.google.com/appengine/docs/java/tools/appstats.html
>
>  When you say 'undeploy' the application, you mean you lose an
> instance?  As in you go from, say, 16 to 15 instances?  Also what
> Geoffrey said is correct (of course ;), only active instances are
> listed.  Instances can be spun up and down at any time.  Do you see
> lots of loading requests in your logs?
>
>
>
> Robert
>
>
>
>
>
> On Tue, May 3, 2011 at 13:05, Eduardo Perrino 
> wrote:
> >
> >
> > 2011/5/3 Geoffrey Spear 
> >>
> >>
> >> On May 3, 11:55 am, Eduardo Perrino  wrote:
> >> > Hi Robert,
> >> >
> >> > I try to explain better:
> >> >
> >> > Our application has 16 instances assigned by appengine automatically
> and
> >> > three of them are "always on". It doesn't have many requests, in fact,
> >> > the
> >> > time between them is large enough to appengine undeploy the
> application.
> >> > So
> >> > appengine is starting the application over and over.
> >>
> >> If the Instances section of the control panel shows that you currently
> >> have 16 instances, that's how many copies of your application are
> >> currently running. Instances that are "undeployed", as you put it,
> >> won't show in that panel.
> >
> > This is not true, because sometimes when an instance has received a
> request
> > the latency time is increased very much and if you go to the logs section
> > it's posible to see that the application has been started.
> >
> > I think, see the instances is not mean that the application is started.
> >
> >
> >>
> >> --
> >> 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.
>
>

-- 
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] Saving objects > 1 MB into Amazon S3?

2011-05-03 Thread Maximillian Dornseif
I'm looking for a way to save multi-Megabyte files from GAE in Amazon
S3 (Simple Storage Service).

With [S3 multipart upload][1] it would be possible to generate big
files but unfortunately the part size for S3 must be 5 MB or more
while with the urlfetch API we can write only 1 MB or less. So
this doesn't work.

Is there an other way to save large files from GAE to AWS? I need
files to be stored within the EU and so Google storage or the
blobstore a not an option.

--md

[1]: 
http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?uploadobjusingmpu.html

-- 
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] Instances

2011-05-03 Thread Anze Cesar
We have a similar problem. I've disabled the app, so all instances were
turned off and upon enabling it again, there were instantly 8 instances
running. We're also seeing weird behavior as it seems that not all instances
have the same state (which really puzzles me, since the app is stateless). I
thought it's a problem with cache (consequent reads yielded different
results), but the problem remains without cache.

We're running Play 1.1 framework.

On Tue, May 3, 2011 at 3:59 PM, Eduardo Perrino
wrote:

> Hi!!
>
> We have problems with the instance feature of appengine. Today we have
> got 16 instances,  and we've detected that many of them when receive a
> request, it has to start the application again. So our application
> consumes a lot of cpu because our startup process is a little heavy.
>
> To solve this situation we've enabled always on feature, and the
> problem becomes bigger, because always on instances has to start the
> application too.
>
> We don't understand this behavior and we need help to solve this.
> Otherwise we'll have to stop using appengine as a valid JAVA
> development platform because stop and start in every moment the
> application is unacceptable into this enviroment.
>
>
> Eduardo
>
> --
> 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.
>
>


-- 
lp,
Anže

-- 
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: Prospective search query size limit

2011-05-03 Thread Gregory D'alesandre
On Sat, Apr 30, 2011 at 12:22 PM, jbmusso  wrote:

> > The maximum query length is 4kb.  This implies the maximum number of
> > conditions depends on the structure of the query.  At most you could
> > probably have around 200 terms.
>
> Thank you for the answer, I see how this can limit my design and I
> will code accordingly. Considering the fact that my users may
> subscribe for alerts up to potentially thousands of words, I'll have
> to add more subscriptions.
>
> > We are still working to figure out the pricing.  The cost will likely be
> > proportional to the number of matches x registered subscriptions BUT as I
> > said we are still working through this is still very tentative.  It
> sounds
> > like the first is likely a better option simply because of the limitation
> in
> > terms of the number of terms.  As we have more information on how the
> > pricing will work, we'll announce it.
>
> I'm not sure to fully understand the "number of matches x registered
> subscriptions". Say, for example, that I have a million registered
> subscriptions, but only 0,1% of them concentrate most of the match
> calls. Wouldn't the formula you posted above make these almost-never-
> used 99,9% remaining subscriptions make my prospective-search billing
> quotas skyrocket ?
>
> In other words, "idle/never matched" subscriptions would greatly
> increase the cost of those of the most active subscriptions that are
> matched on a regular basis. I picked exaggerated numbers on purpose,
> though some applications may be designed that way (including mine,
> hehe...).
>

It does imply that although there will be some multiplicative constants
involved :) but as I mentioned we are still working out the details of how
the pricing will work.  As we get closer to having these better determined,
we'll make an announcement.

Thanks!

Greg


>
> I never realized before that pricing formulas could influence code/
> application design that much.
>
> Regards,
>
> -jbmusso
>
> --
> 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: Maintenance today?

2011-05-03 Thread Wesley C (Google)
Developers need to build robustness into their apps to withstand
read-only periods so that even if you're not notified, your app will
still continue to operate. Pls see the sticky post at the top of this
forum on how to do this.

Also, emails/posts about read-only periods do *not* come to this
forum. If you're interested in getting emails about read-only periods,
then sign up to receive notices from the App Engine Downtime Notify
Group as to when these maintenance periods will occur outside of
what's on the calendar, which is actively maintained and accurate:
https://groups.google.com/group/google-appengine-downtime-notify

Best regards,
-Wesley, The Google App Engine team
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
"Core Python Programming", Prentice Hall, (c)2007,2001
"Python Fundamentals", Prentice Hall, (c)2009
   http://corepython.com

wesley.chun : wesc+api at google.com : @wescpy
developer relations :: google cloud products

-- 
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] Failed to create store [gae://index]

2011-05-03 Thread vinh tran
Hi

I'm trying to deploy compass on GAE, my configuration is

Compass compass = new CompassConfiguration().setConnection("gae://index")
//store the index using GAE data store

.setSetting(CompassEnvironment.ExecutorManager.EXECUTOR_MANAGER_TYPE,"disabled")
// not to use threads

.addClass(Article.class).buildCompass();

I got two errors : Failed to create store gae://index and

org.compass.core.config.ConfigurationException: Failed to create executor
manager disabled ; nested exception is

java.lang.ClassNotFoundException: disabled

I'm new in compass and never used lucene before, need your help or give me a
simple example if possible.


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.



[google-appengine] Re: Using App Engine as a server for an Android game.

2011-05-03 Thread Thomas Wiradikusuma
Hi Ikai,

Sorry I'm hijacking this thread, but I'm curious, this "under 1000ms"
thing, is it for all requests including startup (cold start), or
excluding that? This is a concern for me as I'm using Java.

On May 4, 1:48 am, "Ikai Lan (Google)"  wrote:
> You're going to exceed free quotas before you hit 500 QPS.
>
> The system is set up to autoscale if your requests finish under 1000ms. The
> faster the better.

-- 
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: Instances

2011-05-03 Thread Robert Kluin
Hi Eduardo,
  It sounds like you might benefit from using Appstats.  I've heard
Java apps tend to have large startup times. However, from what you're
describing it sounds like your app is getting new instances spun up
(16 in total) but it is not serving requests quickly enough.  At least
if I understand the issues correctly.

  http://code.google.com/appengine/docs/java/tools/appstats.html

  When you say 'undeploy' the application, you mean you lose an
instance?  As in you go from, say, 16 to 15 instances?  Also what
Geoffrey said is correct (of course ;), only active instances are
listed.  Instances can be spun up and down at any time.  Do you see
lots of loading requests in your logs?



Robert





On Tue, May 3, 2011 at 13:05, Eduardo Perrino  wrote:
>
>
> 2011/5/3 Geoffrey Spear 
>>
>>
>> On May 3, 11:55 am, Eduardo Perrino  wrote:
>> > Hi Robert,
>> >
>> > I try to explain better:
>> >
>> > Our application has 16 instances assigned by appengine automatically and
>> > three of them are "always on". It doesn't have many requests, in fact,
>> > the
>> > time between them is large enough to appengine undeploy the application.
>> > So
>> > appengine is starting the application over and over.
>>
>> If the Instances section of the control panel shows that you currently
>> have 16 instances, that's how many copies of your application are
>> currently running. Instances that are "undeployed", as you put it,
>> won't show in that panel.
>
> This is not true, because sometimes when an instance has received a request
> the latency time is increased very much and if you go to the logs section
> it's posible to see that the application has been started.
>
> I think, see the instances is not mean that the application is started.
>
>
>>
>> --
>> 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: Using App Engine as a server for an Android game.

2011-05-03 Thread Thomas Wiradikusuma
Hi Ikai,

Sorry I'm hijacking this thread, but I'm curious, this "under 1000ms"
thing, is it for all requests including startup (cold start), or
excluding that? This is a concern for me as I'm using Java.

On May 4, 1:48 am, "Ikai Lan (Google)"  wrote:
> You're going to exceed free quotas before you hit 500 QPS.
>
> The system is set up to autoscale if your requests finish under 1000ms. The
> faster the better.

-- 
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] Running cpedialog on fedora 14 32 bit version

2011-05-03 Thread Robert Kluin
Hi David,
  You might want to use Python 2.5 if you're just starting out.  It
will help keep you from using features not available on production.

  Also, you might search the issue tracker and the groups for the
error.  I'm sure I've seen similar issues numerous times.

http://code.google.com/p/googleappengine/issues/list?q=pycrypto



Robert





On Mon, May 2, 2011 at 20:09, David Lee Evans  wrote:
> Hello, I am currently running Fedora 14 and have the
> python version of app Engine installed on my machine.
>
> When I try to run cpedialog, get the following errors.
>
> Traceback (most recent call last):
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 3858, in _HandleRequest
>    self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 3792, in _Dispatch
>    base_env_dict=env_dict)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 580, in Dispatch
>    base_env_dict=base_env_dict)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2918, in Dispatch
>    self._module_dict)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2822, in ExecuteCGI
>    reset_modules = exec_script(handler_path, cgi_path, hook)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2702, in ExecuteOrImportScript
>    exec module_code in script_module.__dict__
>  File "/var/www/cwg/main.py", line 23, in 
>    import rpc
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(self, *args, **kwargs)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2360, in load_module
>    return self.FindAndLoadModule(submodule, fullname, search_path)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(self, *args, **kwargs)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2249, in FindAndLoadModule
>    description)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(self, *args, **kwargs)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2194, in LoadModuleRestricted
>    description)
>  File "/var/www/cwg/rpc.py", line 36, in 
>    import authorized
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(self, *args, **kwargs)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2360, in load_module
>    return self.FindAndLoadModule(submodule, fullname, search_path)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(self, *args, **kwargs)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2249, in FindAndLoadModule
>    description)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(self, *args, **kwargs)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2194, in LoadModuleRestricted
>    description)
>  File "/var/www/cwg/authorized.py", line 23, in 
>    import gdata.service
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(self, *args, **kwargs)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2360, in load_module
>    return self.FindAndLoadModule(submodule, fullname, search_path)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(self, *args, **kwargs)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2249, in FindAndLoadModule
>    description)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(self, *args, **kwargs)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2194, in LoadModuleRestricted
>    description)
>  File "/var/www/cwg/gdata/service.py", line 82, in 
>    import gdata.auth
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(self, *args, **kwargs)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2360, in load_module
>    return self.FindAndLoadModule(submodule, fullname, search_path)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(self, *args, **kwargs)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2249, in FindAndLoadModule
>    description)
>  File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>    return func(sel

[google-appengine] Re: Java GAE/GWT Composite Design Pattern example with Persistence

2011-05-03 Thread RH
here would be an example using the heap:

class Directory {
public String name;
public ArrayList children = new ArrayList();

// could have any other properties or attributes here as well
Directory(String n){
   name = n;

public void Display() {
System.out.println(" name: " + name);
for(Directory d : children)
Display();
}
}

You should be able to add or remove any object in the tree:

...
   directoryObject.children.Add(new Directory("new child"));
...

and you can display the node and any child nodes:

...

 directoryObject.Display();

I want to use the GAE datastore to persist these POJOs (easy enough in
JDO) but also maintain their structural relationship to each other
(hard, at least that I can see) - That is, I am trying to persist the
object instances *and* their relations to each other.

RH



On May 2, 11:37 am, Todd Vierling  wrote:
> On Saturday, April 30, 2011 9:06:45 PM UTC-4, RH wrote:
>
> > I'm looking for a simple way to persist a set of dynamic Composite
> > Design Pattern objects (as described in Design Patterns by Gamma,
> > Helm, Johnson, and Vlissides) with either Google's native datastore,
> > JDO, or JPA, as well as send to and from the client via RPC.
>
> Design patterns mean pretty much zero in real-world discussions, so example
> code would be a lot more helpful. (Or in other words, "what does the class
> you're trying to persist look like?")

-- 
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: Prerelease SDK 1.5.0 available for download

2011-05-03 Thread nischalshetty
@Ikai Yeah, I've been running over requests through remote servers. But hey, 
the thought of making use of the streaming API did not occur to me! By 
streaming I presume you are suggesting I make use of the channel API, create 
a channel that would be listened to by my remote machines!? 

Apart from that, I see that backends won't have request limits. Does that 
mean we can consume Streaming APIs such as that of twitter? Oh boy, even 
that would be great news. 


-- 
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] Prerelease SDK 1.5.0 available for download

2011-05-03 Thread Robert Kluin
Lots of exciting features... hope they all make it in the final release!  ;)







On Tue, May 3, 2011 at 13:20, Ikai Lan (Google)
 wrote:
> Hey everyone,
> Prerelease SDK 1.5.0 is ready for download! There are a ton of bug fixes in
> this release as well as some pretty big features. Check it out. You can get
> the SDKs here:
> http://code.google.com/p/googleappengine/downloads/list
> The release notes are below. You'll notice that they're much longer than
> usual. We've listed out many of the bugs in the public issues tracker we've
> addressed.
> Python
> ==
> - Support for Backends which allow developers to create infrastructure
>   components that complement the existing dynamic apps which App Engine
> already
>   provides. Instances of a backend can maintain state, be addressed
>   individually, and are not subject to per-request time limits. They can
> also be
>   configured to consume more memory and CPU than ordinary dynamic instances.
> - Task Queues support pull mode, allowing for more control over task queue
> work
>   rates. To use pull queues, include the 'mode' argument in your queue.yaml.
> - Pull queues are supported by a REST API, allowing access from outside App
>   Engine. To use the REST API, you must also include a valid ACL section
>   specifying which users can lease tasks from the pull queue.
> - Task Queue payload limits have been increased. Push queues now support
> 100KB
>   per task, pull queues support 1MB per task. Within App Engine, the new
> limit
>   is 32 MB per batch of tasks. With the REST API the limit is 1 MB per
> batch.
> - HTTP request and response sizes have been increased to 32 MB.
> - We have removed the rate quotas for requests, datastore operations,
>   memcache operations, and image API operations. Resource quotas still
> apply.
> - When creating new applications, developers will now see the High
> Replication
>   Datastore as the default configuration option.  Developers that still wish
> to
>   use the Master/Slave configuration must explicitly choose this option at
>   application creation time.
> - The Task Queue maximum configurable processing rate has been increased to
>   500/s.
> - All application Owners, as listed in the Admin Console, can download the
> app's
>   code, unless code download is disabled for the application.
> - Added db.py support for making calls to the datastore asynchronously.
>   Available functions are get_async(), put_async(), delete_async(),
>   allocate_ids_async(). Call get_result on the return value of asynchronous
>   datastore functions to block on the call.
> - Metadata queries can now get all namespaces, kinds, and properties in a
> given
>   range.
> - The Testbed API now supports the Channel API.
> - Users can provide Django settings to be loaded in webapp's django_setup.
> - Modified Dashboard latency graphs to indicate they only include dynamic
>   requests.
> - Fixed an issue where Federated User data didn't survive a get-put-delete
>   operation cycle.
> - Fixed an issue where metadata queries did not support unicode characters.
> - Fixed an issue where HTTP headers could contain new line characters.
> - A warning message is shown when the Python version used to run the SDK is
>   different than the Python version used in production.
> - Fixed an issue with Federated Users causing the Admin Console dataviewer
> to
>   fail.
>     http://code.google.com/p/googleappengine/issues/detail?id=384
> - MacOS and Windows style newlines are now supported for logging in the SDK.
>     http://code.google.com/p/googleappengine/issues/detail?id=560
> - Fixed an issue where sending mail with smtp_host set did not work.
>     http://code.google.com/p/googleappengine/issues/detail?id=626
> - Fixed the file permissions for appinfo_errors.py and appinfo.py in the
> SDK.
>     http://code.google.com/p/googleappengine/issues/detail?id=725
> - Fixed an issue deploying an app with version set to 0.
>     http://code.google.com/p/googleappengine/issues/detail?id=735
> - Fixed an issue where the SDK allowed GET or DELETE with a body, which does
>   not work in production.
>     http://code.google.com/p/googleappengine/issues/detail?id=983
> - Fixed an issue where URLFetch/urllib did not work with MacOS and
>   Python 2.6.0-2.6.3.
>     http://code.google.com/p/googleappengine/issues/detail?id=985
> - Fixed the an issue in the SDK where the mail body was incorrectly
> generated
>   when the sendmail option was enabled.
>     http://code.google.com/p/googleappengine/issues/detail?id=1061
> - Fixed an issue in the SDK dataviewer where editing a
> ListProperty(db.Category)
>   resulted in a BadValueError.
>     http://code.google.com/p/googleappengine/issues/detail?id=1139
> - Fixed an issue in the SDK where the signal module could be imported, as it
>   is not supported.
>     http://code.google.com/p/googleappengine/issues/detail?id=1150
> - Improved support for reserving an app id that is a canonicalized version
>

[google-appengine] Re: Java GAE/GWT Composite Design Pattern example with Persistence

2011-05-03 Thread RH
In a nutshell, I'm trying to:

a) persist a tree structure set of objects
b) be able to recall any node and all it's children in the tree
c) be able to add a child to any node on the tree

in the GAE datastore.

On May 2, 11:24 am, supercobra  wrote:
> What are you trying to achieve?
>
> -- superco...@gmail.comhttp://supercobrablogger.blogspot.com/
>
>
>
>
>
>
>
> On Sat, Apr 30, 2011 at 8:06 PM, RH  wrote:
> > I'm looking for a simple way to persist a set of dynamic Composite
> > Design Pattern objects (as described in Design Patterns by Gamma,
> > Helm, Johnson, and Vlissides) with either Google's native datastore,
> > JDO, or JPA, as well as send to and from the client via RPC.
>
> > I've yet to figure a way to send a complex composite structure from
> > client to server, persist it in the datastore, and retrieve all or
> > part of it again at the client side.
>
> > Is this even possible?  I'm sure this is a common scenario, but I've
> > yet to figure out a way with GAE and GWT RPC.  Nor have I run into
> > anyone either trying it or with a similar solution.
>
> > Any suggestions or ideas out there?
>
> > 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 
> > 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.



[google-appengine] Re: Autogenerated long ids and chronological order.

2011-05-03 Thread Ricky Button
Thanks for the info and the link. Pleased to see such a helpful group.

-- 
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: Data Store Down... writes offline.

2011-05-03 Thread Dave Peck
Ah, I see that scheduled downtime got moved. So I assume this is
planned and we'll be back soon? We've been down for a while now...

On May 3, 6:09 pm, Dave Peck  wrote:
> I just launched my new app (www.getcloak.com).
>
> And, wouldn't you know it, just as I'm sending out invite codes App
> Engine's datastore goes down. Hard. Users can't sign up because writes
> appear to be disabled.
>
> So, um, is this going to be fixed soon? This is Murphy's law in action
> with App Engine! I can't even appcfg update my app to give users a
> prettier error message...
>
> Cheers,
> Dave

-- 
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] Data Store Down... writes offline.

2011-05-03 Thread Dave Peck
I just launched my new app (www.getcloak.com).

And, wouldn't you know it, just as I'm sending out invite codes App
Engine's datastore goes down. Hard. Users can't sign up because writes
appear to be disabled.

So, um, is this going to be fixed soon? This is Murphy's law in action
with App Engine! I can't even appcfg update my app to give users a
prettier error message...

Cheers,
Dave

-- 
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: Why can't Channel API perform a fan-out broadcast?

2011-05-03 Thread Albert
Barry, thanks for the clarification.

Stephen and Mars, thanks for the suggestions.

Mike, how did you find that out? Did you test it yourself?


On May 4, 3:43 am, Stephen Blum  wrote:
> Albert, Berry, Mike and Mars,
>
> There are several broadcasting services available today.  Twitter
> Scale Services likehttp://www.pubnub.comfor mobile apps, websites
> and tablet apps are easy to use.  Others like Pushser and Beacon are
> great and have their own applications.  I like PubNub because it has a
> free branded optionhttp://www.pubnub.com/pricein their hosting
> plans.
>
> Stephen
>
> On May 3, 12:08 pm, Mars  wrote:
>
>
>
>
>
>
>
> > Hate to advertise for someone else here, but I've been 
> > usinghttp://beaconpush.combecauseof the lack of broadcast support in GAE.
> > I also noted that each Channel setup consumes 2s CPU (not sure if it's
> > still the case), which is simply not acceptable for my app.
>
> > Cheers,
>
> > Mars
>
> > On May 3, 7:01 am, Mike Wesner  wrote:
>
> > > I think it will work for a few (~8) connections, but then the next one
> > > you connect will sort of disconnect one of the others.
>
> > > On May 3, 7:44 am, Barry Hunter  wrote:
>
> > > > Well I would imagine the server component that clients listen to only
> > > > expect one client to be listening to a given id.
>
> > > > So getting multiple connections to the same channel wont work, maybe
> > > > they will all actully appear to work, but only (say) the last will be
> > > > functional. Or when the channel api server forwards a message to the
> > > > (say) first client, it considers it job done, and ignores the other
> > > > clients also listening.
>
> > > > ie the server would need to be designed to able to specifically track
> > > > multiple actual clients listening. Its probably only designed to work
> > > > with one, even though it may work in some situations
>
> > > > (The point about incepting, say the person using the incepted token to
> > > > listen, it may well end up disconnecting the original client
> > > > (physically or virtually). ie still only one works, the original could
> > > > end up dead)
>
> > > > On 3 May 2011 05:29, Albert  wrote:
>
> > > > > In the documentation, it says...
>
> > > > > "Treat the token returned by create_channel() as a secret. If a
> > > > > malicious application gains access to the token, it could listen to
> > > > > messages sent along the channel you are using."[1]
>
> > > > > and then the following section proceeds to say...
>
> > > > > "Only one client at a time can connect to a channel using a given
> > > > > Client ID, so an application cannot use a Client ID for fan-out. In
> > > > > other words, it's not possible to create a central Client ID for
> > > > > connections to multiple clients (For example, you can't create a
> > > > > Client ID for something like a "global-high-scores" channel and use it
> > > > > to broadcast to multiple game clients.)"[2]
>
> > > > > If someone else gets the token so it can also "listen" to the messages
> > > > > being sent along the channel, what is stopping me from *legitimately*
> > > > > giving the same token to multiple users so they can all "listen" to
> > > > > the same channel?
>
> > > > > Thanks!
>
> > > > > 1http://code.google.com/appengine/docs/python/channel/overview.html#To...
> > > > > 2http://code.google.com/appengine/docs/python/channel/overview.html#Ca...
>
> > > > > --
> > > > > 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.



[google-appengine] Re: Maintenance today?

2011-05-03 Thread Jerome
Unfortunately, yes. From IRC a few minutes ago:

(5:07:35 PM) ikai_google: MS datastore going into read only soon

I had the same reaction as you: no email, hopefully they are
cancelling for today.

Jerome

On May 3, 4:21 pm, Mars  wrote:
> The calendar indicates that there should be a maintenance today at 5pm
> PST, but unlike usual I have yet received any announcement today. Is
> it still going on?

-- 
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: Data Store Down?

2011-05-03 Thread Nick Johnson (Google)
On Mon, May 2, 2011 at 3:31 AM, Nickolas Daskalou  wrote:

> Hi Nick,
>
> Please correct me if I am wrong, but is it not true that the only time
> results from a HR Datastore would be eventually consistent is when a query
> is performed without an ancestor? From my understanding of HR, it has
> nothing to do with whether the write is performed within a transaction or
> not. If I am wrong please let me know (for my own piece of mind).
>

You're correct - I misspoke.

-Nick Johnson


>
> Cheers,
>
> Nick
>
>
> On 2 May 2011 13:31, Nick Johnson (Google) wrote:
>
>> Hi Dave,
>>
>> Are you using the HR datastore? Writes outside transactions in the HR
>> datastore are eventually consistent.
>>
>> -Nick Johnson
>>
>>
>> On Mon, May 2, 2011 at 11:35 AM, Dave Peck  wrote:
>>
>>> Well, we're back to working again. But I have logs that pretty clearly
>>> show that (1) the datastore was failing to write my entities, and (2)
>>> it was failing silently. Not good.
>>>
>>> -Dave
>>>
>>> On May 1, 6:30 pm, Dave Peck  wrote:
>>> > Title says it all.
>>> >
>>> > I have numerous apps. The datastore appears to be failing to write,
>>> > but doing so silently: no exceptions, no nothing.
>>> >
>>> > What's up?
>>> >
>>> > Thanks,
>>> > Dave
>>>
>>> --
>>> 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.
>>>
>>>
>>
>>
>> --
>> Nick Johnson, Developer Programs Engineer, App Engine
>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Google App Engine" group.
>> To post to this group, send email to google-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.
>



-- 
Nick Johnson, Developer Programs Engineer, App Engine

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-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] Maintenance today?

2011-05-03 Thread Mars
The calendar indicates that there should be a maintenance today at 5pm
PST, but unlike usual I have yet received any announcement today. Is
it still going on?

-- 
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: URL Dispatch efficiency

2011-05-03 Thread Rodrigo Moraes
> There's a limit to the number of handlers you can define in app.yaml.
> IIRC, it's about 100.

Oh, I was only referring to matching URLs passed to webapp.WSGIApplication 
(Python).

I'd just say you don't need to worry about that. You need *a lot* of URL 
patterns for the matching process to be noticeable.

-- rodrigo

-- 
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: Prerelease SDK 1.5.0 available for download

2011-05-03 Thread Ikai Lan (Google)
A few notes:

1. Docs will be released when the release goes out
2. No, you will not have unique IP addresses. Sorry Nischal, backends don't
solve the problem you need. What you need is to get a VPS instance somewhere
and use a client that consumes the streaming API. You can have instances
that live forever, but you will need to enabling billing for each instance,
and they do not autoscale.

And thanks Adam, but we're not in the clear yet!

Ikai Lan
Developer Programs Engineer, Google App Engine
Blog: http://googleappengine.blogspot.com
Twitter: http://twitter.com/app_engine
Reddit: http://www.reddit.com/r/appengine



On Tue, May 3, 2011 at 3:07 PM, Jay Young  wrote:

> I can't believe there's been ho hype over
> http://www.google.com/events/io/2011/sessions.html#full-text-search.  When
> I saw this post, I was sure this was going to be THE big release for this
> year's IO.  :)
>
> --
> 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: Security Constraint works in hosted mode but on the App Engine

2011-05-03 Thread Robert Kluin
Hi,
  The cookie used for login info on the dev server is just a session
cookie; the production cookie is not.  That is why you're seeing the
production logins last a lot longer.



Robert






On Tue, May 3, 2011 at 13:55, DFB  wrote:
> Just reflecting back on it, I'm not sure why it always worked in the
> hosted mode. Probably it doesn't read the files from the cache in the
> hosted mode, and that misled me into thinking that something was wrong
> with GAE. Well anyway ...
>
> On May 4, 1:52 am, DFB  wrote:
>> Hi Robert,
>>
>> I think the problem was the cache and my understanding of how browser
>> 'stealth' modes work. I thought if I open up a fresh 'stealth' mode
>> window in a browser such as Chrome, it would not read anything from
>> the cache. But apparently, it doesn't work that way. It still reads
>> the file from the cache. However, it doesn't get the login information
>> from the cookie. So, while I'm not logged, I could still see the file.
>> It works fine. When I said I used it on different browsers and
>> different machines, I was using the same mechanism (stealth mode) in
>> Chrome and Firefox on different machines and the file must have been
>> cached in all cases.
>>
>> Thanks for your help.
>>
>> On May 3, 11:09 pm, Robert Kluin  wrote:
>>
>>
>>
>>
>>
>>
>>
>> > Hi,
>> >   Maybe you've already logged in before.  Have you tried clearing your
>> > cookies or using a different browser?
>>
>> > Robert
>>
>> > On Tue, May 3, 2011 at 01:21, DFB  wrote:
>> > > My GWT application is using Google Accounts authentication. I've added
>> > > this simplesecurityconstraintto my web.xml file:
>>
>> > > 
>> > >    
>> > >        ds/*
>> > >    
>> > >    
>> > >        *
>> > >    
>> > > 
>>
>> > > In the hosted mode, if I type the full path to a file inside the 'ds'
>> > > folder (example http://<>/ds/abc.xml), it redirects me to the login
>> > > page. After login, I can access the file. However, it doesn't work
>> > > when the app is deployed to GAE. Any user can access the file from the
>> > > URLhttp://myappid.appspot.com/ds/abc.xmlwithoutlogging in. I was
>> > > expecting the app to redirect me to the Google accounts login page
>> > > when I tried to access the file.
>>
>> > > Am I missing something?
>>
>> > > Thanks in advance.
>>
>> > > --
>> > > 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.
>
>

-- 
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: Prerelease SDK 1.5.0 available for download

2011-05-03 Thread Jay Young
I can't believe there's been ho hype over 
http://www.google.com/events/io/2011/sessions.html#full-text-search.  When I 
saw this post, I was sure this was going to be THE big release for this 
year's IO.  :)

-- 
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: Autogenerated long ids and chronological order.

2011-05-03 Thread Maximillian Dornseif


On May 2, 11:01 pm, Ricky Button  wrote:
> I have a question regarding auto-assigned ids for entities.

At http://stackoverflow.com/questions/3985812 there is some extensive
discussion on "How to implement “autoincrement” on Google AppEngine".
Basically: use `allocate_ids()` if you just need unique increasing
numbers. If you have more specific requirements (e.g. no holes) you
need to write code yourself and that code has a high probability of
being slow.

--md

-- 
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: URL Dispatch efficiency

2011-05-03 Thread Robert Kluin
Hey Mars,
  If you define the application at the modules level (ie outside of
main) it will be cached between requests.  So even if it does add a
little overhead due to more rules, it probably won't matter much
across requests.  If you want your stuff isolated, just use two
mappings in app.yaml.



Robert





On Tue, May 3, 2011 at 15:29, Mars  wrote:
> Good point Robert. In fact this is exactly what I'm pondering now.
>
> I have two apps, one for backend and one for frontend. I like the
> clean cut but the extra network latency between the two introduces
> 100~200ms delay for my page load. Want to combine the two together but
> doesn't want to lose the nice isolation. So one idea I came up with is
> to have a very simple app.yaml and leave the dispatch smarts in
> Python. Just want to make sure that the dispatch code in Python is not
> going to introduce too much overhead to defeat the purpose.
>
> Cheers,
>
> Mars
>
> On May 3, 7:47 am, Robert Kluin  wrote:
>> Hi Mars,
>>   One possibly important difference is that items in app.yaml are
>> separate WSGI apps.  So if you have distinct sections of your
>> application, such as backend services and frontend views, that don't
>> share a lot of code between them, a loading request will only need to
>> load the modules used by the WSGI app the url that got hit maps to in
>> app.yaml.  This could have an impact if you're loading a lot of
>> unneeded modules, or you if you've got some very rarely used modules.
>> This difference is probably less important now with warming requests;
>> recently there seem to be far fewer issues with corrupted instances on
>> spinup.
>>
>>   Personally, if I have something that is logically a separate
>> component that is very 'modular' I often define it in app.yaml.  Also,
>> I often define components that are relatively infrequently used (like
>> dev / admin stuff) as a separate apps, since there is not much point
>> in loading that stuff most of the time.
>>
>> Robert
>>
>>
>>
>>
>>
>>
>>
>> On Mon, May 2, 2011 at 23:37, Mars  wrote:
>> > If I have a large number of url patterns to match, is it more
>> > efficient, in terms of performance, to do it in app.yaml or passing
>> > them as arguments to WSGIApplication constructor?
>>
>> > p.s. I'm using Python, but I'd imagine similar question applies to
>> > Java?
>>
>> > Cheers,
>>
>> > Mars
>>
>> > --
>> > 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.
>
>

-- 
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: Running cpedialog on fedora 14 32 bit version

2011-05-03 Thread Kaan Soral
get a virtualbox and xp inside it that will solve your problem

On May 3, 3:09 am, David Lee Evans  wrote:
> Hello, I am currently running Fedora 14 and have the
> python version of app Engine installed on my machine.
>
> When I try to run cpedialog, get the following errors.
>
> Traceback (most recent call last):
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 3858, in _HandleRequest
>     self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 3792, in _Dispatch
>     base_env_dict=env_dict)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 580, in Dispatch
>     base_env_dict=base_env_dict)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2918, in Dispatch
>     self._module_dict)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2822, in ExecuteCGI
>     reset_modules = exec_script(handler_path, cgi_path, hook)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2702, in ExecuteOrImportScript
>     exec module_code in script_module.__dict__
>   File "/var/www/cwg/main.py", line 23, in 
>     import rpc
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2360, in load_module
>     return self.FindAndLoadModule(submodule, fullname, search_path)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2249, in FindAndLoadModule
>     description)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2194, in LoadModuleRestricted
>     description)
>   File "/var/www/cwg/rpc.py", line 36, in 
>     import authorized
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2360, in load_module
>     return self.FindAndLoadModule(submodule, fullname, search_path)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2249, in FindAndLoadModule
>     description)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2194, in LoadModuleRestricted
>     description)
>   File "/var/www/cwg/authorized.py", line 23, in 
>     import gdata.service
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2360, in load_module
>     return self.FindAndLoadModule(submodule, fullname, search_path)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2249, in FindAndLoadModule
>     description)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2194, in LoadModuleRestricted
>     description)
>   File "/var/www/cwg/gdata/service.py", line 82, in 
>     import gdata.auth
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2360, in load_module
>     return self.FindAndLoadModule(submodule, fullname, search_path)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2249, in FindAndLoadModule
>     description)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 1440, in Decorate
>     return func(self, *args, **kwargs)
>   File "/opt/google_appengine/google/appengine/tools/
> dev_appserver.py", line 2194, in LoadModuleRestricted
>     description)
>   File "/var/www/cwg/gdata/auth.py", line 29, in 
>     import gdata.oauth.rsa as o

[google-appengine] Re: Why can't Channel API perform a fan-out broadcast?

2011-05-03 Thread Stephen Blum
Albert, Berry, Mike and Mars,

There are several broadcasting services available today.  Twitter
Scale Services like http://www.pubnub.com for mobile apps, websites
and tablet apps are easy to use.  Others like Pushser and Beacon are
great and have their own applications.  I like PubNub because it has a
free branded option http://www.pubnub.com/price in their hosting
plans.


Stephen

On May 3, 12:08 pm, Mars  wrote:
> Hate to advertise for someone else here, but I've been 
> usinghttp://beaconpush.combecause of the lack of broadcast support in GAE.
> I also noted that each Channel setup consumes 2s CPU (not sure if it's
> still the case), which is simply not acceptable for my app.
>
> Cheers,
>
> Mars
>
> On May 3, 7:01 am, Mike Wesner  wrote:
>
>
>
>
>
>
>
> > I think it will work for a few (~8) connections, but then the next one
> > you connect will sort of disconnect one of the others.
>
> > On May 3, 7:44 am, Barry Hunter  wrote:
>
> > > Well I would imagine the server component that clients listen to only
> > > expect one client to be listening to a given id.
>
> > > So getting multiple connections to the same channel wont work, maybe
> > > they will all actully appear to work, but only (say) the last will be
> > > functional. Or when the channel api server forwards a message to the
> > > (say) first client, it considers it job done, and ignores the other
> > > clients also listening.
>
> > > ie the server would need to be designed to able to specifically track
> > > multiple actual clients listening. Its probably only designed to work
> > > with one, even though it may work in some situations
>
> > > (The point about incepting, say the person using the incepted token to
> > > listen, it may well end up disconnecting the original client
> > > (physically or virtually). ie still only one works, the original could
> > > end up dead)
>
> > > On 3 May 2011 05:29, Albert  wrote:
>
> > > > In the documentation, it says...
>
> > > > "Treat the token returned by create_channel() as a secret. If a
> > > > malicious application gains access to the token, it could listen to
> > > > messages sent along the channel you are using."[1]
>
> > > > and then the following section proceeds to say...
>
> > > > "Only one client at a time can connect to a channel using a given
> > > > Client ID, so an application cannot use a Client ID for fan-out. In
> > > > other words, it's not possible to create a central Client ID for
> > > > connections to multiple clients (For example, you can't create a
> > > > Client ID for something like a "global-high-scores" channel and use it
> > > > to broadcast to multiple game clients.)"[2]
>
> > > > If someone else gets the token so it can also "listen" to the messages
> > > > being sent along the channel, what is stopping me from *legitimately*
> > > > giving the same token to multiple users so they can all "listen" to
> > > > the same channel?
>
> > > > Thanks!
>
> > > > 1http://code.google.com/appengine/docs/python/channel/overview.html#To...
> > > > 2http://code.google.com/appengine/docs/python/channel/overview.html#Ca...
>
> > > > --
> > > > 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.



[google-appengine] Re: Prerelease SDK 1.5.0 available for download

2011-05-03 Thread pdknsk
Thank you, Google! Another great release.

I actually wanted to ask about directly addressing instances today.
I've got one task which takes few minutes and is resource intensive,
and when normal web requests are assigned to the same instance it can
result in long response times. Do I understand correctly than this
task can be assigned to its own instance now which is not shared with
other requests?

Also, is there documentation for pull queues? I don't fully understand
it from the changelog.

-- 
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] Using App Engine as a server for an Android game.

2011-05-03 Thread Brandon Wirtz
Mobile. Every Half Second. Rolls on Floor Laughing.   You'd be lucky if the
phone can get from where it is to Google in 500ms most days, unless you make
it a 4g and wifi only game.



-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Rohan Chandiramani
Sent: Tuesday, May 03, 2011 4:30 AM
To: Google App Engine
Subject: [google-appengine] Using App Engine as a server for an Android
game.

Greetings App Engine people,

So i'm creating a multi-player android game and thought it would be a
interesting idea to have App Engine handle the server work.
The game consists of 4 players, each phone requests an update every
0.5 seconds.
These requests are very simple and lightweight so i shouldn't be over
reaching any free quotas.
The problem i found was that App Engine only handles 500 requests per
second, i would only be able to have around 60 game sessions active before
App Engine will start ignoring new requests?

"App Engine's quota system allows for efficient applications with billing
enabled to scale to around 500 queries per second (qps) or more than 40
million queries per day."

So how much would it be without billing enabled?
Also on the same page there is a request form for additional requests, would
i be eligible for this and what would the consequences be?
Or should i just not use this platform because it is not made for this kind
of usage?

Thank you kindly, i'm looking forward to an answer.
Greetings,
Rohan Chandiramani

--
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: URL Dispatch efficiency

2011-05-03 Thread Mars
Good point Robert. In fact this is exactly what I'm pondering now.

I have two apps, one for backend and one for frontend. I like the
clean cut but the extra network latency between the two introduces
100~200ms delay for my page load. Want to combine the two together but
doesn't want to lose the nice isolation. So one idea I came up with is
to have a very simple app.yaml and leave the dispatch smarts in
Python. Just want to make sure that the dispatch code in Python is not
going to introduce too much overhead to defeat the purpose.

Cheers,

Mars

On May 3, 7:47 am, Robert Kluin  wrote:
> Hi Mars,
>   One possibly important difference is that items in app.yaml are
> separate WSGI apps.  So if you have distinct sections of your
> application, such as backend services and frontend views, that don't
> share a lot of code between them, a loading request will only need to
> load the modules used by the WSGI app the url that got hit maps to in
> app.yaml.  This could have an impact if you're loading a lot of
> unneeded modules, or you if you've got some very rarely used modules.
> This difference is probably less important now with warming requests;
> recently there seem to be far fewer issues with corrupted instances on
> spinup.
>
>   Personally, if I have something that is logically a separate
> component that is very 'modular' I often define it in app.yaml.  Also,
> I often define components that are relatively infrequently used (like
> dev / admin stuff) as a separate apps, since there is not much point
> in loading that stuff most of the time.
>
> Robert
>
>
>
>
>
>
>
> On Mon, May 2, 2011 at 23:37, Mars  wrote:
> > If I have a large number of url patterns to match, is it more
> > efficient, in terms of performance, to do it in app.yaml or passing
> > them as arguments to WSGIApplication constructor?
>
> > p.s. I'm using Python, but I'd imagine similar question applies to
> > Java?
>
> > Cheers,
>
> > Mars
>
> > --
> > 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.



[google-appengine] Re: Please update roadmap

2011-05-03 Thread nischalshetty
+1 for "die-hard fan of GAE" :)

-- 
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: Prerelease SDK 1.5.0 available for download

2011-05-03 Thread nischalshetty
Can you shed more light on 'Support for Backends'? Though I don't know what 
exactly it is, I'm still so excited! Does it mean, sooner or later, I can 
have instances that live forever? Does it also mean I can map unique IPs to 
them? In todays world of twitter apps, unique IPs are a must :(


Anyways, you guys have done an awesome job with this release. This is so 
exciting! Kudos to the appengine 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: Prerelease SDK 1.5.0 available for download

2011-05-03 Thread Adam Sah
***CONGRATS*** on another huge release!

adam

-- 
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: Prerelease SDK 1.5.0 available for download

2011-05-03 Thread Felippe Bueno
Great,
Thanks Matthew.
I will test it and let you know :).



On Tue, May 3, 2011 at 4:09 PM, Matthew Blain wrote:

> Hi Felippe,
> Thanks for asking. I've updated that bug with the following comment:
>
> In 1.5.0 (prerelease available today), we have added the functionality
> to get the application ID from the URL more easily.
> The recommendation is to, instead of specifying an application,
> specify a URL to remote_api. The tool will then read the application
> ID from remote_api. This also works well for applications behind
> custom domains (e.g. if you've set up yourapp.example.com/_ah/
> remote_api, you can simply use that.)
>
> For appcfg.py (or bulkloader.py) specify --url
> http://yourapplicationid.appspot.com/_ah/remote_api .
> For remote_api_shell.py specify -s yourapplicationid.appspot.com .
> (I'm not sure what appengine_console.py is, if it's the example in the
> remote_api article you can consider using remote_api_shell instead).
> For custom usage, if you pass the 'servername' to ConfigureRemoteApi
> you can pass None for the app_id.
>
> --Matthew
>
> On May 3, 11:26 am, Felippe Bueno  wrote:
> > Really great job :)
> >
> > Congrats Appengine Team.
> >
> > Ikai, any news abouthttp://
> code.google.com/p/googleappengine/issues/detail?id=4374(HR Datastore
> > Applications cannot use remote_api, appengine_console.py or Bulkloader
> due
> > to s~ App ID) ??
> > I did not test it again.
> >
> > Thanks.
> >
> > On Tue, May 3, 2011 at 2:20 PM, Ikai Lan (Google)
> > wrote:
> >
> >
> >
> >
> >
> >
> >
> > > Hey everyone,
> >
> > > Prerelease SDK 1.5.0 is ready for download! There are a ton of bug
> fixes in
> > > this release as well as some pretty big features. Check it out. You can
> get
> > > the SDKs here:
> >
> > >http://code.google.com/p/googleappengine/downloads/list
> >
> > > The release notes are below. You'll notice that they're much longer
> than
> > > usual. We've listed out many of the bugs in the public issues tracker
> we've
> > > addressed.
> >
> > > Python
> > > ==
> > > - Support for Backends which allow developers to create infrastructure
> > >   components that complement the existing dynamic apps which App Engine
> > > already
> > >   provides. Instances of a backend can maintain state, be addressed
> > >   individually, and are not subject to per-request time limits. They
> can
> > > also be
> > >   configured to consume more memory and CPU than ordinary dynamic
> > > instances.
> > > - Task Queues support pull mode, allowing for more control over task
> queue
> > > work
> > >   rates. To use pull queues, include the 'mode' argument in your
> > > queue.yaml.
> > > - Pull queues are supported by a REST API, allowing access from outside
> App
> > >   Engine. To use the REST API, you must also include a valid ACL
> section
> > >   specifying which users can lease tasks from the pull queue.
> > > - Task Queue payload limits have been increased. Push queues now
> support
> > > 100KB
> > >   per task, pull queues support 1MB per task. Within App Engine, the
> new
> > > limit
> > >   is 32 MB per batch of tasks. With the REST API the limit is 1 MB per
> > > batch.
> > > - HTTP request and response sizes have been increased to 32 MB.
> > > - We have removed the rate quotas for requests, datastore operations,
> > >   memcache operations, and image API operations. Resource quotas still
> > > apply.
> > > - When creating new applications, developers will now see the High
> > > Replication
> > >   Datastore as the default configuration option.  Developers that still
> > > wish to
> > >   use the Master/Slave configuration must explicitly choose this option
> at
> > >   application creation time.
> > > - The Task Queue maximum configurable processing rate has been
> increased to
> > >   500/s.
> > > - All application Owners, as listed in the Admin Console, can download
> the
> > > app's
> > >   code, unless code download is disabled for the application.
> > > - Added db.py support for making calls to the datastore asynchronously.
> > >   Available functions are get_async(), put_async(), delete_async(),
> > >   allocate_ids_async(). Call get_result on the return value of
> asynchronous
> > >   datastore functions to block on the call.
> > > - Metadata queries can now get all namespaces, kinds, and properties in
> a
> > > given
> > >   range.
> > > - The Testbed API now supports the Channel API.
> > > - Users can provide Django settings to be loaded in webapp's
> django_setup.
> > > - Modified Dashboard latency graphs to indicate they only include
> dynamic
> > >   requests.
> > > - Fixed an issue where Federated User data didn't survive a
> get-put-delete
> > >   operation cycle.
> > > - Fixed an issue where metadata queries did not support unicode
> characters.
> > > - Fixed an issue where HTTP headers could contain new line characters.
> > > - A warning message is shown when the Python version used to run the
> SDK is
> > >   different than the Python version us

[google-appengine] Re: Please update roadmap

2011-05-03 Thread Mars
Thanks Greg. Will look forward to the very exciting features on the
roadmap. You guys are doing a great job! I'm a die-hard fan of GAE :)

On May 2, 6:56 pm, "Gregory D'alesandre"  wrote:
> Hi Mars,
>
> Thanks for raising this, we tend to update the roadmap when we do releases,
> so it was last updated a few months back, but we'll update it again soon.
>  Priority unfortunately won't tell you how quickly things will be done, some
> very high priority features also unfortunately take a very long time to get
> done.  We definitely know that lots of folks are eager for SSL for custom
> domains and we are hard at work on getting it done as fast as possible.
>
> I hope that helps!
>
> Greg D'Alesandre
> Senior Product Manager, Google App Engine
>
>
>
>
>
>
>
> On Mon, May 2, 2011 at 6:38 PM, Mars  wrote:
> > Hate to bump up post but would appreciate if someone from GAE could
> > response to this.
>
> > On Apr 6, 7:12 pm, Mars  wrote:
> > > Could someone from the GAE team please update the roadmap athttp://
> > code.google.com/appengine/docs/roadmap.html
>
> > > Also is it possible to indicate the priority of upcoming features? I'm
> > > sure many users here are anxious to know when custom domain SSL will
> > > be available...
>
> > > Thanks,
>
> > > Mars
>
> > --
> > 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: Prerelease SDK 1.5.0 available for download

2011-05-03 Thread Matthew Blain
Hi Felippe,
Thanks for asking. I've updated that bug with the following comment:

In 1.5.0 (prerelease available today), we have added the functionality
to get the application ID from the URL more easily.
The recommendation is to, instead of specifying an application,
specify a URL to remote_api. The tool will then read the application
ID from remote_api. This also works well for applications behind
custom domains (e.g. if you've set up yourapp.example.com/_ah/
remote_api, you can simply use that.)

For appcfg.py (or bulkloader.py) specify --url
http://yourapplicationid.appspot.com/_ah/remote_api .
For remote_api_shell.py specify -s yourapplicationid.appspot.com .
(I'm not sure what appengine_console.py is, if it's the example in the
remote_api article you can consider using remote_api_shell instead).
For custom usage, if you pass the 'servername' to ConfigureRemoteApi
you can pass None for the app_id.

--Matthew

On May 3, 11:26 am, Felippe Bueno  wrote:
> Really great job :)
>
> Congrats Appengine Team.
>
> Ikai, any news 
> abouthttp://code.google.com/p/googleappengine/issues/detail?id=4374(HR 
> Datastore
> Applications cannot use remote_api, appengine_console.py or Bulkloader due
> to s~ App ID) ??
> I did not test it again.
>
> Thanks.
>
> On Tue, May 3, 2011 at 2:20 PM, Ikai Lan (Google)
> wrote:
>
>
>
>
>
>
>
> > Hey everyone,
>
> > Prerelease SDK 1.5.0 is ready for download! There are a ton of bug fixes in
> > this release as well as some pretty big features. Check it out. You can get
> > the SDKs here:
>
> >http://code.google.com/p/googleappengine/downloads/list
>
> > The release notes are below. You'll notice that they're much longer than
> > usual. We've listed out many of the bugs in the public issues tracker we've
> > addressed.
>
> > Python
> > ==
> > - Support for Backends which allow developers to create infrastructure
> >   components that complement the existing dynamic apps which App Engine
> > already
> >   provides. Instances of a backend can maintain state, be addressed
> >   individually, and are not subject to per-request time limits. They can
> > also be
> >   configured to consume more memory and CPU than ordinary dynamic
> > instances.
> > - Task Queues support pull mode, allowing for more control over task queue
> > work
> >   rates. To use pull queues, include the 'mode' argument in your
> > queue.yaml.
> > - Pull queues are supported by a REST API, allowing access from outside App
> >   Engine. To use the REST API, you must also include a valid ACL section
> >   specifying which users can lease tasks from the pull queue.
> > - Task Queue payload limits have been increased. Push queues now support
> > 100KB
> >   per task, pull queues support 1MB per task. Within App Engine, the new
> > limit
> >   is 32 MB per batch of tasks. With the REST API the limit is 1 MB per
> > batch.
> > - HTTP request and response sizes have been increased to 32 MB.
> > - We have removed the rate quotas for requests, datastore operations,
> >   memcache operations, and image API operations. Resource quotas still
> > apply.
> > - When creating new applications, developers will now see the High
> > Replication
> >   Datastore as the default configuration option.  Developers that still
> > wish to
> >   use the Master/Slave configuration must explicitly choose this option at
> >   application creation time.
> > - The Task Queue maximum configurable processing rate has been increased to
> >   500/s.
> > - All application Owners, as listed in the Admin Console, can download the
> > app's
> >   code, unless code download is disabled for the application.
> > - Added db.py support for making calls to the datastore asynchronously.
> >   Available functions are get_async(), put_async(), delete_async(),
> >   allocate_ids_async(). Call get_result on the return value of asynchronous
> >   datastore functions to block on the call.
> > - Metadata queries can now get all namespaces, kinds, and properties in a
> > given
> >   range.
> > - The Testbed API now supports the Channel API.
> > - Users can provide Django settings to be loaded in webapp's django_setup.
> > - Modified Dashboard latency graphs to indicate they only include dynamic
> >   requests.
> > - Fixed an issue where Federated User data didn't survive a get-put-delete
> >   operation cycle.
> > - Fixed an issue where metadata queries did not support unicode characters.
> > - Fixed an issue where HTTP headers could contain new line characters.
> > - A warning message is shown when the Python version used to run the SDK is
> >   different than the Python version used in production.
> > - Fixed an issue with Federated Users causing the Admin Console dataviewer
> > to
> >   fail.
> >    http://code.google.com/p/googleappengine/issues/detail?id=384
> > - MacOS and Windows style newlines are now supported for logging in the
> > SDK.
> >    http://code.google.com/p/googleappengine/issues/detail?id=560
> > - Fixed an issue where sen

[google-appengine] Re: Why can't Channel API perform a fan-out broadcast?

2011-05-03 Thread Mars
Hate to advertise for someone else here, but I've been using
http://beaconpush.com because of the lack of broadcast support in GAE.
I also noted that each Channel setup consumes 2s CPU (not sure if it's
still the case), which is simply not acceptable for my app.

Cheers,

Mars

On May 3, 7:01 am, Mike Wesner  wrote:
> I think it will work for a few (~8) connections, but then the next one
> you connect will sort of disconnect one of the others.
>
> On May 3, 7:44 am, Barry Hunter  wrote:
>
>
>
>
>
>
>
> > Well I would imagine the server component that clients listen to only
> > expect one client to be listening to a given id.
>
> > So getting multiple connections to the same channel wont work, maybe
> > they will all actully appear to work, but only (say) the last will be
> > functional. Or when the channel api server forwards a message to the
> > (say) first client, it considers it job done, and ignores the other
> > clients also listening.
>
> > ie the server would need to be designed to able to specifically track
> > multiple actual clients listening. Its probably only designed to work
> > with one, even though it may work in some situations
>
> > (The point about incepting, say the person using the incepted token to
> > listen, it may well end up disconnecting the original client
> > (physically or virtually). ie still only one works, the original could
> > end up dead)
>
> > On 3 May 2011 05:29, Albert  wrote:
>
> > > In the documentation, it says...
>
> > > "Treat the token returned by create_channel() as a secret. If a
> > > malicious application gains access to the token, it could listen to
> > > messages sent along the channel you are using."[1]
>
> > > and then the following section proceeds to say...
>
> > > "Only one client at a time can connect to a channel using a given
> > > Client ID, so an application cannot use a Client ID for fan-out. In
> > > other words, it's not possible to create a central Client ID for
> > > connections to multiple clients (For example, you can't create a
> > > Client ID for something like a "global-high-scores" channel and use it
> > > to broadcast to multiple game clients.)"[2]
>
> > > If someone else gets the token so it can also "listen" to the messages
> > > being sent along the channel, what is stopping me from *legitimately*
> > > giving the same token to multiple users so they can all "listen" to
> > > the same channel?
>
> > > Thanks!
>
> > > 1http://code.google.com/appengine/docs/python/channel/overview.html#To...
> > > 2http://code.google.com/appengine/docs/python/channel/overview.html#Ca...
>
> > > --
> > > 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.



[google-appengine] Re: Prerelease SDK 1.5.0 available for download

2011-05-03 Thread Mars
Awesome! Love the async datastore operations. Can finally put the
outdated asynctools to bed! Great job GAE team!

On May 3, 11:26 am, Felippe Bueno  wrote:
> Really great job :)
>
> Congrats Appengine Team.
>
> Ikai, any news 
> abouthttp://code.google.com/p/googleappengine/issues/detail?id=4374(HR 
> Datastore
> Applications cannot use remote_api, appengine_console.py or Bulkloader due
> to s~ App ID) ??
> I did not test it again.
>
> Thanks.
>
> On Tue, May 3, 2011 at 2:20 PM, Ikai Lan (Google)
> wrote:
>
>
>
>
>
>
>
> > Hey everyone,
>
> > Prerelease SDK 1.5.0 is ready for download! There are a ton of bug fixes in
> > this release as well as some pretty big features. Check it out. You can get
> > the SDKs here:
>
> >http://code.google.com/p/googleappengine/downloads/list
>
> > The release notes are below. You'll notice that they're much longer than
> > usual. We've listed out many of the bugs in the public issues tracker we've
> > addressed.
>
> > Python
> > ==
> > - Support for Backends which allow developers to create infrastructure
> >   components that complement the existing dynamic apps which App Engine
> > already
> >   provides. Instances of a backend can maintain state, be addressed
> >   individually, and are not subject to per-request time limits. They can
> > also be
> >   configured to consume more memory and CPU than ordinary dynamic
> > instances.
> > - Task Queues support pull mode, allowing for more control over task queue
> > work
> >   rates. To use pull queues, include the 'mode' argument in your
> > queue.yaml.
> > - Pull queues are supported by a REST API, allowing access from outside App
> >   Engine. To use the REST API, you must also include a valid ACL section
> >   specifying which users can lease tasks from the pull queue.
> > - Task Queue payload limits have been increased. Push queues now support
> > 100KB
> >   per task, pull queues support 1MB per task. Within App Engine, the new
> > limit
> >   is 32 MB per batch of tasks. With the REST API the limit is 1 MB per
> > batch.
> > - HTTP request and response sizes have been increased to 32 MB.
> > - We have removed the rate quotas for requests, datastore operations,
> >   memcache operations, and image API operations. Resource quotas still
> > apply.
> > - When creating new applications, developers will now see the High
> > Replication
> >   Datastore as the default configuration option.  Developers that still
> > wish to
> >   use the Master/Slave configuration must explicitly choose this option at
> >   application creation time.
> > - The Task Queue maximum configurable processing rate has been increased to
> >   500/s.
> > - All application Owners, as listed in the Admin Console, can download the
> > app's
> >   code, unless code download is disabled for the application.
> > - Added db.py support for making calls to the datastore asynchronously.
> >   Available functions are get_async(), put_async(), delete_async(),
> >   allocate_ids_async(). Call get_result on the return value of asynchronous
> >   datastore functions to block on the call.
> > - Metadata queries can now get all namespaces, kinds, and properties in a
> > given
> >   range.
> > - The Testbed API now supports the Channel API.
> > - Users can provide Django settings to be loaded in webapp's django_setup.
> > - Modified Dashboard latency graphs to indicate they only include dynamic
> >   requests.
> > - Fixed an issue where Federated User data didn't survive a get-put-delete
> >   operation cycle.
> > - Fixed an issue where metadata queries did not support unicode characters.
> > - Fixed an issue where HTTP headers could contain new line characters.
> > - A warning message is shown when the Python version used to run the SDK is
> >   different than the Python version used in production.
> > - Fixed an issue with Federated Users causing the Admin Console dataviewer
> > to
> >   fail.
> >    http://code.google.com/p/googleappengine/issues/detail?id=384
> > - MacOS and Windows style newlines are now supported for logging in the
> > SDK.
> >    http://code.google.com/p/googleappengine/issues/detail?id=560
> > - Fixed an issue where sending mail with smtp_host set did not work.
> >    http://code.google.com/p/googleappengine/issues/detail?id=626
> > - Fixed the file permissions for appinfo_errors.py and appinfo.py in the
> > SDK.
> >    http://code.google.com/p/googleappengine/issues/detail?id=725
> > - Fixed an issue deploying an app with version set to 0.
> >    http://code.google.com/p/googleappengine/issues/detail?id=735
> >  - Fixed an issue where the SDK allowed GET or DELETE with a body, which
> > does
> >   not work in production.
> >    http://code.google.com/p/googleappengine/issues/detail?id=983
> > - Fixed an issue where URLFetch/urllib did not work with MacOS and
> >   Python 2.6.0-2.6.3.
> >    http://code.google.com/p/googleappengine/issues/detail?id=985
> > - Fixed the an issue in the SDK where the mail body was incor

Re: [google-appengine] Prerelease SDK 1.5.0 available for download

2011-05-03 Thread Felippe Bueno
Really great job :)

Congrats Appengine Team.

Ikai, any news about
http://code.google.com/p/googleappengine/issues/detail?id=4374 (HR Datastore
Applications cannot use remote_api, appengine_console.py or Bulkloader due
to s~ App ID) ??
I did not test it again.

Thanks.

On Tue, May 3, 2011 at 2:20 PM, Ikai Lan (Google)
wrote:

> Hey everyone,
>
> Prerelease SDK 1.5.0 is ready for download! There are a ton of bug fixes in
> this release as well as some pretty big features. Check it out. You can get
> the SDKs here:
>
> http://code.google.com/p/googleappengine/downloads/list
>
> The release notes are below. You'll notice that they're much longer than
> usual. We've listed out many of the bugs in the public issues tracker we've
> addressed.
>
> Python
> ==
> - Support for Backends which allow developers to create infrastructure
>   components that complement the existing dynamic apps which App Engine
> already
>   provides. Instances of a backend can maintain state, be addressed
>   individually, and are not subject to per-request time limits. They can
> also be
>   configured to consume more memory and CPU than ordinary dynamic
> instances.
> - Task Queues support pull mode, allowing for more control over task queue
> work
>   rates. To use pull queues, include the 'mode' argument in your
> queue.yaml.
> - Pull queues are supported by a REST API, allowing access from outside App
>   Engine. To use the REST API, you must also include a valid ACL section
>   specifying which users can lease tasks from the pull queue.
> - Task Queue payload limits have been increased. Push queues now support
> 100KB
>   per task, pull queues support 1MB per task. Within App Engine, the new
> limit
>   is 32 MB per batch of tasks. With the REST API the limit is 1 MB per
> batch.
> - HTTP request and response sizes have been increased to 32 MB.
> - We have removed the rate quotas for requests, datastore operations,
>   memcache operations, and image API operations. Resource quotas still
> apply.
> - When creating new applications, developers will now see the High
> Replication
>   Datastore as the default configuration option.  Developers that still
> wish to
>   use the Master/Slave configuration must explicitly choose this option at
>   application creation time.
> - The Task Queue maximum configurable processing rate has been increased to
>   500/s.
> - All application Owners, as listed in the Admin Console, can download the
> app's
>   code, unless code download is disabled for the application.
> - Added db.py support for making calls to the datastore asynchronously.
>   Available functions are get_async(), put_async(), delete_async(),
>   allocate_ids_async(). Call get_result on the return value of asynchronous
>   datastore functions to block on the call.
> - Metadata queries can now get all namespaces, kinds, and properties in a
> given
>   range.
> - The Testbed API now supports the Channel API.
> - Users can provide Django settings to be loaded in webapp's django_setup.
> - Modified Dashboard latency graphs to indicate they only include dynamic
>   requests.
> - Fixed an issue where Federated User data didn't survive a get-put-delete
>   operation cycle.
> - Fixed an issue where metadata queries did not support unicode characters.
> - Fixed an issue where HTTP headers could contain new line characters.
> - A warning message is shown when the Python version used to run the SDK is
>   different than the Python version used in production.
> - Fixed an issue with Federated Users causing the Admin Console dataviewer
> to
>   fail.
> http://code.google.com/p/googleappengine/issues/detail?id=384
> - MacOS and Windows style newlines are now supported for logging in the
> SDK.
> http://code.google.com/p/googleappengine/issues/detail?id=560
> - Fixed an issue where sending mail with smtp_host set did not work.
> http://code.google.com/p/googleappengine/issues/detail?id=626
> - Fixed the file permissions for appinfo_errors.py and appinfo.py in the
> SDK.
> http://code.google.com/p/googleappengine/issues/detail?id=725
> - Fixed an issue deploying an app with version set to 0.
> http://code.google.com/p/googleappengine/issues/detail?id=735
>  - Fixed an issue where the SDK allowed GET or DELETE with a body, which
> does
>   not work in production.
> http://code.google.com/p/googleappengine/issues/detail?id=983
> - Fixed an issue where URLFetch/urllib did not work with MacOS and
>   Python 2.6.0-2.6.3.
> http://code.google.com/p/googleappengine/issues/detail?id=985
> - Fixed the an issue in the SDK where the mail body was incorrectly
> generated
>   when the sendmail option was enabled.
> http://code.google.com/p/googleappengine/issues/detail?id=1061
> - Fixed an issue in the SDK dataviewer where editing a
> ListProperty(db.Category)
>   resulted in a BadValueError.
> http://code.google.com/p/googleappengine/issues/detail?id=1139
> - Fixed an issue in the SDK where the s

Re: [google-appengine] Re: URL Dispatch efficiency

2011-05-03 Thread Stephen
On Tue, May 3, 2011 at 5:29 PM, Rodrigo Moraes  wrote:
> I guess even with 10 thousand rules it would be very fast and
> building/matching would take milliseconds.


There's a limit to the number of handlers you can define in app.yaml.
IIRC, it's about 100.

-- 
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: Security Constraint works in hosted mode but on the App Engine

2011-05-03 Thread DFB
Just reflecting back on it, I'm not sure why it always worked in the
hosted mode. Probably it doesn't read the files from the cache in the
hosted mode, and that misled me into thinking that something was wrong
with GAE. Well anyway ...

On May 4, 1:52 am, DFB  wrote:
> Hi Robert,
>
> I think the problem was the cache and my understanding of how browser
> 'stealth' modes work. I thought if I open up a fresh 'stealth' mode
> window in a browser such as Chrome, it would not read anything from
> the cache. But apparently, it doesn't work that way. It still reads
> the file from the cache. However, it doesn't get the login information
> from the cookie. So, while I'm not logged, I could still see the file.
> It works fine. When I said I used it on different browsers and
> different machines, I was using the same mechanism (stealth mode) in
> Chrome and Firefox on different machines and the file must have been
> cached in all cases.
>
> Thanks for your help.
>
> On May 3, 11:09 pm, Robert Kluin  wrote:
>
>
>
>
>
>
>
> > Hi,
> >   Maybe you've already logged in before.  Have you tried clearing your
> > cookies or using a different browser?
>
> > Robert
>
> > On Tue, May 3, 2011 at 01:21, DFB  wrote:
> > > My GWT application is using Google Accounts authentication. I've added
> > > this simplesecurityconstraintto my web.xml file:
>
> > > 
> > >    
> > >        ds/*
> > >    
> > >    
> > >        *
> > >    
> > > 
>
> > > In the hosted mode, if I type the full path to a file inside the 'ds'
> > > folder (example http://<>/ds/abc.xml), it redirects me to the login
> > > page. After login, I can access the file. However, it doesn't work
> > > when the app is deployed to GAE. Any user can access the file from the
> > > URLhttp://myappid.appspot.com/ds/abc.xmlwithoutlogging in. I was
> > > expecting the app to redirect me to the Google accounts login page
> > > when I tried to access the file.
>
> > > Am I missing something?
>
> > > Thanks in advance.
>
> > > --
> > > 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.



[google-appengine] Re: Security Constraint works in hosted mode but on the App Engine

2011-05-03 Thread DFB
Hi Robert,

I think the problem was the cache and my understanding of how browser
'stealth' modes work. I thought if I open up a fresh 'stealth' mode
window in a browser such as Chrome, it would not read anything from
the cache. But apparently, it doesn't work that way. It still reads
the file from the cache. However, it doesn't get the login information
from the cookie. So, while I'm not logged, I could still see the file.
It works fine. When I said I used it on different browsers and
different machines, I was using the same mechanism (stealth mode) in
Chrome and Firefox on different machines and the file must have been
cached in all cases.

Thanks for your help.

On May 3, 11:09 pm, Robert Kluin  wrote:
> Hi,
>   Maybe you've already logged in before.  Have you tried clearing your
> cookies or using a different browser?
>
> Robert
>
>
>
>
>
>
>
> On Tue, May 3, 2011 at 01:21, DFB  wrote:
> > My GWT application is using Google Accounts authentication. I've added
> > this simplesecurityconstraintto my web.xml file:
>
> > 
> >    
> >        ds/*
> >    
> >    
> >        *
> >    
> > 
>
> > In the hosted mode, if I type the full path to a file inside the 'ds'
> > folder (example http://<>/ds/abc.xml), it redirects me to the login
> > page. After login, I can access the file. However, it doesn't work
> > when the app is deployed to GAE. Any user can access the file from the
> > URLhttp://myappid.appspot.com/ds/abc.xmlwithout logging in. I was
> > expecting the app to redirect me to the Google accounts login page
> > when I tried to access the file.
>
> > Am I missing something?
>
> > Thanks in advance.
>
> > --
> > 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.



Re: [google-appengine] Using App Engine as a server for an Android game.

2011-05-03 Thread Ikai Lan (Google)
You're going to exceed free quotas before you hit 500 QPS.

The system is set up to autoscale if your requests finish under 1000ms. The
faster the better.

Ikai Lan
Developer Programs Engineer, Google App Engine
Blog: http://googleappengine.blogspot.com
Twitter: http://twitter.com/app_engine
Reddit: http://www.reddit.com/r/appengine



On Tue, May 3, 2011 at 10:34 AM, Barry Hunter wrote:

> As best I understand 500 isn't a fixed limit. Thats an estimate on how
> many requests an average application would get while keeping withing
> all the various quota.
> There is 45,200 requests /minute, which equates to 753
> requests/second. But can be upped, if you approaching that limit.
>
>
> ... but I would question your architectural decision to just blindly
> refresh every 0.5 seconds. In general you may well find that latency
> introduced by mobile networks wont sustain that rate (quite aside from
> raw 'bandwidth'). HTTP overhead is not insigificant, so the http
> headers without content wont be 'free'.
>
> Long Polling or even better the Channel API, would probably offer a
> better solution.
>
> If the Channel API doesnt work for you, using XMPP or GTalk more
> directly might work. There are also third party 'comet' servers that
> offer intergration with AppEngine.
>
>
>
>
> On 3 May 2011 12:29, Rohan Chandiramani  wrote:
> >
> > Greetings App Engine people,
> >
> > So i'm creating a multi-player android game and thought it would be a
> > interesting idea to have App Engine handle the server work.
> > The game consists of 4 players, each phone requests an update every
> > 0.5 seconds.
> > These requests are very simple and lightweight so i shouldn't be over
> > reaching any free quotas.
> > The problem i found was that App Engine only handles 500 requests per
> > second, i would only be able to
> > have around 60 game sessions active before App Engine will start
> > ignoring new requests?
> >
> > "App Engine's quota system allows for efficient applications with
> > billing enabled to scale to around 500 queries per second (qps) or
> > more than 40 million queries per day."
> >
> > So how much would it be without billing enabled?
> > Also on the same page there is a request form for additional requests,
> > would i be eligible for this and what would the consequences be?
> > Or should i just not use this platform because it is not made for this
> > kind of usage?
> >
> > Thank you kindly, i'm looking forward to an answer.
> > Greetings,
> > Rohan Chandiramani
> >
> > --
> > 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: Autogenerated long ids and chronological order.

2011-05-03 Thread Geoffrey Spear


On May 2, 5:01 pm, Ricky Button  wrote:
> I have a question regarding auto-assigned ids for entities. Let's say
> I have some set of entities that have the ids:
>
> 1
> 2
> 3
> 4
> 5
>
> And I remove the 4th one:
>
> 1
> 2
> 3
> 5
>
> If I add a new entity with an auto-generated ID, is it guaranteed that
> the new ID will not be 4 and WILL be something greater than 5?

In your particular case, yes.

IDs are only assigned once for a particular entity group and kind, so
4 will not be reused.

In general, there's no guarantee that the IDs will be monotonically
increasing, but since in your example all of the numbers >= 5 have
been used, you can be sure that the value you get won't be less than
5. IDs are assigned to instances in batches, so it's entirely possible
that a lower value from an earlier-assigned batch will get used for an
entity created later than one with a larger ID.

-- 
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] Using App Engine as a server for an Android game.

2011-05-03 Thread Barry Hunter
As best I understand 500 isn't a fixed limit. Thats an estimate on how
many requests an average application would get while keeping withing
all the various quota.
There is 45,200 requests /minute, which equates to 753
requests/second. But can be upped, if you approaching that limit.


... but I would question your architectural decision to just blindly
refresh every 0.5 seconds. In general you may well find that latency
introduced by mobile networks wont sustain that rate (quite aside from
raw 'bandwidth'). HTTP overhead is not insigificant, so the http
headers without content wont be 'free'.

Long Polling or even better the Channel API, would probably offer a
better solution.

If the Channel API doesnt work for you, using XMPP or GTalk more
directly might work. There are also third party 'comet' servers that
offer intergration with AppEngine.




On 3 May 2011 12:29, Rohan Chandiramani  wrote:
>
> Greetings App Engine people,
>
> So i'm creating a multi-player android game and thought it would be a
> interesting idea to have App Engine handle the server work.
> The game consists of 4 players, each phone requests an update every
> 0.5 seconds.
> These requests are very simple and lightweight so i shouldn't be over
> reaching any free quotas.
> The problem i found was that App Engine only handles 500 requests per
> second, i would only be able to
> have around 60 game sessions active before App Engine will start
> ignoring new requests?
>
> "App Engine's quota system allows for efficient applications with
> billing enabled to scale to around 500 queries per second (qps) or
> more than 40 million queries per day."
>
> So how much would it be without billing enabled?
> Also on the same page there is a request form for additional requests,
> would i be eligible for this and what would the consequences be?
> Or should i just not use this platform because it is not made for this
> kind of usage?
>
> Thank you kindly, i'm looking forward to an answer.
> Greetings,
> Rohan Chandiramani
>
> --
> 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: Security Constraint works in hosted mode but on the App Engine

2011-05-03 Thread DFB
Thanks for your response.

I'm surely not logged in. And definitely not logged in with the admin
account. I have also tried it from different browsers, different
machines, and using the stealth mode.

I also tried with the url "/ds/*" but that doesn't work either.

Both urls work in the hosted mode though. Is it a bug or something?



On May 3, 11:09 pm, Robert Kluin  wrote:
> Hi,
>   Maybe you've already logged in before.  Have you tried clearing your
> cookies or using a different browser?
>
> Robert
>
>
>
>
>
>
>
> On Tue, May 3, 2011 at 01:21, DFB  wrote:
> > My GWT application is using Google Accounts authentication. I've added
> > this simplesecurityconstraintto my web.xml file:
>
> > 
> >    
> >        ds/*
> >    
> >    
> >        *
> >    
> > 
>
> > In the hosted mode, if I type the full path to a file inside the 'ds'
> > folder (example http://<>/ds/abc.xml), it redirects me to the login
> > page. After login, I can access the file. However, it doesn't work
> > when the app is deployed to GAE. Any user can access the file from the
> > URLhttp://myappid.appspot.com/ds/abc.xmlwithout logging in. I was
> > expecting the app to redirect me to the Google accounts login page
> > when I tried to access the file.
>
> > Am I missing something?
>
> > Thanks in advance.
>
> > --
> > 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.



[google-appengine] Running cpedialog on fedora 14 32 bit version

2011-05-03 Thread David Lee Evans
Hello, I am currently running Fedora 14 and have the
python version of app Engine installed on my machine.

When I try to run cpedialog, get the following errors.

Traceback (most recent call last):
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 3858, in _HandleRequest
self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 3792, in _Dispatch
base_env_dict=env_dict)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 580, in Dispatch
base_env_dict=base_env_dict)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2918, in Dispatch
self._module_dict)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2822, in ExecuteCGI
reset_modules = exec_script(handler_path, cgi_path, hook)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2702, in ExecuteOrImportScript
exec module_code in script_module.__dict__
  File "/var/www/cwg/main.py", line 23, in 
import rpc
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2360, in load_module
return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2249, in FindAndLoadModule
description)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2194, in LoadModuleRestricted
description)
  File "/var/www/cwg/rpc.py", line 36, in 
import authorized
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2360, in load_module
return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2249, in FindAndLoadModule
description)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2194, in LoadModuleRestricted
description)
  File "/var/www/cwg/authorized.py", line 23, in 
import gdata.service
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2360, in load_module
return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2249, in FindAndLoadModule
description)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2194, in LoadModuleRestricted
description)
  File "/var/www/cwg/gdata/service.py", line 82, in 
import gdata.auth
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2360, in load_module
return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2249, in FindAndLoadModule
description)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2194, in LoadModuleRestricted
description)
  File "/var/www/cwg/gdata/auth.py", line 29, in 
import gdata.oauth.rsa as oauth_rsa
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2360, in load_module
return self.FindAndLoadModule(submodule, fullname, search_path)
  File

[google-appengine] Prerelease SDK 1.5.0 available for download

2011-05-03 Thread Ikai Lan (Google)
Hey everyone,

Prerelease SDK 1.5.0 is ready for download! There are a ton of bug fixes in
this release as well as some pretty big features. Check it out. You can get
the SDKs here:

http://code.google.com/p/googleappengine/downloads/list

The release notes are below. You'll notice that they're much longer than
usual. We've listed out many of the bugs in the public issues tracker we've
addressed.

Python
==
- Support for Backends which allow developers to create infrastructure
  components that complement the existing dynamic apps which App Engine
already
  provides. Instances of a backend can maintain state, be addressed
  individually, and are not subject to per-request time limits. They can
also be
  configured to consume more memory and CPU than ordinary dynamic instances.
- Task Queues support pull mode, allowing for more control over task queue
work
  rates. To use pull queues, include the 'mode' argument in your queue.yaml.
- Pull queues are supported by a REST API, allowing access from outside App
  Engine. To use the REST API, you must also include a valid ACL section
  specifying which users can lease tasks from the pull queue.
- Task Queue payload limits have been increased. Push queues now support
100KB
  per task, pull queues support 1MB per task. Within App Engine, the new
limit
  is 32 MB per batch of tasks. With the REST API the limit is 1 MB per
batch.
- HTTP request and response sizes have been increased to 32 MB.
- We have removed the rate quotas for requests, datastore operations,
  memcache operations, and image API operations. Resource quotas still
apply.
- When creating new applications, developers will now see the High
Replication
  Datastore as the default configuration option.  Developers that still wish
to
  use the Master/Slave configuration must explicitly choose this option at
  application creation time.
- The Task Queue maximum configurable processing rate has been increased to
  500/s.
- All application Owners, as listed in the Admin Console, can download the
app's
  code, unless code download is disabled for the application.
- Added db.py support for making calls to the datastore asynchronously.
  Available functions are get_async(), put_async(), delete_async(),
  allocate_ids_async(). Call get_result on the return value of asynchronous
  datastore functions to block on the call.
- Metadata queries can now get all namespaces, kinds, and properties in a
given
  range.
- The Testbed API now supports the Channel API.
- Users can provide Django settings to be loaded in webapp's django_setup.
- Modified Dashboard latency graphs to indicate they only include dynamic
  requests.
- Fixed an issue where Federated User data didn't survive a get-put-delete
  operation cycle.
- Fixed an issue where metadata queries did not support unicode characters.
- Fixed an issue where HTTP headers could contain new line characters.
- A warning message is shown when the Python version used to run the SDK is
  different than the Python version used in production.
- Fixed an issue with Federated Users causing the Admin Console dataviewer
to
  fail.
http://code.google.com/p/googleappengine/issues/detail?id=384
- MacOS and Windows style newlines are now supported for logging in the SDK.
http://code.google.com/p/googleappengine/issues/detail?id=560
- Fixed an issue where sending mail with smtp_host set did not work.
http://code.google.com/p/googleappengine/issues/detail?id=626
- Fixed the file permissions for appinfo_errors.py and appinfo.py in the
SDK.
http://code.google.com/p/googleappengine/issues/detail?id=725
- Fixed an issue deploying an app with version set to 0.
http://code.google.com/p/googleappengine/issues/detail?id=735
- Fixed an issue where the SDK allowed GET or DELETE with a body, which does
  not work in production.
http://code.google.com/p/googleappengine/issues/detail?id=983
- Fixed an issue where URLFetch/urllib did not work with MacOS and
  Python 2.6.0-2.6.3.
http://code.google.com/p/googleappengine/issues/detail?id=985
- Fixed the an issue in the SDK where the mail body was incorrectly
generated
  when the sendmail option was enabled.
http://code.google.com/p/googleappengine/issues/detail?id=1061
- Fixed an issue in the SDK dataviewer where editing a
ListProperty(db.Category)
  resulted in a BadValueError.
http://code.google.com/p/googleappengine/issues/detail?id=1139
- Fixed an issue in the SDK where the signal module could be imported, as it
  is not supported.
http://code.google.com/p/googleappengine/issues/detail?id=1150
- Improved support for reserving an app id that is a canonicalized version
of
  a user's Gmail address.
http://code.google.com/p/googleappengine/issues/detail?id=1196
- Added a more useful error messages for unavailable App Ids.
http://code.google.com/p/googleappengine/issues/detail?id=1303
- The SDK now uses hashlib instead of sha. Python 2.4 is no longer
supported.
http://code.go

[google-appengine] Getting ImportError: No module named python_compat on Fedora 14

2011-05-03 Thread David Lee Evans
When I run dev_server.py on fedora 14, and access localhost:8080, I
receive the following
errors, searching for the error on the Internet, there was mentioning
that the Crypto module
has to be 2.01 or that it should be installed in a different manner.
The fix was for OSX and I am not that familiar with
Python so I am kind of at a loss on how to fix this problem for fedora
14. Perhaps there is a patch for dev_server.py
or instruction on how to install Crypto on fedora 14 so that it is
visible to dev_server.py Any help would be
appreciated.

ERROR2011-05-03 09:46:35,182 dev_appserver.py:3906] Exception
encountered handling request
Traceback (most recent call last):
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 3858, in _HandleRequest
self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 3792, in _Dispatch
base_env_dict=env_dict)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 580, in Dispatch
base_env_dict=base_env_dict)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2918, in Dispatch
self._module_dict)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2822, in ExecuteCGI
reset_modules = exec_script(handler_path, cgi_path, hook)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2702, in ExecuteOrImportScript
exec module_code in script_module.__dict__
  File "/var/www/cwg/main.py", line 23, in 
import rpc
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2360, in load_module
return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2249, in FindAndLoadModule
description)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2194, in LoadModuleRestricted
description)
  File "/var/www/cwg/rpc.py", line 36, in 
import authorized
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2360, in load_module
return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2249, in FindAndLoadModule
description)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2194, in LoadModuleRestricted
description)
  File "/var/www/cwg/authorized.py", line 23, in 
import gdata.service
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2360, in load_module
return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2249, in FindAndLoadModule
description)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2194, in LoadModuleRestricted
description)
  File "/var/www/cwg/gdata/service.py", line 82, in 
import gdata.auth
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2360, in load_module
return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 2249, in FindAndLoadModule
description)
  File "/opt/google_appengine/google/appengine/tools/
dev_appserver.py", line 1440, in Decorate
return func(self, *args, **kwargs)
  File "/opt/google_appengine/google/appengine

[google-appengine] Using App Engine as a server for an Android game.

2011-05-03 Thread Rohan Chandiramani
Greetings App Engine people,

So i'm creating a multi-player android game and thought it would be a
interesting idea to have App Engine handle the server work.
The game consists of 4 players, each phone requests an update every
0.5 seconds.
These requests are very simple and lightweight so i shouldn't be over
reaching any free quotas.
The problem i found was that App Engine only handles 500 requests per
second, i would only be able to
have around 60 game sessions active before App Engine will start
ignoring new requests?

"App Engine's quota system allows for efficient applications with
billing enabled to scale to around 500 queries per second (qps) or
more than 40 million queries per day."

So how much would it be without billing enabled?
Also on the same page there is a request form for additional requests,
would i be eligible for this and what would the consequences be?
Or should i just not use this platform because it is not made for this
kind of usage?

Thank you kindly, i'm looking forward to an answer.
Greetings,
Rohan Chandiramani

-- 
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] Autogenerated long ids and chronological order.

2011-05-03 Thread Ricky Button
I have a question regarding auto-assigned ids for entities. Let's say
I have some set of entities that have the ids:

1
2
3
4
5

And I remove the 4th one:

1
2
3
5

If I add a new entity with an auto-generated ID, is it guaranteed that
the new ID will not be 4 and WILL be something greater than 5?

-- 
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: Instances

2011-05-03 Thread Eduardo Perrino
2011/5/3 Geoffrey Spear 

>
>
> On May 3, 11:55 am, Eduardo Perrino  wrote:
> > Hi Robert,
> >
> > I try to explain better:
> >
> > Our application has 16 instances assigned by appengine automatically and
> > three of them are "always on". It doesn't have many requests, in fact,
> the
> > time between them is large enough to appengine undeploy the application.
> So
> > appengine is starting the application over and over.
>
> If the Instances section of the control panel shows that you currently
> have 16 instances, that's how many copies of your application are
> currently running. Instances that are "undeployed", as you put it,
> won't show in that panel.
>

This is not true, because sometimes when an instance has received a request
the latency time is increased very much and if you go to the logs section
it's posible to see that the application has been started.

I think, see the instances is not mean that the application is started.



>
> --
> 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: Instances

2011-05-03 Thread Geoffrey Spear


On May 3, 11:55 am, Eduardo Perrino  wrote:
> Hi Robert,
>
> I try to explain better:
>
> Our application has 16 instances assigned by appengine automatically and
> three of them are "always on". It doesn't have many requests, in fact, the
> time between them is large enough to appengine undeploy the application. So
> appengine is starting the application over and over.

If the Instances section of the control panel shows that you currently
have 16 instances, that's how many copies of your application are
currently running. Instances that are "undeployed", as you put it,
won't show in that panel.

-- 
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: URL Dispatch efficiency

2011-05-03 Thread Rodrigo Moraes
I guess even with 10 thousand rules it would be very fast and 
building/matching would take milliseconds. Easy to test it yourself.

-- rodrigo

-- 
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] It seems indexes are stuck

2011-05-03 Thread Shinichi Nakanishi
It has been almost 24 hours since the deployment.  I have filed the
issue from the form.  Thanks!

Shinichi

On Mon, May 2, 2011 at 20:18, Robert Kluin  wrote:
> If you've given your indexes a good 12 or so hours to build, and they
> are still stuck, you might try filing a production issue:
> http://code.google.com/p/googleappengine/issues/entry?template=Production%20issue
>
>
>
>
>
>
>
>
> On Mon, May 2, 2011 at 18:18, Shinichi Nakanishi  wrote:
>> Hi there.
>>
>> I have added some indexes in index.yaml and deployed the application
>> this morning.  A couple of them have been created, but it stopped
>> creating any more.  Now other indexes are still in "Building" status
>> after a few hours.
>>
>> Please check if indexes are stuck, and if so please fix them.  The
>> application ID is: yogawms.
>>
>> Thank you,
>>
>> Shinichi
>>
>> --
>> 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] Instances

2011-05-03 Thread Eduardo Perrino
Hi Robert,

I try to explain better:

Our application has 16 instances assigned by appengine automatically and
three of them are "always on". It doesn't have many requests, in fact, the
time between them is large enough to appengine undeploy the application. So
appengine is starting the application over and over.

Our application is java based and we're using spring MVC, Security, IoC and
AOP, we've optimized the startup of it to reduce this time, more or less the
startup time is not exceed more than 15 seconds.

I've attached screenshot to show the instances's status.

Thanks for your interesting.

Eduardo.



2011/5/3 Robert Kluin 

> Hi Eduardo,
>  Perhaps you could explain "we've detected that many of them when
> receive a request, it has to start the application again" more
> precisely.  It is rather hard to give any advise other than make your
> app startup faster based on the information you've provided (for me at
> least).
>
>  Also, if you don't get any good insights here, try searching /
> asking on the google-appengine-java group.
>
>
> Robert
>
>
>
>
>
>
> On Tue, May 3, 2011 at 09:59, Eduardo Perrino 
> wrote:
> > Hi!!
> >
> > We have problems with the instance feature of appengine. Today we have
> > got 16 instances,  and we've detected that many of them when receive a
> > request, it has to start the application again. So our application
> > consumes a lot of cpu because our startup process is a little heavy.
> >
> > To solve this situation we've enabled always on feature, and the
> > problem becomes bigger, because always on instances has to start the
> > application too.
> >
> > We don't understand this behavior and we need help to solve this.
> > Otherwise we'll have to stop using appengine as a valid JAVA
> > development platform because stop and start in every moment the
> > application is unacceptable into this enviroment.
> >
> >
> > Eduardo
> >
> > --
> > 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] Instances

2011-05-03 Thread Robert Kluin
Hi Eduardo,
  Perhaps you could explain "we've detected that many of them when
receive a request, it has to start the application again" more
precisely.  It is rather hard to give any advise other than make your
app startup faster based on the information you've provided (for me at
least).

  Also, if you don't get any good insights here, try searching /
asking on the google-appengine-java group.


Robert






On Tue, May 3, 2011 at 09:59, Eduardo Perrino  wrote:
> Hi!!
>
> We have problems with the instance feature of appengine. Today we have
> got 16 instances,  and we've detected that many of them when receive a
> request, it has to start the application again. So our application
> consumes a lot of cpu because our startup process is a little heavy.
>
> To solve this situation we've enabled always on feature, and the
> problem becomes bigger, because always on instances has to start the
> application too.
>
> We don't understand this behavior and we need help to solve this.
> Otherwise we'll have to stop using appengine as a valid JAVA
> development platform because stop and start in every moment the
> application is unacceptable into this enviroment.
>
>
> Eduardo
>
> --
> 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] Security Constraint works in hosted mode but on the App Engine

2011-05-03 Thread Robert Kluin
Hi,
  Maybe you've already logged in before.  Have you tried clearing your
cookies or using a different browser?



Robert






On Tue, May 3, 2011 at 01:21, DFB  wrote:
> My GWT application is using Google Accounts authentication. I've added
> this simple security constraint to my web.xml file:
>
> 
>    
>        ds/*
>    
>    
>        *
>    
> 
>
> In the hosted mode, if I type the full path to a file inside the 'ds'
> folder (example http://<>/ds/abc.xml), it redirects me to the login
> page. After login, I can access the file. However, it doesn't work
> when the app is deployed to GAE. Any user can access the file from the
> URL http://myappid.appspot.com/ds/abc.xml without logging in. I was
> expecting the app to redirect me to the Google accounts login page
> when I tried to access the file.
>
> Am I missing something?
>
> Thanks in advance.
>
> --
> 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] URL Dispatch efficiency

2011-05-03 Thread Robert Kluin
Hi Mars,
  One possibly important difference is that items in app.yaml are
separate WSGI apps.  So if you have distinct sections of your
application, such as backend services and frontend views, that don't
share a lot of code between them, a loading request will only need to
load the modules used by the WSGI app the url that got hit maps to in
app.yaml.  This could have an impact if you're loading a lot of
unneeded modules, or you if you've got some very rarely used modules.
This difference is probably less important now with warming requests;
recently there seem to be far fewer issues with corrupted instances on
spinup.

  Personally, if I have something that is logically a separate
component that is very 'modular' I often define it in app.yaml.  Also,
I often define components that are relatively infrequently used (like
dev / admin stuff) as a separate apps, since there is not much point
in loading that stuff most of the time.



Robert



On Mon, May 2, 2011 at 23:37, Mars  wrote:
> If I have a large number of url patterns to match, is it more
> efficient, in terms of performance, to do it in app.yaml or passing
> them as arguments to WSGIApplication constructor?
>
> p.s. I'm using Python, but I'd imagine similar question applies to
> Java?
>
> Cheers,
>
> Mars
>
> --
> 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: Channel API & Adobe AIR

2011-05-03 Thread GK
Filed as issue 4973 (http://code.google.com/p/googleappengine/issues/
detail?id=4973)

On May 3, 5:19 pm, GK  wrote:
> Hi,
> my tests show that under AIR the hidden iframe is created and points
> athttp://talkgadget.google.com.
> I'll also file this issue.
>
> I'll be happy to provide any further assistance in identifying this
> problem.
>
> Thanks!
> Guy.
>
> On May 2, 5:30 pm, Moishe  wrote:
>
>
>
>
>
>
>
> > There shouldn't be a need for a locally patched bundle anymore; the
> > patch is being served live in production now.
>
> > So the AIR problem you're encountering must be something different.
> > I'll try to take a look at it soon; in the meantime could you please
> > file an issue here:
>
> >http://code.google.com/p/googleappengine/issues/list
>
> > Also can you can inspect the DOM of the iframe you're embedding and
> > tell me if a hidden iframe pointed at talkgadget.google.com gets
> > created? There are basically two things I can think of happening off
> > the top of my head -- AIR is preventing that iframe from being
> > created, or the cross-frame communication we're using to relay
> > messages from that iframe out to the host is getting broken somehow.
>
> > Thanks!
>
> > -Moishe

-- 
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: Channel API & Adobe AIR

2011-05-03 Thread GK
Hi,
my tests show that under AIR the hidden iframe is created and points
at http://talkgadget.google.com.
I'll also file this issue.

I'll be happy to provide any further assistance in identifying this
problem.

Thanks!
Guy.

On May 2, 5:30 pm, Moishe  wrote:
> There shouldn't be a need for a locally patched bundle anymore; the
> patch is being served live in production now.
>
> So the AIR problem you're encountering must be something different.
> I'll try to take a look at it soon; in the meantime could you please
> file an issue here:
>
> http://code.google.com/p/googleappengine/issues/list
>
> Also can you can inspect the DOM of the iframe you're embedding and
> tell me if a hidden iframe pointed at talkgadget.google.com gets
> created? There are basically two things I can think of happening off
> the top of my head -- AIR is preventing that iframe from being
> created, or the cross-frame communication we're using to relay
> messages from that iframe out to the host is getting broken somehow.
>
> Thanks!
>
> -Moishe

-- 
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: Why can't Channel API perform a fan-out broadcast?

2011-05-03 Thread Mike Wesner
I think it will work for a few (~8) connections, but then the next one
you connect will sort of disconnect one of the others.


On May 3, 7:44 am, Barry Hunter  wrote:
> Well I would imagine the server component that clients listen to only
> expect one client to be listening to a given id.
>
> So getting multiple connections to the same channel wont work, maybe
> they will all actully appear to work, but only (say) the last will be
> functional. Or when the channel api server forwards a message to the
> (say) first client, it considers it job done, and ignores the other
> clients also listening.
>
> ie the server would need to be designed to able to specifically track
> multiple actual clients listening. Its probably only designed to work
> with one, even though it may work in some situations
>
> (The point about incepting, say the person using the incepted token to
> listen, it may well end up disconnecting the original client
> (physically or virtually). ie still only one works, the original could
> end up dead)
>
> On 3 May 2011 05:29, Albert  wrote:
>
>
>
>
>
>
>
> > In the documentation, it says...
>
> > "Treat the token returned by create_channel() as a secret. If a
> > malicious application gains access to the token, it could listen to
> > messages sent along the channel you are using."[1]
>
> > and then the following section proceeds to say...
>
> > "Only one client at a time can connect to a channel using a given
> > Client ID, so an application cannot use a Client ID for fan-out. In
> > other words, it's not possible to create a central Client ID for
> > connections to multiple clients (For example, you can't create a
> > Client ID for something like a "global-high-scores" channel and use it
> > to broadcast to multiple game clients.)"[2]
>
> > If someone else gets the token so it can also "listen" to the messages
> > being sent along the channel, what is stopping me from *legitimately*
> > giving the same token to multiple users so they can all "listen" to
> > the same channel?
>
> > Thanks!
>
> > 1http://code.google.com/appengine/docs/python/channel/overview.html#To...
> > 2http://code.google.com/appengine/docs/python/channel/overview.html#Ca...
>
> > --
> > 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.



[google-appengine] Instances

2011-05-03 Thread Eduardo Perrino
Hi!!

We have problems with the instance feature of appengine. Today we have
got 16 instances,  and we've detected that many of them when receive a
request, it has to start the application again. So our application
consumes a lot of cpu because our startup process is a little heavy.

To solve this situation we've enabled always on feature, and the
problem becomes bigger, because always on instances has to start the
application too.

We don't understand this behavior and we need help to solve this.
Otherwise we'll have to stop using appengine as a valid JAVA
development platform because stop and start in every moment the
application is unacceptable into this enviroment.


Eduardo

-- 
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] Why can't Channel API perform a fan-out broadcast?

2011-05-03 Thread Barry Hunter
Well I would imagine the server component that clients listen to only
expect one client to be listening to a given id.

So getting multiple connections to the same channel wont work, maybe
they will all actully appear to work, but only (say) the last will be
functional. Or when the channel api server forwards a message to the
(say) first client, it considers it job done, and ignores the other
clients also listening.

ie the server would need to be designed to able to specifically track
multiple actual clients listening. Its probably only designed to work
with one, even though it may work in some situations


(The point about incepting, say the person using the incepted token to
listen, it may well end up disconnecting the original client
(physically or virtually). ie still only one works, the original could
end up dead)


On 3 May 2011 05:29, Albert  wrote:
> In the documentation, it says...
>
> "Treat the token returned by create_channel() as a secret. If a
> malicious application gains access to the token, it could listen to
> messages sent along the channel you are using."[1]
>
> and then the following section proceeds to say...
>
> "Only one client at a time can connect to a channel using a given
> Client ID, so an application cannot use a Client ID for fan-out. In
> other words, it's not possible to create a central Client ID for
> connections to multiple clients (For example, you can't create a
> Client ID for something like a "global-high-scores" channel and use it
> to broadcast to multiple game clients.)"[2]
>
>
> If someone else gets the token so it can also "listen" to the messages
> being sent along the channel, what is stopping me from *legitimately*
> giving the same token to multiple users so they can all "listen" to
> the same channel?
>
> Thanks!
>
> 1 
> http://code.google.com/appengine/docs/python/channel/overview.html#Tokens_and_Security
> 2 http://code.google.com/appengine/docs/python/channel/overview.html#Caveats
>
> --
> 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] Replicating of AppEngine [was: Any past scenarios of data getting lost]

2011-05-03 Thread Maximillian Dornseif
On May 2, 3:49 pm, Murali Krishna  wrote:
> Hello,
>
> I am writing an application to store some crucial data using datastore
> api. I cannot afford to loose not even single record of possible
> 10million records. Does Google promise that the data be stored without
> any loss? Do they mention this fact in the terms and conditions?

http://groups.google.com/group/google-appengine/msg/8a9a505e8aaee07a
"The short story is: We won't lose your data - we have a robust backup
and
recovery strategy"

Backup on AppEngine seems to be a big thing as feature requests (e.g.
http://is.gd/fQcfXM http://is.gd/KTp65k#) and Usenet (?) discussions
(e.g. http://is.gd/6ObYrY http://is.gd/vo7TFj#) show.

Regulatory requirements force many companies to have a written plan
for
disaster recovery. "Google just doesn't lose data" cant be the answer
here.

Below is my evaluation of the situation and solutions along with code
to
replicate datastore contents to Amazon S3:

## Disaster Recovery on AppEngine and of-site Replication

# In the following paragraphs we consider several disaster scenarios
and how
# to guard against them. Here we are only considering safety
(availability)
# issues, not Security (confidentiality) issues. Our Data is hosted on
Google
# AppEngine Servers which seem exclusively be controlled by Google
Inc. and
# exclusively hosted in the United States. This contributes to some
disaster
# recovery scenarios.

# 1. Due to some programming or administration Error on our side data
is wiped
#out.
# 2. Due to some programming or administration Error on Googles side
data is
#wiped out. Data may or may not
#be restored by Google after some time (see "[unapplied writes]
[1]" in
#2010 or the AWS EBS outage in 2011).
# 3. Due to some third party soft or hardware involvement data is
wiped out.
#Think of student or coordinated physical attacks on datacenters.
# 4. Due to some contractual problems (e.g. we don't pay) data is
deliberately
#wiped out by Google.
# 5. The US government or US court system decides to deny us access to
our data.
# 6. A disgruntled Admin decides to delete our data.
#
# In addition there are some desirable properties the replication
should have:
#
# 1. One copy of the data must be stored within the EU. This is a
requirement
#for tax record keeping.
# 2. One copy of the data should be stored within Germany. This makes
tax
#record keeping easier.
# 3. One copy of the data should be stored on site. This would ensure
#availability even if our company can't pay any 3 rd parties for
storage
#for some time.
# 4. The replication should involve only minimal administrative
resources.
#I always keep this image in mind when designing that stuff:
#http://static.23.nu/md/Pictures/ZZ573344DB.png
#Especially I want to avoid cronjobs on unix machines which need
#additional monitoring, patching, upgrading, disks, backups, etc.
#If possible all should run on AppEngine.

# One thing the replicas don't need to provide is immediate access. As
long as
# the data and metadata is replicated somewhere and can be loaded into
an
# (possibly to write on demand) application we are fine. Several of
the
# scenarios above imply that we would not have access to AppEngine
# infrastructure and must rewrite our software anyhow. So direct
restore from
# the replicas is not needed.

# We decided not to use the [bulkloader][3] for backups. While the
bulkloader
# is a fine pice of software it seems to me that it can't be used for
# incremental backups. Also I'm reluctant to enable the `remote_api`
because
# technically this would enable every developer wit admin permissions
on the
# AppEngine to download our complete dataset "for testing". And then a
laptop
# gets lost/stolen ...

# I also would argue that an application with enabled `remote_api`
can't
# comply with any serious audit/bookkeeping standards. So we don't use
it.

# Currently we have no objects bigger than 1 MB. This will change when
we use
# the blobstore. Replication entities bigger than 1 MB will be
challenging
# since the `urlfetch` API only allows 1 MB per upload. Options for
storage we
# considered.

### Amazon S3 (Simple Storage Service)

# This was our first choice. Provides storage in the EU, is well known
and
# regarded and comes with a rich ecosystem. With [S3 multipart upload]
it
# would be possible to generate big files but unfortunately the part
size ust be
# 5 MB or more while with the urlfetch API we van write only 1 MB or
less. So
# this doesn't work. But for objects < 1 MB Amazon S3 is a fine
choice.

### GS (Google Storage) and the AppEngine blobstore

# Both services don't guard against most of the disaster scenarios
described
# above but still have some interesting properties which might make
them
# desirable ans an immediate step to generating replicas

# With [resumable uploads][5] Google Storage provides the ability to
generate
# very large files while still being bound to the 1 MB upload limit of