[google-appengine] wish: nestable/embeddable entities

2010-02-19 Thread notcourage
Nestable/embeddable entities would be used to build graphs of entities
which are serialized inside a single entity. Protocol buffers support
nesting & repeating but not arbitrary graphs.

Possible API additions:
* constructor: new Model(nest=parent)
* property type: NestedReferenceProperty; supported in lists.
* custom index support.

Existing options for representing a Contact:
1a) Contact entity w/ ListProperty's: addresses, emails, etc.
1b) Contact entity w/ address1, address2, address3, email1, email2,
email3, etc. properties.
2a) Contact entity w/ addresses property listing keys of Address
entities. This is a workaround because lists of ReferenceProperty is
unsupported.
New options:
2b) Contact entity w/ addresses property listing
NestedReferenceProperty referencing Address nested entities.
2c) Contact entity & Address nested entities--query by ancestor.

-- 
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-appeng...@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] GAE cold start time still too long

2010-02-19 Thread Anders
This has been discussed before but the problem still remains. It seems
that GAE is no longer in a preview release version (as far as I can
see). Having a cold start initiation time of 10 seconds is a major
bottleneck.

Imagine if it took 10 seconds to load for example the Google Search
index page in your browser. It doesn't sound like a very long time,
but today that kind of load time for an index page is very poor
performance.

I understand that GAE cannot at the moment hold all applications hot/
warm, because that would require a lot more resources I assume. But I
think the cold start time needs to be brought down to a maximum of
around 2 seconds.

It actually doesn't matter in many cases if an application is used by
millions of users every day or only seldom by a few people. The load
time for webpages is usually extremely important regardless the amount
of traffic to a website. Each user's experience counts.

-- 
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-appeng...@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] Model class of a Query instance?

2010-02-19 Thread Nickolas Daskalou
Thanks for your advice Nick.

My actual app is a bit more complex than the example I gave. I'll explain
more in my response to your comments below.

Will this be an all-or-nothing proposition? Eg, if the put of 'foo' changed
> the foo_name, they'll all need updating, otherwise none of them will? In
> that case, you'd be better off checking if it's changed, and updating them
> all (without the inequality filter) if it did change.
>

Yes, indeed it's all-or-nothing.

The above will change every single Bar and Baz entity that doesn't match
> foo's entity name, though, including those that have nothing to do with the
> foo you modified.
>

Yep, that's true. In my real app though, I don't want to query on foo's
name, but instead on foo's "metadata signature", which is a hash of a
combination of foo's key and properties (or rather, the properties that
reverse-referenced entities duplicate, such as foo's name).

 Depending on how many Bar and Baz entities there are per Foo, you could
> just drop the inequality and filter them out once they're fetched.
>

I have ReferenceProperty properties all over the place in my model design,
so there are many Foo-type Models, some with up to a dozen different
reverse-referenced Bar/Baz-type Models, with each of those Foo->Bar/Baz
relations potentially having thousands of entities.

Given that you're already hard-coding in the list of collections, you could
> avoid the need for a 'get_model_class_for_collection' method by replacing
> the loop with:
>
> "for model_class in (Bar, Baz):"
>

In my real app I'm not hard-coding these (due to the maintenance required as
the model design evolves), I'm trying to get them dynamically, see this
other thread I created:

http://groups.google.com/group/google-appengine/browse_thread/thread/1a6e911f3eff79ed

However, I may indeed need to hard-code these if I can't find any
satisfactory way of getting all the "collection_name"s dynamically.

Now more about my real app...

I have a mixin class for Models to inherit from, which looks like this:

class ModelCommons(object):

  def get_metadata_signature(self):
return hashlib.sha1('Kind:%s|ID:%s|KeyName:%s|Prop:%s' % (
  self.kind(), self.key().id(), self.key().name(),
repr(self.get_current_metadata(.hexdigest()

  def get_current_metadata(self):
meta = []
for prop_name in self.__class__.meta_property_names:
  meta.append((prop_name, getattr(self.__class__,
prop_name).get_value_for_datastore(self)))
return meta

  def update_collections_metadata(self):
current_metadata_signature = self.get_metadata_signature()
for collection_name in self.get_collection_names() # In a perfect world
  model_class =
self.get_model_class_from_collection_name(collection_name) # The magic
method I was looking for
  reference_prop_name =
self.get_reverse_reference_property_name_from_collection_name(collection_name)
# Another magic method that I need
  metadatasig_prop_name = '%s_metadata_signature' % reference_prop_name
  while True:
# BEGIN TRANSACTION (not shown)
entity = model_class.all().filter('%s !='
% metadatasig_prop_name, current_metadata_signature).get()
if not entity:
  break
setattr(entity, reference_prop_name, self)

 entity.update_reference_property_metadata_for_property(reference_prop_name)
entity.put()
# END TRANSACTION

  def update_reference_property_metadata_for_property(self, prop_name):
# Implementation not shown, but assume this method also
# updates the {{prop_name}}_metadata_signature property.

  def post_put(self):
if self.get_metadata_signature() != self._initial_metadata_signature
  from google.appengine.ext import deferred
  deferred.defer(self.update_collections_metadata) # Haven't tried to
see if this works, but that's the idea

# For the ever-so-boring Author -> Article example:

class Author(db.Model, ModelCommons):
  name = db.StringProperty()
  avatar_url = db.StringProperty()
  permissions = db.StringListProperty()

  meta_property_names = ('name', 'avatar_url')

  # Yuck way to set the initial state. Is there a better way?
  def __init__(self, *args, **kwds):
super(self.__class__, self).__init__(*args, **kwds)
self._initial_metadata_signature = self.get_metadata_signature()

class Article(db.Model, ModelCommons):
  title = db.StringProperty()
  content = db.BlobProperty()
  author = db.ReferenceProperty(Author, collection_name = 'articles')
  author_metadata_signature = db.StringProperty()
  author_name = db.StringProperty()
  author_avatar_url = db.StringProperty()
  pre_put():
self.update_reference_property_metadata_for_property('author')

I'll also have clean-up tasks just in case the deferred task in post_put()
isn't successfully added.

If you've followed all that code, when this happens:

author = Author(key_name = 'BillyJoel123', name='Billy Joel',
  avatar_url='http://whatever.com/billy.png', permissions =
['editor','admin'])
author.put()

Re: [google-appengine] Local datastore is slow once loaded up, any suggestions?

2010-02-19 Thread Eli Jones
I did some preliminary testing on this.. mainly, I used the cachepy.py from
here:

http://appengine-cookbook.appspot.com/recipe/cachepy-faster-than-memcache-and-unlimited-quota/

I
created a test page.. that I used to load 400,000 entities from one of my
Models whenever it received a flag from me to fill up the cache (I created
the entities on the fly and gave them key_names and values and then called
cachepy.set() on each one).

Then.. i removed the cache flag.. and just used the test page to get
entities from the cachepy cache by keyname to see how long they hung around.

I then went into the Interactive Console and began grabbing entities from
the cache as well.

The entities could be got from both locations.

I then started doing this:

result = cachepy.get(keyname)
result.prop1 = "newvalue"

etc..

I would then use my test page to check the cache for that keyname, and I
would see the "newvalue" for prop1.

It looks like.. as long as you are actively using the cache from the global
dictionary object that cachpy uses.. it will stay in memory. (It has for 60
minutes so far, and I'm guessing it will persist as long as you are using it
and you don't stick "too many" new objects into the cache.)

Since you aren't pickling the objects before sticking them in the global
dict.. you're able to use the Model entities with all the datastore type
checking etc.. so.. you have some sanity to what can and can't be done to
the entities in memory and you get proper error reporting if you do
something un-kosher to one of your entity properties like trying to set an
IntegerProperty to a String.. etc.

So, if you have a setup where you do a lot of accessing entities by key_name
and then "doin thangs" to that stuff.. this could work in the development
server.  You'd just need a bootstrap process to stuff your datastore into
the cache when you were ready to get to testing.. and then.. create some
process to dump that info to the datastore once you were done mucking
around.

Loading up the 400,000 entities into the cache gobbled up an extra 270MB of
RAM in the pythonw.exe process on my machine... and I'm guessing you can
just keep adding objects to the cache until Python crashes...

I guess if you really wanted to get punk rock... you could emulate searching
by entity properties by just having a function that looped through all
entities of a given Model and had it return the ones that matched your
"query".  That would be plenty fast.

On Fri, Feb 19, 2010 at 8:44 PM, Eli Jones  wrote:

> I noticed this issue as well when working from a bulkloaded backup up my
> live datastore (around the same number of entities).  For me, it seems that
> db.delete() takes forever.. db.puts() seem tolerable.  (I'm on Windows).
>
> I see that Nick is indicating that this may just be the way it is.
>
> It'd be nice to do offline processing and development working against a
> snapshot of my current datastore.. but I'm not going to whine too much for
> that.  I'd rather the App Engine Team keep focusing on sweetening the live
> store.
>
> One potential way around this (if you reay, really wanted to use the
> development environment with a large datastore).. you could cook up a way to
> have the datastore stuff loaded into a global Dictionary object.. and you
> could put(), delete() stuff from it while testing.
>
> That might work well since the development environment seems to run only
> one instance or thread or whatever they call it.. so as long as you didn't
> fill up the memory, it seems that maybe the global object would be there for
> long enough to do several tests..
>
> Then again, you'd probably need uncoupled Models.. where no class was
> related to any other one through references or ancestors or parents or
> children etc.  So, like I said, you'd have to really want to do this..
>
> For me, this would work since I want to do lots of cycling through 10s of
> thousands of entities.. updating and deleting them in memory (Model entities
> are relate to others only through their key_names and not through any
> defined properties)... then when I was done.. I could just have some process
> sync the ram datastore with the one on disk.. and go have a beer or whatever
> while it took its sweet time.
>
> There be dragons in the details though.
>
>
> On Fri, Feb 19, 2010 at 12:19 PM, obvious  wrote:
>
>> I've loaded up a local datastore with 40,000+ entries.  Unfortunately,
>> recalling any data from it at all is very slow on my fairly new
>> Macbook Pro.  Any suggestions on speeding things up, short of buying a
>> new piece of hardware?
>>
>> --
>> 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-appeng...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> google-appengine+unsubscr...@googlegroups.com
>> .
>> For more options, vi

[google-appengine] Frustrating tutorials

2010-02-19 Thread Manny
several of the tutorials leave out steps that leave the reader very
very confused as to why the heck they dont work.
Mainly this-> 
http://code.google.com/appengine/docs/java/datastore/creatinggettinganddeletingdata.html
fails to adress in anyway the difficulties of using Key or KeyFactory.
The error -> "The import com.google.appengine cannot be resolved"
should be addressed.
If anyone has this working WITHOUT ANY HACKS let me know I keys to
JUST WORK. i'm just gonna use strings. This point of Frustration
encounted MUST be indicated
before wasting other peoples time trying to make their own keys
withought the source from appengine.

-- 
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-appeng...@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] Application Logs

2010-02-19 Thread Ikai L (Google)
Is there a reason you're using this mechanism instead of using the Logger?

http://code.google.com/appengine/articles/logging.html

In general, you
shouldn't rely on having access to STDOUT in production.

On Fri, Feb 19, 2010 at 3:57 PM, Sandeep  wrote:

> My output from System.out is not showing under "INFO" in the Admin
> Console Logs. Has anyone else faced similar issue?
>
> --
> 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-appeng...@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.
>
>


-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/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-appeng...@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] Local datastore is slow once loaded up, any suggestions?

2010-02-19 Thread Eli Jones
I noticed this issue as well when working from a bulkloaded backup up my
live datastore (around the same number of entities).  For me, it seems that
db.delete() takes forever.. db.puts() seem tolerable.  (I'm on Windows).

I see that Nick is indicating that this may just be the way it is.

It'd be nice to do offline processing and development working against a
snapshot of my current datastore.. but I'm not going to whine too much for
that.  I'd rather the App Engine Team keep focusing on sweetening the live
store.

One potential way around this (if you reay, really wanted to use the
development environment with a large datastore).. you could cook up a way to
have the datastore stuff loaded into a global Dictionary object.. and you
could put(), delete() stuff from it while testing.

That might work well since the development environment seems to run only one
instance or thread or whatever they call it.. so as long as you didn't fill
up the memory, it seems that maybe the global object would be there for long
enough to do several tests..

Then again, you'd probably need uncoupled Models.. where no class was
related to any other one through references or ancestors or parents or
children etc.  So, like I said, you'd have to really want to do this..

For me, this would work since I want to do lots of cycling through 10s of
thousands of entities.. updating and deleting them in memory (Model entities
are relate to others only through their key_names and not through any
defined properties)... then when I was done.. I could just have some process
sync the ram datastore with the one on disk.. and go have a beer or whatever
while it took its sweet time.

There be dragons in the details though.

On Fri, Feb 19, 2010 at 12:19 PM, obvious  wrote:

> I've loaded up a local datastore with 40,000+ entries.  Unfortunately,
> recalling any data from it at all is very slow on my fairly new
> Macbook Pro.  Any suggestions on speeding things up, short of buying a
> new piece of hardware?
>
> --
> 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-appeng...@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-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] Re: Datastore Statistics page not updating (over 3 days now)

2010-02-19 Thread Eli Jones
Hooray, the magic appengine elves have updated my stats.

Thank you App Engine Infrastructure.

On Fri, Feb 19, 2010 at 7:16 PM, Eli Jones  wrote:

> Hmm.. I suppose I could have hit the 1MB limit for stats that is mentioned
> here:
>
> http://code.google.com/appengine/kb/adminconsole.html#datastore_stats
>
> Is
> there a rule of thumb for estimating stats usage?  I'm at .3 GB of Datastore
> usage so that would mean that somewhere around 0.3% of that went to stats..
> which pushed me over the limit possibly?
>
> I have only 5 defined Models that are in use.. and those models have a
> total of 16 defined properties and 12 of those properties have
> indexed=False.
>
> Anyway, this is low on the pile of important issues.. but it'll be nice
> when I can keep an eye on stats for my entities since it helps me optimize
> any poorly defined models.
>
>
> On Fri, Feb 19, 2010 at 1:17 PM, Eli Jones  wrote:
>
>> Is there a backlog on getting Datastore Statistics calculated?
>>
>> When I go to the "Datastore Statistics" page for my application, it
>> indicates that "Last Updated" = 3 days, 3:35:42 ago
>>
>> Which is accurate since there are no stats for entities or Models created
>> since then.
>>
>> Is anyone else having this issue or am I the only lucky one?
>>
>> IF this is not related to the Maintenance performed earlier this week,
>> then it could be related to the fact that I generated a new Model with ALOT
>> of new entities (around 500,000) the night before Maintenance .. so much so
>> that my Total Stored Data jumped from .03 to .27 GB (granted, all of the
>> properties on the entities are "Indexed=False").
>>
>> Could the addition of so much new data make Statistics take a long time to
>> update?
>>
>
>

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



[google-appengine] Re: Datastore Statistics page not updating (over 3 days now)

2010-02-19 Thread Eli Jones
Hmm.. I suppose I could have hit the 1MB limit for stats that is mentioned
here:

http://code.google.com/appengine/kb/adminconsole.html#datastore_stats

Is
there a rule of thumb for estimating stats usage?  I'm at .3 GB of Datastore
usage so that would mean that somewhere around 0.3% of that went to stats..
which pushed me over the limit possibly?

I have only 5 defined Models that are in use.. and those models have a total
of 16 defined properties and 12 of those properties have indexed=False.

Anyway, this is low on the pile of important issues.. but it'll be nice when
I can keep an eye on stats for my entities since it helps me optimize any
poorly defined models.

On Fri, Feb 19, 2010 at 1:17 PM, Eli Jones  wrote:

> Is there a backlog on getting Datastore Statistics calculated?
>
> When I go to the "Datastore Statistics" page for my application, it
> indicates that "Last Updated" = 3 days, 3:35:42 ago
>
> Which is accurate since there are no stats for entities or Models created
> since then.
>
> Is anyone else having this issue or am I the only lucky one?
>
> IF this is not related to the Maintenance performed earlier this week, then
> it could be related to the fact that I generated a new Model with ALOT of
> new entities (around 500,000) the night before Maintenance .. so much so
> that my Total Stored Data jumped from .03 to .27 GB (granted, all of the
> properties on the entities are "Indexed=False").
>
> Could the addition of so much new data make Statistics take a long time to
> update?
>

-- 
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-appeng...@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: HELP! Stored Data Quota Weirdness- My Site is Down!

2010-02-19 Thread jay

hah, oh yeah I was confused because it wan't reporting any of my data
in the datastore.

On Feb 20, 10:12 am, Eli Jones  wrote:
> Well, the screencapture you posted is just reflecting that.. 1 GB out of 400
> GB is much less than 1%.. so.. it just shows 0% usage (or that is my guess).
>
> Though, I have bee seeing wierd behaviour with the Total Stored Data
> number.. like you, mine was showing less usage that was there.  (It showed
> .03 GB when I was using .27 GB.. it eventually corrected itself).
>
>
>
> On Fri, Feb 19, 2010 at 6:04 PM, jay  wrote:
> > Also note that the dashboard reports total stored data in the database
> > as 1GB when there should be about 6 gig of data.
>
> > On Feb 20, 9:54 am, jay  wrote:
> > > Yesterday after I updated our quotas though Google checkout because we
> > > were regularly getting close to some of our limits.
>
> > > About 1am last night, my site started throwing  "OverQuotaError: The
> > > API call datastore_v3.Put() required more quota than is available."
>
> > > This morning I quickly jumped online and purchased more allowance,
> > > thinking we had a spike in traffic and my new quotas have kicked in
> > > but it seems my site is still throwing the error.
>
> > > Also, It seems that i'm able to store data now, but other users
> > > cannot. Are admins treated differently?
>
> > > Also, My dashboard seem a little weird as its "Free Quota" Bar is
> > > siting on 0 for stored data?http://www.imged.org/121/capture0.png
>
> > > One other question, is there a better place than this for me to
> > > contact a Google support staff to help? Is there such a thing?
>
> > > Jay.
>
> > --
> > 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-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com > e...@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-appeng...@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] Application Logs

2010-02-19 Thread Sandeep
My output from System.out is not showing under "INFO" in the Admin
Console Logs. Has anyone else faced similar issue?

-- 
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-appeng...@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: HELP! Stored Data Quota Weirdness- My Site is Down!

2010-02-19 Thread jay
is it possible that I'm experiencing the same problem as these people
here..

http://groups.google.com/group/google-appengine/browse_thread/thread/d9553ff5a42ce122/e9cc07c63aedb65c?lnk=gst&q=Over+Quota+Error#e9cc07c63aedb65c

On Feb 20, 10:04 am, jay  wrote:
> Also note that the dashboard reports total stored data in the database
> as 1GB when there should be about 6 gig of data.
>
> On Feb 20, 9:54 am, jay  wrote:
>
>
>
> > Yesterday after I updated our quotas though Google checkout because we
> > were regularly getting close to some of our limits.
>
> > About 1am last night, my site started throwing  "OverQuotaError: The
> > API call datastore_v3.Put() required more quota than is available."
>
> > This morning I quickly jumped online and purchased more allowance,
> > thinking we had a spike in traffic and my new quotas have kicked in
> > but it seems my site is still throwing the error.
>
> > Also, It seems that i'm able to store data now, but other users
> > cannot. Are admins treated differently?
>
> > Also, My dashboard seem a little weird as its "Free Quota" Bar is
> > siting on 0 for stored data?http://www.imged.org/121/capture0.png
>
> > One other question, is there a better place than this for me to
> > contact a Google support staff to help? Is there such a thing?
>
> > Jay.

-- 
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-appeng...@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: HELP! Stored Data Quota Weirdness- My Site is Down!

2010-02-19 Thread Eli Jones
Well, the screencapture you posted is just reflecting that.. 1 GB out of 400
GB is much less than 1%.. so.. it just shows 0% usage (or that is my guess).

Though, I have bee seeing wierd behaviour with the Total Stored Data
number.. like you, mine was showing less usage that was there.  (It showed
.03 GB when I was using .27 GB.. it eventually corrected itself).



On Fri, Feb 19, 2010 at 6:04 PM, jay  wrote:

> Also note that the dashboard reports total stored data in the database
> as 1GB when there should be about 6 gig of data.
>
> On Feb 20, 9:54 am, jay  wrote:
> > Yesterday after I updated our quotas though Google checkout because we
> > were regularly getting close to some of our limits.
> >
> > About 1am last night, my site started throwing  "OverQuotaError: The
> > API call datastore_v3.Put() required more quota than is available."
> >
> > This morning I quickly jumped online and purchased more allowance,
> > thinking we had a spike in traffic and my new quotas have kicked in
> > but it seems my site is still throwing the error.
> >
> > Also, It seems that i'm able to store data now, but other users
> > cannot. Are admins treated differently?
> >
> > Also, My dashboard seem a little weird as its "Free Quota" Bar is
> > siting on 0 for stored data?http://www.imged.org/121/capture0.png
> >
> > One other question, is there a better place than this for me to
> > contact a Google support staff to help? Is there such a thing?
> >
> > Jay.
>
> --
> 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-appeng...@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-appeng...@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: HELP! Stored Data Quota Weirdness- My Site is Down!

2010-02-19 Thread jay
Also note that the dashboard reports total stored data in the database
as 1GB when there should be about 6 gig of data.

On Feb 20, 9:54 am, jay  wrote:
> Yesterday after I updated our quotas though Google checkout because we
> were regularly getting close to some of our limits.
>
> About 1am last night, my site started throwing  "OverQuotaError: The
> API call datastore_v3.Put() required more quota than is available."
>
> This morning I quickly jumped online and purchased more allowance,
> thinking we had a spike in traffic and my new quotas have kicked in
> but it seems my site is still throwing the error.
>
> Also, It seems that i'm able to store data now, but other users
> cannot. Are admins treated differently?
>
> Also, My dashboard seem a little weird as its "Free Quota" Bar is
> siting on 0 for stored data?http://www.imged.org/121/capture0.png
>
> One other question, is there a better place than this for me to
> contact a Google support staff to help? Is there such a thing?
>
> Jay.

-- 
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-appeng...@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: pygooglechart

2010-02-19 Thread Sylvain
I think it's easier not to use a lib for Google Chart.
Each time I tried to use one, I spent a lot of time to understand /
debug it.

There is a good example how to use GChart from scratch here :
http://gpxplot.googlecode.com/svn/trunk/gpxplot.py

And there is a perfect func to generate extended data :

def google_ext_encode(i):
"""Google Charts' extended encoding,
see http://code.google.com/apis/chart/mappings.html#extended_values""";
enc='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
enc=enc+enc.lower()+'0123456789-.'
i=int(i)%4096 # modulo 4096
figure=enc[int(i/len(enc))]+enc[int(i%len(enc))]
return figure

I think this is the only thing you need.


On Feb 19, 10:39 pm, nickmilon  wrote:
> I have taken a look in the library.
>
> It seems it imports the following python packages
>
> import os
> import urllib
> import math
> import random
> import re
>
> Now I am not sure it will work on GAE since as far as I know math is a
> wraper around c math and this is no no in GAE.
> Hope some body else who is more familiar with the above libraries can
> advice.
>
> Happy coding ;-)
>
> Yes in your PC - follow the instructions of the library for that so
> you ca test it with the local server.
> Also include the whole library on your project files so it will be
> uploaded in GAE.
>
> On Feb 19, 10:21 pm, nickmilon  wrote:
>
> > Yes in your PC - follow the instructions of the library for that.
> > Later on I will take a look at the library my self.
>
> > On Feb 19, 1:09 pm, Massimiliano 
> > wrote:
>
> > > "Sure you can after installing the library" on my PC?
>
> > > 2010/2/19 nickmilon 
>
> > > > Sure you can after installing the library and including the files in
> > > > your application provided this library does not depend on anything but
> > > > python.
> > > > Also since data passing mechanism for google visualization api is
> > > > quite easy to implement in python you can avoid the burden of one more
> > > > import and write your own interface.
> > > > For an example of using visualization api from gae you can take a look
> > > > at:  http://www.geognos.com/geo/en/cc/no.html#Economy
> > > > Unfortunately i did not have the time to document the code but feel
> > > > free to examine the page source code and the relative javascript
> > > > files.
>
> > > > Happy coding;)
>
> > > > On Feb 18, 2:30 pm, Massimiliano 
> > > > wrote:
> > > > > Dear All,
> > > > > I'm trying to learn using python and Google App Engine. Can I use this
> > > > > library on the appengine? Just importing this in the python 
> > > > > application
> > > > > (from pygooglechart import *)?
>
> > > > > Massimiliano
>
> > > > > --
>
> > > > > My email: massimiliano.pietr...@gmail.com
> > > > > My Google Wave: massimiliano.pietr...@googlewave.com
>
> > > > --
> > > > 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-appeng...@googlegroups.com.
> > > > To unsubscribe from this group, send email to
> > > > google-appengine+unsubscr...@googlegroups.com > > >  e...@googlegroups.com>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/google-appengine?hl=en.
>
> > > --
>
> > > My email: massimiliano.pietr...@gmail.com
> > > My Google Wave: massimiliano.pietr...@googlewave.com

-- 
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-appeng...@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] HELP! Stored Data Quota Weirdness- My Site is Down!

2010-02-19 Thread jay
Yesterday after I updated our quotas though Google checkout because we
were regularly getting close to some of our limits.

About 1am last night, my site started throwing  "OverQuotaError: The
API call datastore_v3.Put() required more quota than is available."

This morning I quickly jumped online and purchased more allowance,
thinking we had a spike in traffic and my new quotas have kicked in
but it seems my site is still throwing the error.

Also, It seems that i'm able to store data now, but other users
cannot. Are admins treated differently?

Also, My dashboard seem a little weird as its "Free Quota" Bar is
siting on 0 for stored data?
http://www.imged.org/121/capture0.png

One other question, is there a better place than this for me to
contact a Google support staff to help? Is there such a thing?

Jay.

-- 
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-appeng...@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: implementing asynchronous http in java

2010-02-19 Thread davidnelson
problem solved.  I was referencing the app engine/gwt project from a
console app.  apparently you can't do this.  when I debug it as a
google app project, it works.   hope this minor pain and lesson will
help someone else someday.  thanks, David

On Feb 19, 2:13 pm, davidnelson 
wrote:
> more info, I tried using the app engine version 1.3.0 and that's when
> I get nullpointerexceptions.  switching back to 1.3.1 and I get the
> first exception I initially posted, sync or async.
>
> On Feb 19, 1:37 pm, Eli Jones  wrote:
>
>
>
> > I don't code in Java.. but my guess is you're making a silly mistake in
> > there somewhere..
>
> > Copy pasting some other person's posted code from the Java AppEngine group I
> > see it done this way:
>
> > URL url = new URL(urlStr);
> > URLFetchService urlFetchService =
> > URLFetchServiceFactory.getURLFetchService();
> > HTTPRequest httpRequest = new
> > HTTPRequest(url, HTTPMethod.GET,followRedirects());
> > HTTPResponse response = urlFetchService.fetch(httpRequest);
>
> > On Fri, Feb 19, 2010 at 4:27 PM, davidnelson <
>
> > david.jonathan.nel...@gmail.com> wrote:
> > > weird, I get the same error even when I pin objects and call urlfetch
> > > synchronously:
>
> > >                                url = new URL(urlString);
> > >                                request = new HTTPRequest(url);
> > >                                request.addHeader(userAgentHeader);
> > >                                request.addHeader(authorizationHeader);
> > >                                request.addHeader(acceptEncodingHeader);
> > >                                request.addHeader(acceptCharsetHeader);
> > >                                 // undo pinning after debug
> > >                                HTTPResponse response =
> > > urlFetchService.fetch(request);
> > >                                byte[] responseBytes =
> > > response.getContent();
> > >                                String responseString = new
> > > String(responseBytes);
> > >                                parseResponse(responseString);
> > >                                apiCallsMade++;
>
> > > On Feb 19, 7:33 am, Conor Power  wrote:
> > > > apologies if I'm a little vague in my reply but I remember receiving
> > > > something similar when I first started using the URLFetchService and I
> > > think
> > > > it was related to the fact that I had imported the incorrect classes for
> > > > HTTPRequest or header or something like like. I think I just chose the
> > > first
> > > > one offered to me by the IDE ...
>
> > > > It was a while ago so I hope I'm not sending you on a wild goose chase.
>
> > > > On Fri, Feb 19, 2010 at 4:52 AM, davidnelson <
>
> > > > david.jonathan.nel...@gmail.com> wrote:
> > > > > Hi,
>
> > > > > I'm trying to implement async http in java.  Here is the important
> > > > > part of the code:
>
> > > > >                        for (String urlString : urls)
> > > > >                        {
> > > > >                                // TODO: try and get rid of these two
> > > heap
> > > > > allocations
> > > > >                                url = new URL(urlString);
> > > > >                                request = new HTTPRequest(url);
> > > > >                                request.addHeader(userAgentHeader);
> > > > >                                request.addHeader(authorizationHeader);
> > > > >                                
> > > > > request.addHeader(acceptEncodingHeader);
> > > > >                                request.addHeader(acceptCharsetHeader);
>
> > > responses.add(URLFetchServiceFactory.getURLFetchService().fetchAsync(reques
> > > t));
> > > > >                                apiCallsMade++;
> > > > >                        }
> > > > >                        for (Future futureResponse :
> > > > > responses)
> > > > >                        {
> > > > >                                parseResponse(new
> > > > > String(futureResponse.get().getContent()));
> > > > >                        }
>
> > > > > I keep getting this error:  "com.google.apphosting.api.ApiProxy
> > > > > $CallNotFoundException: The API package 'urlfetch' or call 'Fetch()'
> > > > > was not found.".  I looked around for any jars that were missing from
> > > > > the classpath but didn't see anything missing.  Do you know which jar
> > > > > that code is in?  I googled the error and also searched through this
> > > > > group but found nothing.
>
> > > > > Thanks,
> > > > > David
>
> > > > > --
> > > > > 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 > > > >  e...@googlegroups.com> > > e...@googlegroups.com>
> > > > > .
> > > > > For more options, visit this group at
> > > > >http://groups.google.com/group/google-appengine?hl=en.
>
> > > --
> > > 

[google-appengine] Re: implementing asynchronous http in java

2010-02-19 Thread davidnelson
more info, I tried using the app engine version 1.3.0 and that's when
I get nullpointerexceptions.  switching back to 1.3.1 and I get the
first exception I initially posted, sync or async.

On Feb 19, 1:37 pm, Eli Jones  wrote:
> I don't code in Java.. but my guess is you're making a silly mistake in
> there somewhere..
>
> Copy pasting some other person's posted code from the Java AppEngine group I
> see it done this way:
>
> URL url = new URL(urlStr);
> URLFetchService urlFetchService =
> URLFetchServiceFactory.getURLFetchService();
> HTTPRequest httpRequest = new
> HTTPRequest(url, HTTPMethod.GET,followRedirects());
> HTTPResponse response = urlFetchService.fetch(httpRequest);
>
> On Fri, Feb 19, 2010 at 4:27 PM, davidnelson <
>
>
>
> david.jonathan.nel...@gmail.com> wrote:
> > weird, I get the same error even when I pin objects and call urlfetch
> > synchronously:
>
> >                                url = new URL(urlString);
> >                                request = new HTTPRequest(url);
> >                                request.addHeader(userAgentHeader);
> >                                request.addHeader(authorizationHeader);
> >                                request.addHeader(acceptEncodingHeader);
> >                                request.addHeader(acceptCharsetHeader);
> >                                 // undo pinning after debug
> >                                HTTPResponse response =
> > urlFetchService.fetch(request);
> >                                byte[] responseBytes =
> > response.getContent();
> >                                String responseString = new
> > String(responseBytes);
> >                                parseResponse(responseString);
> >                                apiCallsMade++;
>
> > On Feb 19, 7:33 am, Conor Power  wrote:
> > > apologies if I'm a little vague in my reply but I remember receiving
> > > something similar when I first started using the URLFetchService and I
> > think
> > > it was related to the fact that I had imported the incorrect classes for
> > > HTTPRequest or header or something like like. I think I just chose the
> > first
> > > one offered to me by the IDE ...
>
> > > It was a while ago so I hope I'm not sending you on a wild goose chase.
>
> > > On Fri, Feb 19, 2010 at 4:52 AM, davidnelson <
>
> > > david.jonathan.nel...@gmail.com> wrote:
> > > > Hi,
>
> > > > I'm trying to implement async http in java.  Here is the important
> > > > part of the code:
>
> > > >                        for (String urlString : urls)
> > > >                        {
> > > >                                // TODO: try and get rid of these two
> > heap
> > > > allocations
> > > >                                url = new URL(urlString);
> > > >                                request = new HTTPRequest(url);
> > > >                                request.addHeader(userAgentHeader);
> > > >                                request.addHeader(authorizationHeader);
> > > >                                request.addHeader(acceptEncodingHeader);
> > > >                                request.addHeader(acceptCharsetHeader);
>
> > responses.add(URLFetchServiceFactory.getURLFetchService().fetchAsync(reques
> > t));
> > > >                                apiCallsMade++;
> > > >                        }
> > > >                        for (Future futureResponse :
> > > > responses)
> > > >                        {
> > > >                                parseResponse(new
> > > > String(futureResponse.get().getContent()));
> > > >                        }
>
> > > > I keep getting this error:  "com.google.apphosting.api.ApiProxy
> > > > $CallNotFoundException: The API package 'urlfetch' or call 'Fetch()'
> > > > was not found.".  I looked around for any jars that were missing from
> > > > the classpath but didn't see anything missing.  Do you know which jar
> > > > that code is in?  I googled the error and also searched through this
> > > > group but found nothing.
>
> > > > Thanks,
> > > > David
>
> > > > --
> > > > 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 > > >  e...@googlegroups.com> > e...@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-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com > e...@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

[google-appengine] Re: implementing asynchronous http in java

2010-02-19 Thread davidnelson
At this point I'm feeling not so smart :-(

I can't even get synchronous urlfetch to work via the low level api:

URL url = new URL("http://www.google.com";);
URLFetchService urlFetchService =
URLFetchServiceFactory.getURLFetchService();
FetchOptions options = 
FetchOptions.Builder.followRedirects();
HTTPRequest httpRequest = new
HTTPRequest(url, HTTPMethod.GET,options);
HTTPResponse response = 
urlFetchService.fetch(httpRequest);

it throws a nullpointerexception with no stack trace and no source
code available to debug it.

On Feb 19, 1:37 pm, Eli Jones  wrote:
> I don't code in Java.. but my guess is you're making a silly mistake in
> there somewhere..
>
> Copy pasting some other person's posted code from the Java AppEngine group I
> see it done this way:
>
> URL url = new URL(urlStr);
> URLFetchService urlFetchService =
> URLFetchServiceFactory.getURLFetchService();
> HTTPRequest httpRequest = new
> HTTPRequest(url, HTTPMethod.GET,followRedirects());
> HTTPResponse response = urlFetchService.fetch(httpRequest);
>
> On Fri, Feb 19, 2010 at 4:27 PM, davidnelson <
>
>
>
> david.jonathan.nel...@gmail.com> wrote:
> > weird, I get the same error even when I pin objects and call urlfetch
> > synchronously:
>
> >                                url = new URL(urlString);
> >                                request = new HTTPRequest(url);
> >                                request.addHeader(userAgentHeader);
> >                                request.addHeader(authorizationHeader);
> >                                request.addHeader(acceptEncodingHeader);
> >                                request.addHeader(acceptCharsetHeader);
> >                                 // undo pinning after debug
> >                                HTTPResponse response =
> > urlFetchService.fetch(request);
> >                                byte[] responseBytes =
> > response.getContent();
> >                                String responseString = new
> > String(responseBytes);
> >                                parseResponse(responseString);
> >                                apiCallsMade++;
>
> > On Feb 19, 7:33 am, Conor Power  wrote:
> > > apologies if I'm a little vague in my reply but I remember receiving
> > > something similar when I first started using the URLFetchService and I
> > think
> > > it was related to the fact that I had imported the incorrect classes for
> > > HTTPRequest or header or something like like. I think I just chose the
> > first
> > > one offered to me by the IDE ...
>
> > > It was a while ago so I hope I'm not sending you on a wild goose chase.
>
> > > On Fri, Feb 19, 2010 at 4:52 AM, davidnelson <
>
> > > david.jonathan.nel...@gmail.com> wrote:
> > > > Hi,
>
> > > > I'm trying to implement async http in java.  Here is the important
> > > > part of the code:
>
> > > >                        for (String urlString : urls)
> > > >                        {
> > > >                                // TODO: try and get rid of these two
> > heap
> > > > allocations
> > > >                                url = new URL(urlString);
> > > >                                request = new HTTPRequest(url);
> > > >                                request.addHeader(userAgentHeader);
> > > >                                request.addHeader(authorizationHeader);
> > > >                                request.addHeader(acceptEncodingHeader);
> > > >                                request.addHeader(acceptCharsetHeader);
>
> > responses.add(URLFetchServiceFactory.getURLFetchService().fetchAsync(reques
> > t));
> > > >                                apiCallsMade++;
> > > >                        }
> > > >                        for (Future futureResponse :
> > > > responses)
> > > >                        {
> > > >                                parseResponse(new
> > > > String(futureResponse.get().getContent()));
> > > >                        }
>
> > > > I keep getting this error:  "com.google.apphosting.api.ApiProxy
> > > > $CallNotFoundException: The API package 'urlfetch' or call 'Fetch()'
> > > > was not found.".  I looked around for any jars that were missing from
> > > > the classpath but didn't see anything missing.  Do you know which jar
> > > > that code is in?  I googled the error and also searched through this
> > > > group but found nothing.
>
> > > > Thanks,
> > > > David
>
> > > > --
> > > > 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 > > >  e...@googlegroups.com> > e...@googlegroups.com>
> > > > .
> > > > For more options, visit this g

[google-appengine] Re: pygooglechart

2010-02-19 Thread nickmilon
I have taken a look in the library.

It seems it imports the following python packages

import os
import urllib
import math
import random
import re

Now I am not sure it will work on GAE since as far as I know math is a
wraper around c math and this is no no in GAE.
Hope some body else who is more familiar with the above libraries can
advice.

Happy coding ;-)


Yes in your PC - follow the instructions of the library for that so
you ca test it with the local server.
Also include the whole library on your project files so it will be
uploaded in GAE.


On Feb 19, 10:21 pm, nickmilon  wrote:
> Yes in your PC - follow the instructions of the library for that.
> Later on I will take a look at the library my self.
>
> On Feb 19, 1:09 pm, Massimiliano 
> wrote:
>
>
>
> > "Sure you can after installing the library" on my PC?
>
> > 2010/2/19 nickmilon 
>
> > > Sure you can after installing the library and including the files in
> > > your application provided this library does not depend on anything but
> > > python.
> > > Also since data passing mechanism for google visualization api is
> > > quite easy to implement in python you can avoid the burden of one more
> > > import and write your own interface.
> > > For an example of using visualization api from gae you can take a look
> > > at:  http://www.geognos.com/geo/en/cc/no.html#Economy
> > > Unfortunately i did not have the time to document the code but feel
> > > free to examine the page source code and the relative javascript
> > > files.
>
> > > Happy coding;)
>
> > > On Feb 18, 2:30 pm, Massimiliano 
> > > wrote:
> > > > Dear All,
> > > > I'm trying to learn using python and Google App Engine. Can I use this
> > > > library on the appengine? Just importing this in the python application
> > > > (from pygooglechart import *)?
>
> > > > Massimiliano
>
> > > > --
>
> > > > My email: massimiliano.pietr...@gmail.com
> > > > My Google Wave: massimiliano.pietr...@googlewave.com
>
> > > --
> > > 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-appeng...@googlegroups.com.
> > > To unsubscribe from this group, send email to
> > > google-appengine+unsubscr...@googlegroups.com > >  e...@googlegroups.com>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-appengine?hl=en.
>
> > --
>
> > My email: massimiliano.pietr...@gmail.com
> > My Google Wave: massimiliano.pietr...@googlewave.com

-- 
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-appeng...@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: implementing asynchronous http in java

2010-02-19 Thread Eli Jones
I don't code in Java.. but my guess is you're making a silly mistake in
there somewhere..

Copy pasting some other person's posted code from the Java AppEngine group I
see it done this way:

URL url = new URL(urlStr);
URLFetchService urlFetchService =
URLFetchServiceFactory.getURLFetchService();
HTTPRequest httpRequest = new
HTTPRequest(url, HTTPMethod.GET,followRedirects());
HTTPResponse response = urlFetchService.fetch(httpRequest);

On Fri, Feb 19, 2010 at 4:27 PM, davidnelson <
david.jonathan.nel...@gmail.com> wrote:

> weird, I get the same error even when I pin objects and call urlfetch
> synchronously:
>
>url = new URL(urlString);
>request = new HTTPRequest(url);
>request.addHeader(userAgentHeader);
>request.addHeader(authorizationHeader);
>request.addHeader(acceptEncodingHeader);
>request.addHeader(acceptCharsetHeader);
> // undo pinning after debug
>HTTPResponse response =
> urlFetchService.fetch(request);
>byte[] responseBytes =
> response.getContent();
>String responseString = new
> String(responseBytes);
>parseResponse(responseString);
>apiCallsMade++;
>
> On Feb 19, 7:33 am, Conor Power  wrote:
> > apologies if I'm a little vague in my reply but I remember receiving
> > something similar when I first started using the URLFetchService and I
> think
> > it was related to the fact that I had imported the incorrect classes for
> > HTTPRequest or header or something like like. I think I just chose the
> first
> > one offered to me by the IDE ...
> >
> > It was a while ago so I hope I'm not sending you on a wild goose chase.
> >
> > On Fri, Feb 19, 2010 at 4:52 AM, davidnelson <
> >
> >
> >
> > david.jonathan.nel...@gmail.com> wrote:
> > > Hi,
> >
> > > I'm trying to implement async http in java.  Here is the important
> > > part of the code:
> >
> > >for (String urlString : urls)
> > >{
> > >// TODO: try and get rid of these two
> heap
> > > allocations
> > >url = new URL(urlString);
> > >request = new HTTPRequest(url);
> > >request.addHeader(userAgentHeader);
> > >request.addHeader(authorizationHeader);
> > >request.addHeader(acceptEncodingHeader);
> > >request.addHeader(acceptCharsetHeader);
> >
> > >
> responses.add(URLFetchServiceFactory.getURLFetchService().fetchAsync(reques
> t));
> > >apiCallsMade++;
> > >}
> > >for (Future futureResponse :
> > > responses)
> > >{
> > >parseResponse(new
> > > String(futureResponse.get().getContent()));
> > >}
> >
> > > I keep getting this error:  "com.google.apphosting.api.ApiProxy
> > > $CallNotFoundException: The API package 'urlfetch' or call 'Fetch()'
> > > was not found.".  I looked around for any jars that were missing from
> > > the classpath but didn't see anything missing.  Do you know which jar
> > > that code is in?  I googled the error and also searched through this
> > > group but found nothing.
> >
> > > Thanks,
> > > David
> >
> > > --
> > > 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 e...@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-appeng...@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-appeng...@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: implementing asynchronous http in java

2010-02-19 Thread davidnelson
weird, I get the same error even when I pin objects and call urlfetch
synchronously:

url = new URL(urlString);
request = new HTTPRequest(url);
request.addHeader(userAgentHeader);
request.addHeader(authorizationHeader);
request.addHeader(acceptEncodingHeader);
request.addHeader(acceptCharsetHeader);
// undo pinning after debug
HTTPResponse response = 
urlFetchService.fetch(request);
byte[] responseBytes = response.getContent();
String responseString = new 
String(responseBytes);
parseResponse(responseString);
apiCallsMade++;

On Feb 19, 7:33 am, Conor Power  wrote:
> apologies if I'm a little vague in my reply but I remember receiving
> something similar when I first started using the URLFetchService and I think
> it was related to the fact that I had imported the incorrect classes for
> HTTPRequest or header or something like like. I think I just chose the first
> one offered to me by the IDE ...
>
> It was a while ago so I hope I'm not sending you on a wild goose chase.
>
> On Fri, Feb 19, 2010 at 4:52 AM, davidnelson <
>
>
>
> david.jonathan.nel...@gmail.com> wrote:
> > Hi,
>
> > I'm trying to implement async http in java.  Here is the important
> > part of the code:
>
> >                        for (String urlString : urls)
> >                        {
> >                                // TODO: try and get rid of these two heap
> > allocations
> >                                url = new URL(urlString);
> >                                request = new HTTPRequest(url);
> >                                request.addHeader(userAgentHeader);
> >                                request.addHeader(authorizationHeader);
> >                                request.addHeader(acceptEncodingHeader);
> >                                request.addHeader(acceptCharsetHeader);
>
> > responses.add(URLFetchServiceFactory.getURLFetchService().fetchAsync(reques 
> > t));
> >                                apiCallsMade++;
> >                        }
> >                        for (Future futureResponse :
> > responses)
> >                        {
> >                                parseResponse(new
> > String(futureResponse.get().getContent()));
> >                        }
>
> > I keep getting this error:  "com.google.apphosting.api.ApiProxy
> > $CallNotFoundException: The API package 'urlfetch' or call 'Fetch()'
> > was not found.".  I looked around for any jars that were missing from
> > the classpath but didn't see anything missing.  Do you know which jar
> > that code is in?  I googled the error and also searched through this
> > group but found nothing.
>
> > Thanks,
> > David
>
> > --
> > 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-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com > e...@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-appeng...@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: implementing asynchronous http in java

2010-02-19 Thread davidnelson
guess I'll post on stackoverflow...

On Feb 19, 7:33 am, Conor Power  wrote:
> apologies if I'm a little vague in my reply but I remember receiving
> something similar when I first started using the URLFetchService and I think
> it was related to the fact that I had imported the incorrect classes for
> HTTPRequest or header or something like like. I think I just chose the first
> one offered to me by the IDE ...
>
> It was a while ago so I hope I'm not sending you on a wild goose chase.
>
> On Fri, Feb 19, 2010 at 4:52 AM, davidnelson <
>
>
>
> david.jonathan.nel...@gmail.com> wrote:
> > Hi,
>
> > I'm trying to implement async http in java.  Here is the important
> > part of the code:
>
> >                        for (String urlString : urls)
> >                        {
> >                                // TODO: try and get rid of these two heap
> > allocations
> >                                url = new URL(urlString);
> >                                request = new HTTPRequest(url);
> >                                request.addHeader(userAgentHeader);
> >                                request.addHeader(authorizationHeader);
> >                                request.addHeader(acceptEncodingHeader);
> >                                request.addHeader(acceptCharsetHeader);
>
> > responses.add(URLFetchServiceFactory.getURLFetchService().fetchAsync(reques 
> > t));
> >                                apiCallsMade++;
> >                        }
> >                        for (Future futureResponse :
> > responses)
> >                        {
> >                                parseResponse(new
> > String(futureResponse.get().getContent()));
> >                        }
>
> > I keep getting this error:  "com.google.apphosting.api.ApiProxy
> > $CallNotFoundException: The API package 'urlfetch' or call 'Fetch()'
> > was not found.".  I looked around for any jars that were missing from
> > the classpath but didn't see anything missing.  Do you know which jar
> > that code is in?  I googled the error and also searched through this
> > group but found nothing.
>
> > Thanks,
> > David
>
> > --
> > 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-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com > e...@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-appeng...@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: implementing asynchronous http in java

2010-02-19 Thread davidnelson
Thanks Conor,

I tried a "brute force" approach of just importing the whole
namespace:

import com.google.appengine.api.urlfetch.*;

Still get the error :-(

Thanks,
David

On Feb 19, 7:33 am, Conor Power  wrote:
> apologies if I'm a little vague in my reply but I remember receiving
> something similar when I first started using the URLFetchService and I think
> it was related to the fact that I had imported the incorrect classes for
> HTTPRequest or header or something like like. I think I just chose the first
> one offered to me by the IDE ...
>
> It was a while ago so I hope I'm not sending you on a wild goose chase.
>
> On Fri, Feb 19, 2010 at 4:52 AM, davidnelson <
>
>
>
> david.jonathan.nel...@gmail.com> wrote:
> > Hi,
>
> > I'm trying to implement async http in java.  Here is the important
> > part of the code:
>
> >                        for (String urlString : urls)
> >                        {
> >                                // TODO: try and get rid of these two heap
> > allocations
> >                                url = new URL(urlString);
> >                                request = new HTTPRequest(url);
> >                                request.addHeader(userAgentHeader);
> >                                request.addHeader(authorizationHeader);
> >                                request.addHeader(acceptEncodingHeader);
> >                                request.addHeader(acceptCharsetHeader);
>
> > responses.add(URLFetchServiceFactory.getURLFetchService().fetchAsync(reques 
> > t));
> >                                apiCallsMade++;
> >                        }
> >                        for (Future futureResponse :
> > responses)
> >                        {
> >                                parseResponse(new
> > String(futureResponse.get().getContent()));
> >                        }
>
> > I keep getting this error:  "com.google.apphosting.api.ApiProxy
> > $CallNotFoundException: The API package 'urlfetch' or call 'Fetch()'
> > was not found.".  I looked around for any jars that were missing from
> > the classpath but didn't see anything missing.  Do you know which jar
> > that code is in?  I googled the error and also searched through this
> > group but found nothing.
>
> > Thanks,
> > David
>
> > --
> > 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-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com > e...@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-appeng...@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] must i install Visual Studio for python ssl module?

2010-02-19 Thread Eli Jones
You could download the free version of Visual Studio and then try to compile
it with that.. but... you'd be on your own figuring out how to get it to
compile after installing Visual Studio.

On Fri, Feb 19, 2010 at 10:39 AM, saintthor  wrote:

> for ssl module, i downloaded ssl-1.15.tar.gz from
> http://pypi.python.org/pypi/ssl.
> but it is source, no exe file. i tried to install it, message as
> below.
>
> D:\Python25\ssl-1.15>setup.py install
> running install
> running build
> running build_py
> running build_ext
> building 'ssl._ssl2' extension
> error: Python was built with Visual Studio version 7.1, and extensions
> need to b
> e built with the same version of the compiler, but it isn't installed.
>
> where can i get a exe file or how can i install this module in other
> way?
>
> --
> 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-appeng...@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-appeng...@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: pygooglechart

2010-02-19 Thread nickmilon
Yes in your PC - follow the instructions of the library for that.
Later on I will take a look at the library my self.


On Feb 19, 1:09 pm, Massimiliano 
wrote:
> "Sure you can after installing the library" on my PC?
>
> 2010/2/19 nickmilon 
>
>
>
>
>
> > Sure you can after installing the library and including the files in
> > your application provided this library does not depend on anything but
> > python.
> > Also since data passing mechanism for google visualization api is
> > quite easy to implement in python you can avoid the burden of one more
> > import and write your own interface.
> > For an example of using visualization api from gae you can take a look
> > at:  http://www.geognos.com/geo/en/cc/no.html#Economy
> > Unfortunately i did not have the time to document the code but feel
> > free to examine the page source code and the relative javascript
> > files.
>
> > Happy coding;)
>
> > On Feb 18, 2:30 pm, Massimiliano 
> > wrote:
> > > Dear All,
> > > I'm trying to learn using python and Google App Engine. Can I use this
> > > library on the appengine? Just importing this in the python application
> > > (from pygooglechart import *)?
>
> > > Massimiliano
>
> > > --
>
> > > My email: massimiliano.pietr...@gmail.com
> > > My Google Wave: massimiliano.pietr...@googlewave.com
>
> > --
> > 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-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com > e...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.
>
> --
>
> My email: massimiliano.pietr...@gmail.com
> My Google Wave: massimiliano.pietr...@googlewave.com

-- 
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-appeng...@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] Documentation contribution

2010-02-19 Thread Ikai L (Google)
What's the detail? Create a new issue in our issues tracker and post the
link:

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

On Thu, Feb 18, 2010 at 10:14 PM, Alexander Orlov  wrote:

> I'd like to add an important detail to
> http://code.google.com/appengine/docs/java/config/cron.html
> How can I do it? I haven't found any accessible SVN/Wiki version of
> this page.
>
> --
> 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-appeng...@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.
>
>


-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/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-appeng...@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: Google Data Store

2010-02-19 Thread Wooble


On Feb 19, 1:35 pm, Prasad  wrote:
> hi
> I have just started to learn Google datastore. I am just doin one
> small application as an experiment and tht needs a database and for
> this reason I am using datastore. I just have a fundamental doubt.
> Does for small application and few queries will need to pay. I mean is
> it free and if yes how much i.e what is the limit? I read that it is
> CPU time how is that calculated?

If it's really a "small application", it will almost certainly be
free.  If you don't enable billing, it's free regardless, you'd just
start hitting over quota exceptions once the quota was used up.  I
believe all of the free quotas are intended to work within the 1.3
million requests per day for typical applications.  IMO if you're
seeing a significant % of that you're probably outside of most
reasonable definitions of "small". :)

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



[google-appengine] Google Data Store

2010-02-19 Thread Prasad
hi
I have just started to learn Google datastore. I am just doin one
small application as an experiment and tht needs a database and for
this reason I am using datastore. I just have a fundamental doubt.
Does for small application and few queries will need to pay. I mean is
it free and if yes how much i.e what is the limit? I read that it is
CPU time how is that calculated?

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



[google-appengine] Google Data Store

2010-02-19 Thread Prasad
hi
I have just started to learn Google datastore. I am just doin one
small application as an experiment and tht needs a database and for
this reason I am using datastore. I just have a fundamental doubt.
Does for small application and few queries will need to pay. I mean is
it free and if yes how much i.e what is the limit? I read that it is
CPU time how is that calculated?

-- 
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-appeng...@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: first app upload - blank page

2010-02-19 Thread ameyp
I'm having the same issue. I have three different scripts in the same
file, one which is mapped to "/", one to "/blog" and one to "/blog/
admin/"
My app.yaml has the following handlers:

handlers:
- url: /static
  static_dir: static

- url: /favicon.ico
  static_files: static/favicon.ico
  upload: static/favicon.ico

- url: /about-me
  static_files: static/about-me.html
  upload: static/about-me.html

- url: /blog
  script: blog.py

- url: /blog/admin
  script: admin.py
  login: required

- url: /blog/admin/.*
  script: admin.py
  login: required

- url: /blog/.*
  script: blog.py

- url: /.*
  script: site.py

and site.py has:

class FrontPageHandler(webapp.RequestHandler):
def get(self):
self.response.out.write("""
  

  Hello

  """)

application = webapp.WSGIApplication(
[('/', FrontPageHandler)],
debug=True)

def main():
util.run_wsgi_app(application)

if __name__ == "__main__":
main()

"/" Works fine on local server, shows a blank page on appengine's
server. /blog and /blog/admin work fine. Please help, I've been going
at this for the past two hours :(

-- 
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-appeng...@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: Problems with my AppEngine Account

2010-02-19 Thread Wooble
Try logging in at http://appengine.google.com/a/spreadshirt.net

On Feb 19, 10:03 am, Guido Kämper  wrote:
> Hi Ikai,
>
> i deaktivated the account in the meanwhile, but I decided to give it a  
> further chance and re-registered today. But it's still the same:
> * I can create an application, but afterwards I don't see it in the  
> apps list. eg. "exclamation-iphone"
>
> I already reset the IP address of my domain to point to the server, I  
> used before. I wanted to use Google app-engine, because I wanted to  
> have a well scaling homepage. But all in all I probably won't use it,  
> as it is not even possible for me to upload the app..
>
> thank you,
> Guido
>
> Am 17.02.2010 um 22:46 schrieb Ikai L (Google):
>
>
>
> > Guido, are you still having issues with this?
>
> > 2010/2/12 Guido Kämper 
> > Hello,
>
> > I have a serious problem with my app engine account. Seems to be  
> > related to rights management issues or login problems.
>
> > I added one application without problems, I could upload it using  
> > appcfg.sh update
>
> > But now I made some changes at the domain and added the application  
> > to Google Apps. First I got redirect errors, when accessing the  
> > Appengine portal - these problems somehow got solved. The app works  
> > as expected,it is now available atwww.exclamation.de.
>
> > But: I am not allowed to update the application with further  
> > versions. Output:
> > 403 Forbidden
> > You do not have permission to modify this app (app_id=u'exclam123').
>
> > And: If I add a new application, I get the message, that I don't  
> > have access to the new application, and it does not show up in the  
> > applications overview. But the count of available applications (10  
> > at account creation) was decreased by 1.
>
> > I am writing from my second email address, as the MX records of my  
> > primary email address is currently changing to google mail.  
> > Unfortunately I already wrote the group admin of this group, because  
> > I could not find any contact information for server problems.
>
> > Is anyone in this group able to help me with my problems? The  
> > account is gk(at)exclamation.de
>
> > Or can anyone give me a contact info of the google administration?
>
> > thank you very much,
> > Guido
>
> > --
> > 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-
> > appeng...@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
> > .
>
> > --
> > Ikai Lan
> > Developer Programs Engineer, Google App Engine
> >http://googleappengine.blogspot.com|http://twitter.com/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-
> > appeng...@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
> > .
>
> ___
>
> Teamlead IT Backend
>
> Tel.: 0341 594 00 5561
>
> sprd.net AG
>
> Gießerstraße 27 · 04229 Leipzig · Germany
>
> Vorstand/Executive Board: Jana Eggers (Vorsitzende/CEO)
> Matthias Spieß
>
> Aufsichtsratsvorsitzender/
> Chairman of the Supervisory Board: Lukasz Gadowski
>
> Handelsregister/Trade Register: Amtsgericht Leipzig, HRB 22478
> Umsatzsteuer-IdentNummer/VAT-ID: DE 8138 7149 4

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



[google-appengine] Datastore Statistics page not updating (over 3 days now)

2010-02-19 Thread Eli Jones
Is there a backlog on getting Datastore Statistics calculated?

When I go to the "Datastore Statistics" page for my application, it
indicates that "Last Updated" = 3 days, 3:35:42 ago

Which is accurate since there are no stats for entities or Models created
since then.

Is anyone else having this issue or am I the only lucky one?

IF this is not related to the Maintenance performed earlier this week, then
it could be related to the fact that I generated a new Model with ALOT of
new entities (around 500,000) the night before Maintenance .. so much so
that my Total Stored Data jumped from .03 to .27 GB (granted, all of the
properties on the entities are "Indexed=False").

Could the addition of so much new data make Statistics take a long time to
update?

-- 
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-appeng...@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] Documentation contribution

2010-02-19 Thread Alexander Orlov
I'd like to add an important detail to 
http://code.google.com/appengine/docs/java/config/cron.html
How can I do it? I haven't found any accessible SVN/Wiki version of
this page.

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



[google-appengine] Datastore Viewer gql query problem

2010-02-19 Thread Stefano
Hi everybody,

frow a few days a simply gql query such as this one will throw an
exception.
SELECT * FROM Station order by synced

Synced it's just a not null timestamp field.

Since it's happening in the admin panel I don't have any log
explaining why it's not working anymore.

https://appengine.google.com/datastore/explorer?submitted=1&app_id=prezzi-benzina&viewby=gql&kind=Station&query=SELECT+*+FROM+Station+order+by+synced

Stefano

-- 
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-appeng...@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] implementing asynchronous http in java

2010-02-19 Thread Conor Power
apologies if I'm a little vague in my reply but I remember receiving
something similar when I first started using the URLFetchService and I think
it was related to the fact that I had imported the incorrect classes for
HTTPRequest or header or something like like. I think I just chose the first
one offered to me by the IDE ...

It was a while ago so I hope I'm not sending you on a wild goose chase.


On Fri, Feb 19, 2010 at 4:52 AM, davidnelson <
david.jonathan.nel...@gmail.com> wrote:

> Hi,
>
> I'm trying to implement async http in java.  Here is the important
> part of the code:
>
>for (String urlString : urls)
>{
>// TODO: try and get rid of these two heap
> allocations
>url = new URL(urlString);
>request = new HTTPRequest(url);
>request.addHeader(userAgentHeader);
>request.addHeader(authorizationHeader);
>request.addHeader(acceptEncodingHeader);
>request.addHeader(acceptCharsetHeader);
>
>
> responses.add(URLFetchServiceFactory.getURLFetchService().fetchAsync(request));
>apiCallsMade++;
>}
>for (Future futureResponse :
> responses)
>{
>parseResponse(new
> String(futureResponse.get().getContent()));
>}
>
> I keep getting this error:  "com.google.apphosting.api.ApiProxy
> $CallNotFoundException: The API package 'urlfetch' or call 'Fetch()'
> was not found.".  I looked around for any jars that were missing from
> the classpath but didn't see anything missing.  Do you know which jar
> that code is in?  I googled the error and also searched through this
> group but found nothing.
>
> Thanks,
> David
>
> --
> 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-appeng...@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-appeng...@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] problem with working on google app engine

2010-02-19 Thread Bhavana
i have installed my google app engine and did a program of hello
world,but while i am making changes on this during run time no changes
is reflected and i am getting the same output as previous..please help
me out

-- 
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-appeng...@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] Protobuf Version on GAE

2010-02-19 Thread Nick Johnson (Google)
Hi Davide,

The Protocol Buffers we use on App Engine are built using a different
version of the Protocol Buffer library to the one that was open sourced. If
you want to use Protocol Buffers yourself, you'll need to include the
library with your app.

-Nick Johnson


On Thu, Feb 18, 2010 at 2:44 PM, Davide Cerbo  wrote:

>
> Hi everyone,
>
>
> someone use Google Protobuf on GAE? And know what version is installed? I 
> have deploy a project that use it and I have the follow exception:
>
>
> java.lang.NoSuchMethodError: 
> com.google.protobuf.Descriptors$FileDescriptor.internalBuildGeneratedFileFrom(Ljava/lang/String;[Lcom/google/protobuf/Descriptors$FileDescriptor;Lcom/google/protobuf/Descriptors$FileDescriptor$InternalDescriptorAssigner;)V
>
>
> Searching around the web I've found that is a problem of version. I use 
> version 2.2.0 while GAE doesn't use it :(
>
>
> I have deployed it with my WAR but it is ignored.
>
>
> Someone can tell me what version user GAE?
>
>
> Thanks in advance.
>
>
> Davide
>
>
> --
> --
> Davide Cerbo
>
>  --
> 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-appeng...@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
Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
368047

-- 
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-appeng...@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: Lucene/Compass

2010-02-19 Thread Patrick Twohig
I run it in my app that's on the App Engine right now, app's in "staging" so
I have it blocked off to people not in my domain.  Shay Banon has a video
clip of it running on his blog, and then I submitted a patch to the compass
project that prevents transactions from butting heads when writing the index
to the datastore.  I've seen it working with mine own two eyes, as they
say.  It's also listed as "working" in the "will it play in app engine"
page.  Unfortunately, I'm concerned about the scalability of it.  It seems
to take quite a while to index a single object and every so often the search
index gets corrupted because a request to index an object gets shut down by
a deadline exceeded exception.  I try to recover by rolling back the work in
progress and releasing all locks, but the request still gets terminated
before that can happen.  This is with 4-5 users using it just to do
testing/tuning of the app.  I can't imagine how it would work under any
actual load.  It's also using quite a bit of CPU usage.

On Wed, Feb 17, 2010 at 7:21 AM, uo  wrote:

> I too encountered challenges and I still cante believe anyone runs
> compass on gae... on close inspection of some of the core compass
> classes like org.compass.core.Compass implements
> javax.naming.referenceable which isnt in Google's whitelist.
>
>
>
>
> On Feb 16, 3:33 am, Patrick Twohig  wrote:
> > Yeah.  I know.  The beta version of Compass supports GAE
> >
> >
> >
> > On Mon, Feb 15, 2010 at 1:13 AM, Tonny <12br...@gmail.com> wrote:
> > > Not having access to the file system on GAE will prevent you from
> > > using the out-of-the-box Lucene Index implementations (which uses the
> > > filesystem).
> >
> > > On Feb 13, 12:40 am, Patrick Twohig  wrote:
> > > > I was curious if anybody is using Lucene and Compass and how well it
> > > works
> > > > in the app engine. I've seen some other posts indicating that it
> actually
> > > > manages to handle quite a bit of data, but I was curious if anybody
> else
> > > out
> > > > there could attest to how well it works.
> >
> > > --
> > > 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.
> >
> > --
> > Patrick H. Twohig.
> >
> > Namazu Studios
> > P.O. Box 34161
> > San Diego, CA 92163-4161
>
> --
> 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-appeng...@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.
>
>


-- 
Patrick H. Twohig.

Namazu Studios
P.O. Box 34161
San Diego, CA 92163-4161

-- 
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-appeng...@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] Local datastore is slow once loaded up, any suggestions?

2010-02-19 Thread Nick Johnson (Google)
Hi,

Unfortunately, the App Engine SDK datastore isn't really designed for
testing with such a large amount of data. You should try testing with a much
smaller dataset, if that's remotely possible.

-Nick Johnson


On Fri, Feb 19, 2010 at 5:19 PM, obvious  wrote:

> I've loaded up a local datastore with 40,000+ entries.  Unfortunately,
> recalling any data from it at all is very slow on my fairly new
> Macbook Pro.  Any suggestions on speeding things up, short of buying a
> new piece of hardware?
>
> --
> 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-appeng...@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
Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
368047

-- 
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-appeng...@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] Local datastore is slow once loaded up, any suggestions?

2010-02-19 Thread obvious
I've loaded up a local datastore with 40,000+ entries.  Unfortunately,
recalling any data from it at all is very slow on my fairly new
Macbook Pro.  Any suggestions on speeding things up, short of buying a
new piece of hardware?

-- 
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-appeng...@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: Question on key design: Datastore errors and tablets

2010-02-19 Thread Nick Johnson (Google)
Hi peterk,

On Fri, Feb 19, 2010 at 2:02 PM, peterk  wrote:

> Say I did a batch update of 500 entities all of the same model...could
> this breach the '100s of qps' requirement that could lead to tablets
> getting too hot? I've seen benches (http://blog.dantup.com/pi/
> bm_put_perf.png) that show 500 entities being batch put in ~4s which
> suggests an average put rate that might be in the 100+ per second in
> such a case.
>

Only if you're doing such puts at a high rate. It's the sustained rate that
matters, not the instantaneous rate.

-Nick Johnson


>
> Or would that be 'ok'? :) I'm guessing if I were in a situation where
> multiple such batch updates could be occurring simultaneously or in a
> tight timeframe, then I'd be more likely to run into this...depending
> on how busy my app became, I'd possibly need to start doing that (i.e.
> lots of such large batch updates happening in short timeframes).
>
>
> On Feb 19, 1:12 pm, "Nick Johnson (Google)" 
> wrote:
> > Hi Peter,
> >
> > On Fri, Feb 19, 2010 at 1:04 PM, peterk  wrote:
> > > Thanks Nick, I understand now. So I guess the easiest thing to do is
> > > to have a random component in your keynames...at least for apps I'm
> > > considering I don't think I'd have any other way to reasonably ensure
> > > the range of keynames in a given (batch) update were well distributed.
> >
> > Bear in mind that you only have to even worry about this if you're
> expecting
> > hundreds of QPS of inserts to the same model.
> >
> > If you are in this situation, hashing some stable information from your
> > model may be sufficient to generate a well distributed key name.
> >
> > -Nick Johnson
> >
> >
> >
> >
> >
> > > On Feb 19, 11:58 am, "Nick Johnson (Google)" 
> > > wrote:
> > > > On Fri, Feb 19, 2010 at 12:28 AM, peterk 
> wrote:
> > > > > What about keynames like:
> >
> > > > > counter_standard_dbf
> > > > > counter_standard_clo
> >
> > > > > or would something like
> >
> > > > > dbfo01la_counter_standard
> > > > > clo091b_counter_standard
> >
> > > > > work better?
> >
> > > > > I'm thinking of cases where you may use keynames that can in some
> way
> > > > > be constructed/predicted for fast access later.
> > > > > like.._counter_standard
> >
> > > > > Would the common pre-fix or post-fix make for close distribution?
> :|
> >
> > > > Either one will work fine - Bigtable will split tablets based on key
> to
> > > > ensure no tablet gets too big. Long identical prefixes just mean that
> the
> > > > split will be based on later characters in the string.
> >
> > > > What's important for key distribution for really high update rates is
> the
> > > > distribution of key names/IDs for those updates: If they all go to a
> > > single
> > > > tablet (eg, they make up a small proportion of the total range of IDs
> > > you're
> > > > employing), they will be limited by what that tablet server can
> support.
> > > If
> > > > they are widely spread out within the range you're using, regardless
> of
> > > what
> > > > that range is, you'll be fine.
> >
> > > > -Nick Johnson
> >
> > > > > On Feb 18, 5:59 pm, "Nick Johnson (Google)" <
> nick.john...@google.com>
> > > > > wrote:
> > > > > > Hi Eli,
> >
> > > > > > Using a randomly generated ID like a uuid is perfectly
> satisfactory
> > > to
> > > > > > achieve an even distribution.
> >
> > > > > > On Wed, Feb 17, 2010 at 7:02 PM, Eli Jones 
> > > wrote:
> > > > > > > I understand the process of evenly distributing IDs since they
> are
> > > > > Integer
> > > > > > > values.. is there a canonized appengine way to evenly
> distribute
> > > > > key_names?
> >
> > > > > > > Just make sure key_name1 and key_name2 don't have their i-th
> > > letters
> > > > > "too
> > > > > > > close" too eachother? How far is far enough?
> >
> > > > > > > Does doing even distribution matter if you aren't using
> > > auto-generated
> > > > > IDs?
> >
> > > > > > It certainly can - if you insert, in order, "", "aaab",
> "aaac",
> > > etc,
> > > > > > you'll encounter the same problem at very high volumes as you'd
> see
> > > with
> > > > > > auto generated IDs.
> >
> > > > > > -Nick Johnson
> >
> > > > > > > Thanks for information.
> >
> > > > > > > On Wed, Feb 17, 2010 at 1:32 PM, Nick Johnson (Google) <
> > > > > > > nick.john...@google.com> wrote:
> >
> > > > > > >> Hi Ulrich,
> >
> > > > > > >> On Wed, Feb 17, 2010 at 5:30 PM, Ulrich <
> > > mierendo...@googlemail.com
> > > > > >wrote:
> >
> > > > > > >>> Hi,
> >
> > > > > > >>> I have read the following
> > > > > > >>> "Timeouts due to datastore issues --- [...] The most common
> > > example
> > > > > of
> > > > > > >>> this occurs when you are rapidly inserting a large number of
> > > entities
> > > > > > >>> of the same kind, with auto-generated IDs. In this case, most
> > > inserts
> > > > > > >>> hit the same range of the same tablet, and the single tablet
> > > server
> > > > > is
> > > > > > >>> overwhelmed with writes. [...] If this does affect your app,
> the
> > > > > > >>> easiest so

Re: [google-appengine] Model class of a Query instance?

2010-02-19 Thread Nick Johnson (Google)
Hi Nickolas,

On Fri, Feb 19, 2010 at 2:14 PM, Nickolas Daskalou wrote:

> Hi Nick,
>
> I have something like this:
>
>
> class Foo(db.Model):
>   name = db.StringProperty()
>   ...
>
> class Bar(db.Model):
>   foo = db.ReferenceProperty(Foo, collection_name='bars')
>   foo_name = db.StringProperty()
>
> class Baz(db.Model):
>   foo = db.ReferenceProperty(Foo, collection_name='bazs')
>   foo_name = db.StringProperty()
>
>
> I have added a hook in my application which calls a post_put() method on
> all instances that are put() into the Datastore (after they are put,
> obviously).
>
> In the post_put() of a Foo entity, I want to get all "reverse" referenced
> Bar and Baz entities, and update their foo_name with the Foo entity's name.
> However, I only need to update the Bar and Baz entities who's foo_name value
> != the Foo entity's name.
>

Will this be an all-or-nothing proposition? Eg, if the put of 'foo' changed
the foo_name, they'll all need updating, otherwise none of them will? In
that case, you'd be better off checking if it's changed, and updating them
all (without the inequality filter) if it did change.


> So I could do something like:
>
>
> class Foo(db.Model):
>   ...
>   def post_put():
> for collection_name in ('bars', 'bazs'):
>   q = getattr(self, collection_name)
>   q.filter('foo_name !=', self.name)
>   # Fetch, then update.
>
>
> This works fine, except I need to add a new index each time I do this,
> since "q" has two filters, one equality (an implied filter('foo =', self))
> and one inequality.
>
> Instead, I would like to get the Model class associated with each
> collection_name and just add one inequality filter, ie:
>
>
> class Foo(db.Model):
>   ...
>   def post_put():
> for collection_name in ('bars', 'bazs'):
>   model_class = self.get_model_class_for_collection(collection_name)
>   q = model_class.all().filter('foo_name !=', self.name)
>   # Fetch, then update.
>   def get_model_class_for_collection(collection_name):
> q = getattr(self, collection_name)
> return q.model_class() # This is the Query method I want
>
>
> This way I do not need to create a new index each time I do this.
>

The above will change every single Bar and Baz entity that doesn't match
foo's entity name, though, including those that have nothing to do with the
foo you modified.


>
> Can you suggest a similar no-new-index way of doing this?
>

Depending on how many Bar and Baz entities there are per Foo, you could just
drop the inequality and filter them out once they're fetched.


>
> I also thought about doing this (only get_model_class_for_collection() has
> changed):
>
>
> class Foo(db.Model):
>   ...
>   def post_put():
> for collection_name in ('bars','bazs'):
>   model_class = self.get_model_class_for_collection(collection_name)
>   q = model_class.all().filter('foo_name !=', self.name)
>   # Fetch, then update.
>   def get_model_class_for_collection(collection_name):
> q = getattr(self, collection_name)
> entity = g.get()
> return entity.__class__
>
>
Given that you're already hard-coding in the list of collections, you could
avoid the need for a 'get_model_class_for_collection' method by replacing
the loop with:

"for model_class in (Bar, Baz):"


>
> Forgetting about the extra Datastore get() required, the method above could
> cause problems when it comes to PolyModel entities, because (correct me if I
> am wrong) when PolyModel entities come back from the Datastore they are
> instances of the deepest subclass in the entity's inheritance chain, so
> returning entity.__class__ (in the last line above) will limit the results
> of the query (with the single inequality filter) to entity's of the original
> entity's PolyModel subclass. I hope that makes sense.
>
> Nick, I would love to get your ideas on this. Also, I'm no Python expert so
> if I'm overcomplicating things please let me know.
>
> Cheers,
>
> Nick
>
>
> On 19 February 2010 22:50, Nick Johnson (Google) 
> wrote:
>
>> Hi Nickolas,
>>
>> There's no public interface for this. Why do you need to do it?
>>
>> -Nick Johnson
>>
>> On Fri, Feb 19, 2010 at 11:28 AM, Nickolas Daskalou wrote:
>>
>>> Is there an "official" way to get the Model class from a Query
>>> instance? I had a look through the online docs and couldn't find anything.
>>>
>>> In the SDK code however, the Model class of a Query instance can be
>>> retrieved from the _model_class attribute of the Query instance, eg:
>>>
>>> q = MyModel.all()
>>> 
>>> model_class = q._model_class # == MyModel
>>>
>>> I don't really want to do it this way because since this is not
>>> documented anywhere, I'm afraid that this implementation may change in the
>>> future.
>>>
>>> --
>>> 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-appeng...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> g

[google-appengine] must i install Visual Studio for python ssl module?

2010-02-19 Thread saintthor
for ssl module, i downloaded ssl-1.15.tar.gz from 
http://pypi.python.org/pypi/ssl.
but it is source, no exe file. i tried to install it, message as
below.

D:\Python25\ssl-1.15>setup.py install
running install
running build
running build_py
running build_ext
building 'ssl._ssl2' extension
error: Python was built with Visual Studio version 7.1, and extensions
need to b
e built with the same version of the compiler, but it isn't installed.

where can i get a exe file or how can i install this module in other
way?

-- 
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-appeng...@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] Problems with my AppEngine Account

2010-02-19 Thread Guido Kämper

Hi Ikai,

i deaktivated the account in the meanwhile, but I decided to give it a  
further chance and re-registered today. But it's still the same:
* I can create an application, but afterwards I don't see it in the  
apps list. eg. "exclamation-iphone"


I already reset the IP address of my domain to point to the server, I  
used before. I wanted to use Google app-engine, because I wanted to  
have a well scaling homepage. But all in all I probably won't use it,  
as it is not even possible for me to upload the app..


thank you,
Guido



Am 17.02.2010 um 22:46 schrieb Ikai L (Google):


Guido, are you still having issues with this?

2010/2/12 Guido Kämper 
Hello,

I have a serious problem with my app engine account. Seems to be  
related to rights management issues or login problems.


I added one application without problems, I could upload it using  
appcfg.sh update


But now I made some changes at the domain and added the application  
to Google Apps. First I got redirect errors, when accessing the  
Appengine portal - these problems somehow got solved. The app works  
as expected,it is now available at www.exclamation.de.


But: I am not allowed to update the application with further  
versions. Output:

403 Forbidden
You do not have permission to modify this app (app_id=u'exclam123').

And: If I add a new application, I get the message, that I don't  
have access to the new application, and it does not show up in the  
applications overview. But the count of available applications (10  
at account creation) was decreased by 1.


I am writing from my second email address, as the MX records of my  
primary email address is currently changing to google mail.  
Unfortunately I already wrote the group admin of this group, because  
I could not find any contact information for server problems.


Is anyone in this group able to help me with my problems? The  
account is gk(at)exclamation.de


Or can anyone give me a contact info of the google administration?

thank you very much,
Guido

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





--
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/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- 
appeng...@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 
.


___

Teamlead IT Backend

Tel.: 0341 594 00 5561

sprd.net AG

Gießerstraße 27 · 04229 Leipzig · Germany

Vorstand/Executive Board: Jana Eggers (Vorsitzende/CEO)
Matthias Spieß

Aufsichtsratsvorsitzender/
Chairman of the Supervisory Board: Lukasz Gadowski

Handelsregister/Trade Register: Amtsgericht Leipzig, HRB 22478
Umsatzsteuer-IdentNummer/VAT-ID: DE 8138 7149 4


--
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-appeng...@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] Model class of a Query instance?

2010-02-19 Thread Nickolas Daskalou
Hi Nick,

I have something like this:


class Foo(db.Model):
  name = db.StringProperty()
  ...

class Bar(db.Model):
  foo = db.ReferenceProperty(Foo, collection_name='bars')
  foo_name = db.StringProperty()

class Baz(db.Model):
  foo = db.ReferenceProperty(Foo, collection_name='bazs')
  foo_name = db.StringProperty()


I have added a hook in my application which calls a post_put() method on all
instances that are put() into the Datastore (after they are put, obviously).

In the post_put() of a Foo entity, I want to get all "reverse" referenced
Bar and Baz entities, and update their foo_name with the Foo entity's name.
However, I only need to update the Bar and Baz entities who's foo_name value
!= the Foo entity's name. So I could do something like:


class Foo(db.Model):
  ...
  def post_put():
for collection_name in ('bars', 'bazs'):
  q = getattr(self, collection_name)
  q.filter('foo_name !=', self.name)
  # Fetch, then update.


This works fine, except I need to add a new index each time I do this, since
"q" has two filters, one equality (an implied filter('foo =', self)) and one
inequality.

Instead, I would like to get the Model class associated with each
collection_name and just add one inequality filter, ie:


class Foo(db.Model):
  ...
  def post_put():
for collection_name in ('bars', 'bazs'):
  model_class = self.get_model_class_for_collection(collection_name)
  q = model_class.all().filter('foo_name !=', self.name)
  # Fetch, then update.
  def get_model_class_for_collection(collection_name):
q = getattr(self, collection_name)
return q.model_class() # This is the Query method I want


This way I do not need to create a new index each time I do this.

Can you suggest a similar no-new-index way of doing this?

I also thought about doing this (only get_model_class_for_collection() has
changed):


class Foo(db.Model):
  ...
  def post_put():
for collection_name in ('bars','bazs'):
  model_class = self.get_model_class_for_collection(collection_name)
  q = model_class.all().filter('foo_name !=', self.name)
  # Fetch, then update.
  def get_model_class_for_collection(collection_name):
q = getattr(self, collection_name)
entity = g.get()
return entity.__class__


Forgetting about the extra Datastore get() required, the method above could
cause problems when it comes to PolyModel entities, because (correct me if I
am wrong) when PolyModel entities come back from the Datastore they are
instances of the deepest subclass in the entity's inheritance chain, so
returning entity.__class__ (in the last line above) will limit the results
of the query (with the single inequality filter) to entity's of the original
entity's PolyModel subclass. I hope that makes sense.

Nick, I would love to get your ideas on this. Also, I'm no Python expert so
if I'm overcomplicating things please let me know.

Cheers,

Nick


On 19 February 2010 22:50, Nick Johnson (Google) wrote:

> Hi Nickolas,
>
> There's no public interface for this. Why do you need to do it?
>
> -Nick Johnson
>
> On Fri, Feb 19, 2010 at 11:28 AM, Nickolas Daskalou wrote:
>
>> Is there an "official" way to get the Model class from a Query instance? I
>> had a look through the online docs and couldn't find anything.
>>
>> In the SDK code however, the Model class of a Query instance can be
>> retrieved from the _model_class attribute of the Query instance, eg:
>>
>> q = MyModel.all()
>> 
>> model_class = q._model_class # == MyModel
>>
>> I don't really want to do it this way because since this is not documented
>> anywhere, I'm afraid that this implementation may change in the future.
>>
>> --
>> 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-appeng...@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
> Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
> 368047
>
> --
> 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-appeng...@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-appeng...@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: Question on key design: Datastore errors and tablets

2010-02-19 Thread peterk
Say I did a batch update of 500 entities all of the same model...could
this breach the '100s of qps' requirement that could lead to tablets
getting too hot? I've seen benches (http://blog.dantup.com/pi/
bm_put_perf.png) that show 500 entities being batch put in ~4s which
suggests an average put rate that might be in the 100+ per second in
such a case.

Or would that be 'ok'? :) I'm guessing if I were in a situation where
multiple such batch updates could be occurring simultaneously or in a
tight timeframe, then I'd be more likely to run into this...depending
on how busy my app became, I'd possibly need to start doing that (i.e.
lots of such large batch updates happening in short timeframes).


On Feb 19, 1:12 pm, "Nick Johnson (Google)" 
wrote:
> Hi Peter,
>
> On Fri, Feb 19, 2010 at 1:04 PM, peterk  wrote:
> > Thanks Nick, I understand now. So I guess the easiest thing to do is
> > to have a random component in your keynames...at least for apps I'm
> > considering I don't think I'd have any other way to reasonably ensure
> > the range of keynames in a given (batch) update were well distributed.
>
> Bear in mind that you only have to even worry about this if you're expecting
> hundreds of QPS of inserts to the same model.
>
> If you are in this situation, hashing some stable information from your
> model may be sufficient to generate a well distributed key name.
>
> -Nick Johnson
>
>
>
>
>
> > On Feb 19, 11:58 am, "Nick Johnson (Google)" 
> > wrote:
> > > On Fri, Feb 19, 2010 at 12:28 AM, peterk  wrote:
> > > > What about keynames like:
>
> > > > counter_standard_dbf
> > > > counter_standard_clo
>
> > > > or would something like
>
> > > > dbfo01la_counter_standard
> > > > clo091b_counter_standard
>
> > > > work better?
>
> > > > I'm thinking of cases where you may use keynames that can in some way
> > > > be constructed/predicted for fast access later.
> > > > like.._counter_standard
>
> > > > Would the common pre-fix or post-fix make for close distribution? :|
>
> > > Either one will work fine - Bigtable will split tablets based on key to
> > > ensure no tablet gets too big. Long identical prefixes just mean that the
> > > split will be based on later characters in the string.
>
> > > What's important for key distribution for really high update rates is the
> > > distribution of key names/IDs for those updates: If they all go to a
> > single
> > > tablet (eg, they make up a small proportion of the total range of IDs
> > you're
> > > employing), they will be limited by what that tablet server can support.
> > If
> > > they are widely spread out within the range you're using, regardless of
> > what
> > > that range is, you'll be fine.
>
> > > -Nick Johnson
>
> > > > On Feb 18, 5:59 pm, "Nick Johnson (Google)" 
> > > > wrote:
> > > > > Hi Eli,
>
> > > > > Using a randomly generated ID like a uuid is perfectly satisfactory
> > to
> > > > > achieve an even distribution.
>
> > > > > On Wed, Feb 17, 2010 at 7:02 PM, Eli Jones 
> > wrote:
> > > > > > I understand the process of evenly distributing IDs since they are
> > > > Integer
> > > > > > values.. is there a canonized appengine way to evenly distribute
> > > > key_names?
>
> > > > > > Just make sure key_name1 and key_name2 don't have their i-th
> > letters
> > > > "too
> > > > > > close" too eachother? How far is far enough?
>
> > > > > > Does doing even distribution matter if you aren't using
> > auto-generated
> > > > IDs?
>
> > > > > It certainly can - if you insert, in order, "", "aaab", "aaac",
> > etc,
> > > > > you'll encounter the same problem at very high volumes as you'd see
> > with
> > > > > auto generated IDs.
>
> > > > > -Nick Johnson
>
> > > > > > Thanks for information.
>
> > > > > > On Wed, Feb 17, 2010 at 1:32 PM, Nick Johnson (Google) <
> > > > > > nick.john...@google.com> wrote:
>
> > > > > >> Hi Ulrich,
>
> > > > > >> On Wed, Feb 17, 2010 at 5:30 PM, Ulrich <
> > mierendo...@googlemail.com
> > > > >wrote:
>
> > > > > >>> Hi,
>
> > > > > >>> I have read the following
> > > > > >>> "Timeouts due to datastore issues --- [...] The most common
> > example
> > > > of
> > > > > >>> this occurs when you are rapidly inserting a large number of
> > entities
> > > > > >>> of the same kind, with auto-generated IDs. In this case, most
> > inserts
> > > > > >>> hit the same range of the same tablet, and the single tablet
> > server
> > > > is
> > > > > >>> overwhelmed with writes. [...] If this does affect your app, the
> > > > > >>> easiest solution is to use more evenly distributed IDs instead of
> > the
> > > > > >>> auto-allocated ones  [...]"
> > > > > >>> (
>
> >http://code.google.com/appengine/articles/handling_datastore_errors.html
> > > > > >>> )
>
> > > > > >>> Let's say I am having a model "Parent" and a model "Child". For
> > > > Parent
> > > > > >>> entities, I use key names that are evenly distributed. For Child
> > > > > >>> entities, I use auto-generated key IDs and _no_ key names, but
> > all
> > > > > >>> Child entities are child

[google-appengine] Error while deleting a version

2010-02-19 Thread Satya
My App Id is teluguobserver

Presently I have 2 versions of code deployed. Version 2 and 3.

When I am trying to delete the version 2, I am getting server error
without any details.
Server Error
A server error has occurred.

Please help me in deleting this version.

-- 
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-appeng...@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: Question on key design: Datastore errors and tablets

2010-02-19 Thread Nick Johnson (Google)
Hi Peter,

On Fri, Feb 19, 2010 at 1:04 PM, peterk  wrote:

> Thanks Nick, I understand now. So I guess the easiest thing to do is
> to have a random component in your keynames...at least for apps I'm
> considering I don't think I'd have any other way to reasonably ensure
> the range of keynames in a given (batch) update were well distributed.
>

Bear in mind that you only have to even worry about this if you're expecting
hundreds of QPS of inserts to the same model.

If you are in this situation, hashing some stable information from your
model may be sufficient to generate a well distributed key name.

-Nick Johnson


> On Feb 19, 11:58 am, "Nick Johnson (Google)" 
> wrote:
> > On Fri, Feb 19, 2010 at 12:28 AM, peterk  wrote:
> > > What about keynames like:
> >
> > > counter_standard_dbf
> > > counter_standard_clo
> >
> > > or would something like
> >
> > > dbfo01la_counter_standard
> > > clo091b_counter_standard
> >
> > > work better?
> >
> > > I'm thinking of cases where you may use keynames that can in some way
> > > be constructed/predicted for fast access later.
> > > like.._counter_standard
> >
> > > Would the common pre-fix or post-fix make for close distribution? :|
> >
> > Either one will work fine - Bigtable will split tablets based on key to
> > ensure no tablet gets too big. Long identical prefixes just mean that the
> > split will be based on later characters in the string.
> >
> > What's important for key distribution for really high update rates is the
> > distribution of key names/IDs for those updates: If they all go to a
> single
> > tablet (eg, they make up a small proportion of the total range of IDs
> you're
> > employing), they will be limited by what that tablet server can support.
> If
> > they are widely spread out within the range you're using, regardless of
> what
> > that range is, you'll be fine.
> >
> > -Nick Johnson
> >
> >
> >
> >
> >
> >
> >
> > > On Feb 18, 5:59 pm, "Nick Johnson (Google)" 
> > > wrote:
> > > > Hi Eli,
> >
> > > > Using a randomly generated ID like a uuid is perfectly satisfactory
> to
> > > > achieve an even distribution.
> >
> > > > On Wed, Feb 17, 2010 at 7:02 PM, Eli Jones 
> wrote:
> > > > > I understand the process of evenly distributing IDs since they are
> > > Integer
> > > > > values.. is there a canonized appengine way to evenly distribute
> > > key_names?
> >
> > > > > Just make sure key_name1 and key_name2 don't have their i-th
> letters
> > > "too
> > > > > close" too eachother? How far is far enough?
> >
> > > > > Does doing even distribution matter if you aren't using
> auto-generated
> > > IDs?
> >
> > > > It certainly can - if you insert, in order, "", "aaab", "aaac",
> etc,
> > > > you'll encounter the same problem at very high volumes as you'd see
> with
> > > > auto generated IDs.
> >
> > > > -Nick Johnson
> >
> > > > > Thanks for information.
> >
> > > > > On Wed, Feb 17, 2010 at 1:32 PM, Nick Johnson (Google) <
> > > > > nick.john...@google.com> wrote:
> >
> > > > >> Hi Ulrich,
> >
> > > > >> On Wed, Feb 17, 2010 at 5:30 PM, Ulrich <
> mierendo...@googlemail.com
> > > >wrote:
> >
> > > > >>> Hi,
> >
> > > > >>> I have read the following
> > > > >>> "Timeouts due to datastore issues --- [...] The most common
> example
> > > of
> > > > >>> this occurs when you are rapidly inserting a large number of
> entities
> > > > >>> of the same kind, with auto-generated IDs. In this case, most
> inserts
> > > > >>> hit the same range of the same tablet, and the single tablet
> server
> > > is
> > > > >>> overwhelmed with writes. [...] If this does affect your app, the
> > > > >>> easiest solution is to use more evenly distributed IDs instead of
> the
> > > > >>> auto-allocated ones  [...]"
> > > > >>> (
> >
> > >
> http://code.google.com/appengine/articles/handling_datastore_errors.html
> > > > >>> )
> >
> > > > >>> Let's say I am having a model "Parent" and a model "Child". For
> > > Parent
> > > > >>> entities, I use key names that are evenly distributed. For Child
> > > > >>> entities, I use auto-generated key IDs and _no_ key names, but
> all
> > > > >>> Child entities are children of Parent entities, so the paths to
> the
> > > > >>> children contain the evenly distributes key names of the parents.
> > > > >>> If I have many write operations on children that are in the same
> > > > >>> entity group, the described error could occur. But what happens
> if my
> > > > >>> write operations are on children that are in different entity
> groups?
> > > > >>> Their IDs are auto-generated and not evenly distributed, but
> their
> > > > >>> paths contain the evenly distributed key names.
> >
> > > > >> Good question! The point being made in the article refers to the
> > > global
> > > > >> distribution of the complete key, so writes to these children will
> be
> > > well
> > > > >> distributed, and you won't have to worry about this source of
> > > contention.
> >
> > > > >> -Nick Johnson
> >
> > > > >>> --
> >
> > > > >>> You received this message

[google-appengine] Re: Question on key design: Datastore errors and tablets

2010-02-19 Thread peterk
Thanks Nick, I understand now. So I guess the easiest thing to do is
to have a random component in your keynames...at least for apps I'm
considering I don't think I'd have any other way to reasonably ensure
the range of keynames in a given (batch) update were well distributed.

On Feb 19, 11:58 am, "Nick Johnson (Google)" 
wrote:
> On Fri, Feb 19, 2010 at 12:28 AM, peterk  wrote:
> > What about keynames like:
>
> > counter_standard_dbf
> > counter_standard_clo
>
> > or would something like
>
> > dbfo01la_counter_standard
> > clo091b_counter_standard
>
> > work better?
>
> > I'm thinking of cases where you may use keynames that can in some way
> > be constructed/predicted for fast access later.
> > like.._counter_standard
>
> > Would the common pre-fix or post-fix make for close distribution? :|
>
> Either one will work fine - Bigtable will split tablets based on key to
> ensure no tablet gets too big. Long identical prefixes just mean that the
> split will be based on later characters in the string.
>
> What's important for key distribution for really high update rates is the
> distribution of key names/IDs for those updates: If they all go to a single
> tablet (eg, they make up a small proportion of the total range of IDs you're
> employing), they will be limited by what that tablet server can support. If
> they are widely spread out within the range you're using, regardless of what
> that range is, you'll be fine.
>
> -Nick Johnson
>
>
>
>
>
>
>
> > On Feb 18, 5:59 pm, "Nick Johnson (Google)" 
> > wrote:
> > > Hi Eli,
>
> > > Using a randomly generated ID like a uuid is perfectly satisfactory to
> > > achieve an even distribution.
>
> > > On Wed, Feb 17, 2010 at 7:02 PM, Eli Jones  wrote:
> > > > I understand the process of evenly distributing IDs since they are
> > Integer
> > > > values.. is there a canonized appengine way to evenly distribute
> > key_names?
>
> > > > Just make sure key_name1 and key_name2 don't have their i-th letters
> > "too
> > > > close" too eachother? How far is far enough?
>
> > > > Does doing even distribution matter if you aren't using auto-generated
> > IDs?
>
> > > It certainly can - if you insert, in order, "", "aaab", "aaac", etc,
> > > you'll encounter the same problem at very high volumes as you'd see with
> > > auto generated IDs.
>
> > > -Nick Johnson
>
> > > > Thanks for information.
>
> > > > On Wed, Feb 17, 2010 at 1:32 PM, Nick Johnson (Google) <
> > > > nick.john...@google.com> wrote:
>
> > > >> Hi Ulrich,
>
> > > >> On Wed, Feb 17, 2010 at 5:30 PM, Ulrich  > >wrote:
>
> > > >>> Hi,
>
> > > >>> I have read the following
> > > >>> "Timeouts due to datastore issues --- [...] The most common example
> > of
> > > >>> this occurs when you are rapidly inserting a large number of entities
> > > >>> of the same kind, with auto-generated IDs. In this case, most inserts
> > > >>> hit the same range of the same tablet, and the single tablet server
> > is
> > > >>> overwhelmed with writes. [...] If this does affect your app, the
> > > >>> easiest solution is to use more evenly distributed IDs instead of the
> > > >>> auto-allocated ones  [...]"
> > > >>> (
>
> >http://code.google.com/appengine/articles/handling_datastore_errors.html
> > > >>> )
>
> > > >>> Let's say I am having a model "Parent" and a model "Child". For
> > Parent
> > > >>> entities, I use key names that are evenly distributed. For Child
> > > >>> entities, I use auto-generated key IDs and _no_ key names, but all
> > > >>> Child entities are children of Parent entities, so the paths to the
> > > >>> children contain the evenly distributes key names of the parents.
> > > >>> If I have many write operations on children that are in the same
> > > >>> entity group, the described error could occur. But what happens if my
> > > >>> write operations are on children that are in different entity groups?
> > > >>> Their IDs are auto-generated and not evenly distributed, but their
> > > >>> paths contain the evenly distributed key names.
>
> > > >> Good question! The point being made in the article refers to the
> > global
> > > >> distribution of the complete key, so writes to these children will be
> > well
> > > >> distributed, and you won't have to worry about this source of
> > contention.
>
> > > >> -Nick Johnson
>
> > > >>> --
>
> > > >>> 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-appeng...@googlegroups.com.
> > > >>> To unsubscribe from this group, send email to
> > > >>> google-appengine+unsubscr...@googlegroups.com > > >>>  e...@googlegroups.com> > e...@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
> > > >> Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration
> > Number:
> > > >> 368047
>
> > > >

[google-appengine] Re: MMS to Email Gateway failures

2010-02-19 Thread A1programmer
This is still not working.

I may also point out that when I do get emails that are sent from app
engine, to me phone as SMS, they are from a huge string, like so:

3-
yf9swuod0qgjsotigskxxoloi.iusjkxxoiq.yosvyutmsgor@apphosting.bounces.google.com

Therefore, I think this is something that Google needs to fix,
including fixing SPF records (or whatever).  It would be nice if the
email actually appeared to be from who's sending it.

- Derrick

On Feb 17, 10:25 pm, Andrew Chilton  wrote:
> Hi Derrick,
>
> On 18 February 2010 10:20, A1programmer  wrote:
>
> > [snip]
> > Does anyone have any idea why this may be, or can offer suggestions?
> > As it looks now, if I can get this to work nicely on another platform,
> > I'm going to have to move my stuff off of my GAE (paid account).
>
> Might this 
> help?http://www.google.com/support/a/bin/answer.py?hl=en&answer=33786
>
> It might help it look less like spam (if indeed that is what is happening).
>
> Cheers,
> Andy
>
> --
> contact: Andrew Chilton
> website:http://www.chilts.org/blog/

-- 
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-appeng...@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: Question on key design: Datastore errors and tablets

2010-02-19 Thread Nick Johnson (Google)
On Fri, Feb 19, 2010 at 12:28 AM, peterk  wrote:

> What about keynames like:
>
> counter_standard_dbf
> counter_standard_clo
>
> or would something like
>
> dbfo01la_counter_standard
> clo091b_counter_standard
>
> work better?
>
> I'm thinking of cases where you may use keynames that can in some way
> be constructed/predicted for fast access later.
> like.._counter_standard
>
> Would the common pre-fix or post-fix make for close distribution? :|
>

Either one will work fine - Bigtable will split tablets based on key to
ensure no tablet gets too big. Long identical prefixes just mean that the
split will be based on later characters in the string.

What's important for key distribution for really high update rates is the
distribution of key names/IDs for those updates: If they all go to a single
tablet (eg, they make up a small proportion of the total range of IDs you're
employing), they will be limited by what that tablet server can support. If
they are widely spread out within the range you're using, regardless of what
that range is, you'll be fine.

-Nick Johnson


>
>
>
> On Feb 18, 5:59 pm, "Nick Johnson (Google)" 
> wrote:
> > Hi Eli,
> >
> > Using a randomly generated ID like a uuid is perfectly satisfactory to
> > achieve an even distribution.
> >
> > On Wed, Feb 17, 2010 at 7:02 PM, Eli Jones  wrote:
> > > I understand the process of evenly distributing IDs since they are
> Integer
> > > values.. is there a canonized appengine way to evenly distribute
> key_names?
> >
> > > Just make sure key_name1 and key_name2 don't have their i-th letters
> "too
> > > close" too eachother? How far is far enough?
> >
> > > Does doing even distribution matter if you aren't using auto-generated
> IDs?
> >
> > It certainly can - if you insert, in order, "", "aaab", "aaac", etc,
> > you'll encounter the same problem at very high volumes as you'd see with
> > auto generated IDs.
> >
> > -Nick Johnson
> >
> >
> >
> >
> >
> >
> >
> > > Thanks for information.
> >
> > > On Wed, Feb 17, 2010 at 1:32 PM, Nick Johnson (Google) <
> > > nick.john...@google.com> wrote:
> >
> > >> Hi Ulrich,
> >
> > >> On Wed, Feb 17, 2010 at 5:30 PM, Ulrich  >wrote:
> >
> > >>> Hi,
> >
> > >>> I have read the following
> > >>> "Timeouts due to datastore issues --- [...] The most common example
> of
> > >>> this occurs when you are rapidly inserting a large number of entities
> > >>> of the same kind, with auto-generated IDs. In this case, most inserts
> > >>> hit the same range of the same tablet, and the single tablet server
> is
> > >>> overwhelmed with writes. [...] If this does affect your app, the
> > >>> easiest solution is to use more evenly distributed IDs instead of the
> > >>> auto-allocated ones  [...]"
> > >>> (
> > >>>
> http://code.google.com/appengine/articles/handling_datastore_errors.html
> > >>> )
> >
> > >>> Let's say I am having a model "Parent" and a model "Child". For
> Parent
> > >>> entities, I use key names that are evenly distributed. For Child
> > >>> entities, I use auto-generated key IDs and _no_ key names, but all
> > >>> Child entities are children of Parent entities, so the paths to the
> > >>> children contain the evenly distributes key names of the parents.
> > >>> If I have many write operations on children that are in the same
> > >>> entity group, the described error could occur. But what happens if my
> > >>> write operations are on children that are in different entity groups?
> > >>> Their IDs are auto-generated and not evenly distributed, but their
> > >>> paths contain the evenly distributed key names.
> >
> > >> Good question! The point being made in the article refers to the
> global
> > >> distribution of the complete key, so writes to these children will be
> well
> > >> distributed, and you won't have to worry about this source of
> contention.
> >
> > >> -Nick Johnson
> >
> > >>> --
> >
> > >>> 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-appeng...@googlegroups.com.
> > >>> To unsubscribe from this group, send email to
> > >>> google-appengine+unsubscr...@googlegroups.com e...@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
> > >> Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration
> Number:
> > >> 368047
> >
> > >>  --
> > >> 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-appeng...@googlegroups.com.
> > >> To unsubscribe from this group, send email to
> > >> google-appengine+unsubscr...@googlegroups.com e...@googlegroups.com>
> > >> .
> > >> For more options, visit this group at
> > >>http://groups.google.com/group/google-appengine?hl=en.
> >
> > >  --
> > > You received this message b

Re: [google-appengine] Model class of a Query instance?

2010-02-19 Thread Nick Johnson (Google)
Hi Nickolas,

There's no public interface for this. Why do you need to do it?

-Nick Johnson

On Fri, Feb 19, 2010 at 11:28 AM, Nickolas Daskalou wrote:

> Is there an "official" way to get the Model class from a Query instance? I
> had a look through the online docs and couldn't find anything.
>
> In the SDK code however, the Model class of a Query instance can be
> retrieved from the _model_class attribute of the Query instance, eg:
>
> q = MyModel.all()
> 
> model_class = q._model_class # == MyModel
>
> I don't really want to do it this way because since this is not documented
> anywhere, I'm afraid that this implementation may change in the future.
>
> --
> 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-appeng...@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
Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
368047

-- 
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-appeng...@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] Model class of a Query instance?

2010-02-19 Thread Nickolas Daskalou
Is there an "official" way to get the Model class from a Query instance? I
had a look through the online docs and couldn't find anything.

In the SDK code however, the Model class of a Query instance can be
retrieved from the _model_class attribute of the Query instance, eg:

q = MyModel.all()

model_class = q._model_class # == MyModel

I don't really want to do it this way because since this is not documented
anywhere, I'm afraid that this implementation may change in the future.

-- 
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-appeng...@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: Strange traffic Charts after the last maintenance

2010-02-19 Thread matic
I can also confirm that the problem is fixed.

On Feb 19, 4:12 am, gwstuff  wrote:
> OK. The request chat in my dashboard just spiked into the normal
> range:http://corewars.org/spike.png. Looks like this problem is
> fixed.
>
> On Feb 18, 8:51 pm, gwstuff  wrote:
>
>
>
> > Confirmed. My request/second rate has changed from 1.5-2.5 to 0.5-1.0
> > on an average. I chart my request data separately and can see that the
> > load is the same as before, so this has something to do with the
> > calculation.
>
> > Sapan
>
> > On Feb 18, 3:05 pm, matic  wrote:
>
> > > After the last GAE maintenance yesterday, our traffic (req/sec)
> > > lowered dramatically and all the charts (req/sec, milisec/req, errors/
> > > sec) are very 
> > > strange:http://img.skitch.com/20100218-bqfa4pdhgefyf6hir8e3swbwq7.jpg
> > > Is this just a charts problem or is something seriously wrong?

-- 
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-appeng...@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: pygooglechart

2010-02-19 Thread Massimiliano
"Sure you can after installing the library" on my PC?

2010/2/19 nickmilon 

> Sure you can after installing the library and including the files in
> your application provided this library does not depend on anything but
> python.
> Also since data passing mechanism for google visualization api is
> quite easy to implement in python you can avoid the burden of one more
> import and write your own interface.
> For an example of using visualization api from gae you can take a look
> at:  http://www.geognos.com/geo/en/cc/no.html#Economy
> Unfortunately i did not have the time to document the code but feel
> free to examine the page source code and the relative javascript
> files.
>
> Happy coding;)
>
>
>
> On Feb 18, 2:30 pm, Massimiliano 
> wrote:
> > Dear All,
> > I'm trying to learn using python and Google App Engine. Can I use this
> > library on the appengine? Just importing this in the python application
> > (from pygooglechart import *)?
> >
> > Massimiliano
> >
> > --
> >
> > My email: massimiliano.pietr...@gmail.com
> > My Google Wave: massimiliano.pietr...@googlewave.com
>
> --
> 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-appeng...@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.
>
>


-- 

My email: massimiliano.pietr...@gmail.com
My Google Wave: massimiliano.pietr...@googlewave.com

-- 
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-appeng...@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] Error 500 on Datastore Viewer

2010-02-19 Thread Stefano Ciccarelli
In the last couple of hours every time I try to access the Datastore
Viewer or the Datastore Statistics I get always the error 500.

Someone could help me? Thx.

-- 
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-appeng...@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: pygooglechart

2010-02-19 Thread nickmilon
Sure you can after installing the library and including the files in
your application provided this library does not depend on anything but
python.
Also since data passing mechanism for google visualization api is
quite easy to implement in python you can avoid the burden of one more
import and write your own interface.
For an example of using visualization api from gae you can take a look
at:  http://www.geognos.com/geo/en/cc/no.html#Economy
Unfortunately i did not have the time to document the code but feel
free to examine the page source code and the relative javascript
files.

Happy coding;)



On Feb 18, 2:30 pm, Massimiliano 
wrote:
> Dear All,
> I'm trying to learn using python and Google App Engine. Can I use this
> library on the appengine? Just importing this in the python application
> (from pygooglechart import *)?
>
> Massimiliano
>
> --
>
> My email: massimiliano.pietr...@gmail.com
> My Google Wave: massimiliano.pietr...@googlewave.com

-- 
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-appeng...@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: Google maps usage

2010-02-19 Thread nickmilon
The only thing you can do to address your problem is through some kind
of ajax, which is quite feasible if you have to plot your values once
a minute or so.

Happy coding ;)

Nick

On Feb 18, 12:25 pm, Avis developer  wrote:
> I need to develop a application which uses a GPS mobile to get the
> latitude and longitude coordinates of a person and plot in Google
> maps. I will be using google AppEngine to deploy the site, so i will
> be using datastore provided by GAE. I need to know how to plot the
> values in maps asynchronously , i.e as the value in the datastore
> changes,without the user requesting again and again through the
> browser, it needs to be updated asynchronously like cricinfo does for
> updating scores  . What event should i use to the above cause..  Am a
> beginner in programming, so pls consider my level n help me..
>
> thanks for the reply 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-appeng...@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] indexes in building state for quite a while ...

2010-02-19 Thread Prawyn
Hi,
I updated set of indexes and it was in building state for more
than one and half days now. I tried to use vacuum_indexes but it
didn't solve the
problem.. Any help guys..

My app id is os247test

-- 
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-appeng...@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] GAE/J Low Level API Transaction management.

2010-02-19 Thread Patrick Twohig
I had that suspicion, but, I wasn't 100% sure.  I wonder if it's an issue
that shows up in production or just local datastore.

Pat.

On Thu, Feb 18, 2010 at 1:34 PM, Jeff Schnitzer  wrote:

> I just created a unit test for this case (there wasn't one before) and
> sure enough, it fails.  Looks like a bug in appengine.  Create an
> issue, I'll star it.
>
> The failing unit test is the last one in this file:
>
> http://code.google.com/p/objectify-appengine/source/browse/trunk/src/com/googlecode/ob
> jectify/test/QueryTests.java
>
> FWIW, our implementation is the ancestor() method:
>
> http://code.google.com/p/objectify-appengine/source/browse/trunk/src/com/googlecode/objectify/impl/QueryImpl.java
>
> Javadocs are on the interface class:
>
> http://objectify-appengine.googlecode.com/svn/trunk/javadoc/com/googlecode/objectify/Query.html
>
> Jeff
>
> On Thu, Feb 18, 2010 at 11:22 AM, Patrick Twohig
>  wrote:
> > Duly noted.  However, I'm not about to rewrite a bulk of my code over a
> > single issue I'm having.  At the time I started this, I hadn't realized
> > Objectify existed and tried using JDO which turned out to be a gigantic
> > nightmare, so I slimmed it down and wrote my own wrapper similar to
> > Objectify.  Right now the only pressing issue is that ancestor queries
> > aren't working as expected and it's driving me nuts.  Could you perhaps
> > point me to some source in Objectify that executes an ancestor query that
> I
> > may be able to see?
> >
> > On Wed, Feb 17, 2010 at 10:05 PM, Jeff Schnitzer 
> > wrote:
> >>
> >> The documentation I wrote up here might help:
> >>
> >> http://code.google.com/p/objectify-appengine/wiki/Concepts
> >>
> >> You might consider using something like Objectify (or Twig, or
> >> SimpleDS, etc) instead of the Low-Level API.
> >>
> >> Jeff
> >>
> >> On Wed, Feb 17, 2010 at 9:23 PM, Patrick Twohig
> >>  wrote:
> >> > Aside from the Javadocs, does there exist any further documentation on
> >> > the
> >> > GAE/J low-level API.  I've had a handfull of issues with it so far and
> >> > I'm
> >> > at a bit of a loss.  I'm having trouble with ancestor queries.
> >> > Specifically, I'm not getting any child entities when I look for
> objects
> >> > with no kind specified and just an ancestor.  However, the equivalent
> >> > code
> >> > in python performs as expected.
> >> >
> >> > I was also curious how GAE/J organizes transactions.  From what I
> gather
> >> > in
> >> > the documentation, each transaction is organized in a ThreadLocal
> stack.
> >> > Every time you call DatastoreService.beginTransaction() it creates a
> new
> >> > transaction, pushes it on the thread local stack then when it's done,
> >> > it's
> >> > popped of.  I was curious if it may be possible to add a method that
> can
> >> > provide the current transaction given a particular key somehow.
> >> >
> >> >
> >> > --
> >> > Patrick H. Twohig.
> >> >
> >> > Namazu Studios
> >> > P.O. Box 34161
> >> > San Diego, CA 92163-4161
> >> >
> >> > --
> >> > 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-appeng...@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-appeng...@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.
> >>
> >
> >
> >
> > --
> > Patrick H. Twohig.
> >
> > Namazu Studios
> > P.O. Box 34161
> > San Diego, CA 92163-4161
> >
> > --
> > 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-appeng...@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-appeng...@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.
>
>


-- 
Patrick H. Twohig.

Namazu Studios
P.O. Box 34161
San Diego, CA 92163-4161

-- 
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-appeng...@googlegroups.com

[google-appengine] Re: how to upgrade my sdk from 1.3.0 to 1.3.1 in eclipse

2010-02-19 Thread Seth
So I tried what I said, and I'm not in any better shape.

I uninstalled all the google plugins, restarted, and then reinstalled
the google plugins (gwt, appengine).

Now when I try to start my webapp from within Eclipse, I get this
error:

Error occurred during initialization of VM
agent library failed to init: instrument
Error opening zip file or JAR manifest missing : /Users/sethladd/
eclipse/plugins/com.google.appengine.eclipse.sdkbundle.
1.3.0_1.3.0.v200912141120/appengine-java-sdk-1.3.0/lib/agent/appengine-
agent.jar

Not sure why it's trying to reference 1.3.0

Might have to uninstall Eclipse and try a completely fresh install.

On Feb 18, 10:24 pm, Seth  wrote:
> Try manually uninstalling all your google plugins.
>
> If you are using Galileo (as it sounds like you are because you
> mentioned the 3.5 plugin repository), then you can use this link:
>
> http://eclipse.dzone.com/articles/ten-tips-installing-plugins
>
> which helps you uninstall plugins.  Then, reinstall the Google plugins
> as normal.
>
> On Feb 16, 11:01 am, Warren Goldman  wrote:
>
>
>
> > Receiving this message when debugging my google app in eclipse;
>
> > 
> > There is a new version of the SDK available.
> > ---
> > Latest SDK:
> > Release: 1.3.1
> > Timestamp: Mon Feb 08 17:00:41 CST 2010
> > API versions: [1.0]
>
> > ---
> > Your SDK:
> > Release: 1.3.0
> > Timestamp: Mon Dec 14 12:47:37 CST 2009
> > API versions: [1.0]
>
> > ---
> > Please visithttp://code.google.com/appengineforthe latest SDK.
> > 
>
> > Not sure what to do about this.
>
> > Using this update url in eclipse (galileo 
> > 3.5);http://dl.google.com/eclipse/plugin/3.5(doingupdate has no affect)
>
> > The download of the sdk for 1.3.1 (http://
> > googleappengine.googlecode.com/files/appengine-java-sdk-1.3.1.zip) is
> > quite different that 1.3.0  folder structure in eclipse
> > has folder com.google.appengine.eclipse.sdkbundle.
> > 1.3.0_1.3.0.v200912141120
> > in plugins dir.
>
> > any help is appreciated.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@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: how to upgrade my sdk from 1.3.0 to 1.3.1 in eclipse

2010-02-19 Thread Seth
Try manually uninstalling all your google plugins.

If you are using Galileo (as it sounds like you are because you
mentioned the 3.5 plugin repository), then you can use this link:

http://eclipse.dzone.com/articles/ten-tips-installing-plugins

which helps you uninstall plugins.  Then, reinstall the Google plugins
as normal.

On Feb 16, 11:01 am, Warren Goldman  wrote:
> Receiving this message when debugging my google app in eclipse;
>
> 
> There is a new version of the SDK available.
> ---
> Latest SDK:
> Release: 1.3.1
> Timestamp: Mon Feb 08 17:00:41 CST 2010
> API versions: [1.0]
>
> ---
> Your SDK:
> Release: 1.3.0
> Timestamp: Mon Dec 14 12:47:37 CST 2009
> API versions: [1.0]
>
> ---
> Please visithttp://code.google.com/appenginefor the latest SDK.
> 
>
> Not sure what to do about this.
>
> Using this update url in eclipse (galileo 
> 3.5);http://dl.google.com/eclipse/plugin/3.5(doing update has no affect)
>
> The download of the sdk for 1.3.1 (http://
> googleappengine.googlecode.com/files/appengine-java-sdk-1.3.1.zip) is
> quite different that 1.3.0  folder structure in eclipse
> has folder com.google.appengine.eclipse.sdkbundle.
> 1.3.0_1.3.0.v200912141120
> in plugins dir.
>
> any help is appreciated.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@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: how to upgrade my sdk from 1.3.0 to 1.3.1 in eclipse

2010-02-19 Thread Seth
For some reason, I also continue to get this warning from my Eclipse.
I have run the upgrade via the normal Eclipse software update, and it
claims I have the latest 1.3.1 version.  However, I still see the
following notice when I start up the embedded server via Eclipse:


There is a new version of the SDK available.
---
Latest SDK:
Release: 1.3.1
Timestamp: Mon Feb 08 13:00:41 HST 2010
API versions: [1.0]

---
Your SDK:
Release: 1.3.0
Timestamp: Mon Dec 14 08:47:37 HST 2009
API versions: [1.0]

---
Please visit http://code.google.com/appengine for the latest SDK.


On Feb 18, 12:46 pm, "Ikai L (Google)"  wrote:
> The SDK update works for me. SDK 1.3.1 is available. Can you check again?
>
> On Tue, Feb 16, 2010 at 1:01 PM, Warren Goldman 
> wrote:
>
>
>
>
>
> > Receiving this message when debugging my google app in eclipse;
>
> > 
> > There is a new version of the SDK available.
> > ---
> > Latest SDK:
> > Release: 1.3.1
> > Timestamp: Mon Feb 08 17:00:41 CST 2010
> > API versions: [1.0]
>
> > ---
> > Your SDK:
> > Release: 1.3.0
> > Timestamp: Mon Dec 14 12:47:37 CST 2009
> > API versions: [1.0]
>
> > ---
> > Please visithttp://code.google.com/appenginefor the latest SDK.
> > 
>
> > Not sure what to do about this.
>
> > Using this update url in eclipse (galileo 3.5);
> >http://dl.google.com/eclipse/plugin/3.5(doing update has no affect)
>
> > The download of the sdk for 1.3.1 (http://
> > googleappengine.googlecode.com/files/appengine-java-sdk-1.3.1.zip) is
> > quite different that 1.3.0  folder structure in eclipse
> > has folder com.google.appengine.eclipse.sdkbundle.
> > 1.3.0_1.3.0.v200912141120
> > in plugins dir.
>
> > any help is appreciated.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to google-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com > e...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App 
> Enginehttp://googleappengine.blogspot.com|http://twitter.com/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-appeng...@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.