[appengine-java] Re: Does the SDK in WEB-INF/lib Get Deployed?

2011-08-18 Thread Heiko Roth
Are you using multithreading?
That reduced our number of instances (and starting instances)
significantly.

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



Re: [appengine-java] DatastoretimeExceptions

2011-08-18 Thread Aswath Satrasala
It is master/slave.  Now, I am not seeing those exceptions.

Thanks
-Aswath

On Wed, Aug 17, 2011 at 1:00 AM, Ikai Lan (Google) ika...@google.comwrote:

 Aswath, is your application on master/slave or high replication?

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Tue, Aug 9, 2011 at 3:59 AM, Aswath Satrasala 
 aswath.satras...@gmail.com wrote:

 Hello All,
 Recently for the past 2-3 days,  I see the logs with
 DatastoreTimeoutExceptions.

 Anyone experiencing the same...

 -Aswath
 www.AccountingGuru.in.

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


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


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



[appengine-java] Java PaaS shoutout

2011-08-18 Thread Thomas Wiradikusuma
Hi guys,

I just stumbled upon this article:
http://www.ibm.com/developerworks/java/library/j-paasshootout

Are these constraints/limitations still valid? (the article date is
April 2011)

GAE forces any application-initiated connection to close after 5 to
10 seconds

But its raw performance is often slow.. ..GAE often takes 1 to 3
seconds to respond to database-related requests.

One tip: Set up a cron job inside GAE to load your own website every
2 to 3 minutes to keep the JVM active.

GAE limits the returned dataset of each query to 1,000 rows

GAE allows only 100 indexes per table

GAE provides no easy way to delete indexes that are no longer in use

doesn't support free text search in the database

no standard API for directly accessing BigTable, you must write data-
import and data-export logic into servlets inside your own
application, and use your own web interface to import or export data

some of the components in GAE still feel experimental rather than
production-ready

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



[appengine-java] Re: Java PaaS shoutout

2011-08-18 Thread Simon Knott
Comments below - I'd say that the person who wrote the article did very 
little research, or was using some very out of date resources, if that 
article was really written in Feb this year.

On Thursday, 18 August 2011 10:57:34 UTC+1, Thomas Wiradikusuma wrote:

 Hi guys, 

 I just stumbled upon this article: 
 http://www.ibm.com/developerworks/java/library/j-paasshootout 

 Are these constraints/limitations still valid? (the article date is 
 April 2011) 

 GAE forces any application-initiated connection to close after 5 to 
 10 seconds 


URLFetch requests have the following constaints:
* By default, the deadline for a fetch is 5 seconds. The maximum deadline is 
10 seconds for HTTP requests and 10 minutes for task queue and cron job 
requests.*
 
I'm not aware of any timeout for datastore connections, other than the fact 
that the datastore operation needs to occur within the 30 seconds, for a 
user's web request, or within 10 minutes, for cron and task queue 
operations.


 But its raw performance is often slow.. ..GAE often takes 1 to 3 
 seconds to respond to database-related requests. 


Almost all of my datastore operations happen within 10s of milliseconds, 
although this obviously depends on the datastore operation which is taking 
place and whether you're querying a vast amount of data.  If it often took 
that long for database requests, no one would use it!  To be fair to the 
author, at the time of writing they may have been experiencing a lot of 
database latency spikes, as only the Master/Slave datastore was available at 
that time.  Since May, the High Replication datastore has been available 
which has removed a vast majority of these spikes.
 

 One tip: Set up a cron job inside GAE to load your own website every 
 2 to 3 minutes to keep the JVM active. 


Or pay and have Always On, which has been around since last December.  
Instances do get spun-up and spun-down on a regular basis, but if you've 
built your application well and make use of warm up requests then I'd say 
there is no need to use a cron job.  Over the coming months, more controls 
will be added to the admin control panel to remove this requirement as well, 
I believe, as you'll be able to control how many instances are around in the 
background to handle user load spikes.
 


 GAE limits the returned dataset of each query to 1,000 rows 


This limitation was removed in August 2010.
 

 GAE allows only 100 indexes per table


The default quota per application is 200, although I do believe you can 
request a quota increase. 
 

 GAE provides no easy way to delete indexes that are no longer in use


You can vacuum the indexes at any time using the appcfg command line tool:
http://code.google.com/appengine/docs/java/tools/uploadinganapp.html#Deleting_Unused_Indexes
 

 doesn't support free text search in the database 


True - I believe it's on the road map.
 

 no standard API for directly accessing BigTable, you must write data- 
 import and data-export logic into servlets inside your own 
 application, and use your own web interface to import or export data


There is a Remote API for both the Python and Java SDK:
http://code.google.com/appengine/docs/java/tools/remoteapi.html

The Python API has been available since 2009...
 

 some of the components in GAE still feel experimental rather than 
 production-ready 


Hence it's in beta :) 

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



[appengine-java] Re: Java PaaS shoutout

2011-08-18 Thread Simon Knott
Hmm not sure where I got February from - replace all references to February 
with April!

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



[appengine-java] deployment fails due to compilation

2011-08-18 Thread Vik
Hie

When i try to deploy my app to appengine (based on gwt + gae) I see below
error. thus, cannot deploy. Please advise. Just to mention if i run the app
on local server it runs fine.

[ERROR] An internal compiler exception occurred
com.google.gwt.dev.jjs.InternalCompilerException: Failed to get JNode
at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:139)
 at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:70)
at com.google.gwt.dev.jjs.impl.BuildTypeMap.getType(BuildTypeMap.java:769)
 at
com.google.gwt.dev.jjs.impl.BuildTypeMap.access$000(BuildTypeMap.java:101)
at
com.google.gwt.dev.jjs.impl.BuildTypeMap$BuildDeclMapVisitor.visit(BuildTypeMap.java:200)
 at
org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.traverse(LocalDeclaration.java:237)
at org.eclipse.jdt.internal.compiler.ast.Block.traverse(Block.java:127)
 at
org.eclipse.jdt.internal.compiler.ast.IfStatement.traverse(IfStatement.java:245)
at
org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.traverse(MethodDeclaration.java:239)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1294)
at
org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression.traverse(QualifiedAllocationExpression.java:478)
 at
org.eclipse.jdt.internal.compiler.ast.MessageSend.traverse(MessageSend.java:576)
at
org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.traverse(MethodDeclaration.java:239)
 at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1239)
at
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:687)
 at
com.google.gwt.dev.jjs.impl.BuildTypeMap.createPeersForNonTypeDecls(BuildTypeMap.java:674)
at com.google.gwt.dev.jjs.impl.BuildTypeMap.exec(BuildTypeMap.java:539)
 at com.google.gwt.dev.jjs.impl.BuildTypeMap.exec(BuildTypeMap.java:529)
at
com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:558)
 at
com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:35)
at com.google.gwt.dev.Precompile.precompile(Precompile.java:538)
 at com.google.gwt.dev.Precompile.precompile(Precompile.java:492)
at com.google.gwt.dev.Precompile.precompile(Precompile.java:405)
 at com.google.gwt.dev.Compiler.run(Compiler.java:215)
at com.google.gwt.dev.Compiler.run(Compiler.java:187)
 at com.google.gwt.dev.Compiler$1.run(Compiler.java:159)
at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:87)
 at
com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:81)
at com.google.gwt.dev.Compiler.main(Compiler.java:166)
  [ERROR] no source info: public abstract class java.util.Calendar
extends java.lang.Object
implements : java.io.Serializable, java.lang.Cloneable,
Comparablejava.util.Calendar
/*   fields   */
static final [unresolved] boolean $assertionsDisabled
static final [unresolved] int ALL_FIELDS
public static final [unresolved] int ALL_STYLES
public static final [unresolved] int AM
public static final [unresolved] int AM_PM
static final [unresolved] int AM_PM_MASK
public static final [unresolved] int APRIL
public static final [unresolved] int AUGUST
private static final [unresolved] int COMPUTED
public static final int DATE
static final [unresolved] int DATE_MASK
public static final [unresolved] int DAY_OF_MONTH
static final [unresolved] int DAY_OF_MONTH_MASK
public static final [unresolved] int DAY_OF_WEEK
public static final [unresolved] int DAY_OF_WEEK_IN_MONTH
static final [unresolved] int DAY_OF_WEEK_IN_MONTH_MASK
static final [unresolved] int DAY_OF_WEEK_MASK
public static final [unresolved] int DAY_OF_YEAR
static final [unresolved] int DAY_OF_YEAR_MASK
public static final [unresolved] int DECEMBER
public static final [unresolved] int DST_OFFSET
static final [unresolved] int DST_OFFSET_MASK
public static final [unresolved] int ERA
static final [unresolved] int ERA_MASK
public static final [unresolved] int FEBRUARY
public static final [unresolved] int FIELD_COUNT
private static final [unresolved] java.lang.String[] FIELD_NAME
public static final [unresolved] int FRIDAY
public static final [unresolved] int HOUR
static final [unresolved] int HOUR_MASK
public static final [unresolved] int HOUR_OF_DAY
static final [unresolved] int HOUR_OF_DAY_MASK
public static final [unresolved] int JANUARY
public static final [unresolved] int JULY
public static final [unresolved] int JUNE
public static final [unresolved] int LONG
public static final [unresolved] int MARCH
public static final [unresolved] int MAY
public static final [unresolved] int MILLISECOND
static final [unresolved] int MILLISECOND_MASK
private static final [unresolved] int MINIMUM_USER_STAMP
public static final [unresolved] int MINUTE
static final [unresolved] int MINUTE_MASK
public static final [unresolved] int MONDAY
public static final int MONTH
static final [unresolved] int MONTH_MASK
public static final [unresolved] int NOVEMBER
public static final [unresolved] int 

Re: [appengine-java] Re: Java PaaS shoutout

2011-08-18 Thread JT
I believe beta status will end this year.

On Aug 18, 2011 7:20 AM, Simon Knott knott.si...@gmail.com wrote:
 Hmm not sure where I got February from - replace all references to
February
 with April!

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


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



[appengine-java] Dashboard failing: Oops! We couldn't retrieve your list of Kinds.

2011-08-18 Thread Gal Dolber
After trying to delete my datastore completely and failing with this
exception (thats now I guess is because I didn't turn appstats off):

java.lang.IllegalArgumentException: illegal key.path.element.type:
_Stat_Kind_IsRootEntity_
The datastore viewer stop working and shows: Oops! We couldn't retrieve your
list of Kinds.
I am using many namespaces, if I set a namespace and query SELECT * I see
the data, but when I try to delete it from the datastore viewer I get a
SERVER ERROR.

If any gae team member see this, my app-id is wo-test.

Anyone know how to fix this?
Thanks

-- 
Guit: Elegant, beautiful, modular and *production ready* gwt applications.

http://code.google.com/p/guit/

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



Re: [appengine-java] Eclipse GAE with OSX Lion

2011-08-18 Thread Seth Hollyman
Is it possible you have either a very old version of eclipse or GPE?  The 
fact that you're missing an eclipse build identifier may indicate your 
eclipse environment has larger issues outside of GAE or Google Login 
functionality.

As a test, I installed GPE into an eclipse indigo installation on a lion 
machine.  Created a new project with both gae and gwt natures, and Run As - 
Web Application started up cleanly.

!SESSION 2011-08-17 09:45:51.437 
---
eclipse.buildId=I20110613-1736
java.version=1.6.0_26
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.java.product -keyring 
/Users/seth/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product 
org.eclipse.epp.package.java.product -keyring /Users/seth/.eclipse_keyring 
-showlocation

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



Re: [appengine-java] Eclipse GAE with OSX Lion

2011-08-18 Thread Nick Wood
I have a feeling it might have something to do with my machine, but haven't 
had a chance yet to test on other machines I have around my house.

I haven't been receiving any weird errors in the error log, only those 
strange NSLOCKERROR messages after the server tries to start up.

I've attempted running every version of Eclipse and GAE here on my machine, 
but with no luck.

When I get another chance, I'll give it another attempt, but on my Macbook 
Pro, as opposed to my iMac and see if it works there.  I get the feeling 
that for whatever reason there might be something corrupted with my build 
environment since upgrading to OSX Lion

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



Re: [appengine-java] Eclipse GAE with OSX Lion

2011-08-18 Thread Nick Wood
I also agree that it might be something larger than just something going on 
with GAE.

I'm going to give it a test on my laptop and see what happens.  I don't know 
what could've possibly become corrupted between the time creating and 
deploying my GAE Project, upgrading Lion, and then attempting to make 
changes to it afterwards.

I'm going to also try testing a separate profile here on my iMac and see if 
I'm able to deploy a sample GAE project locally which would help to somewhat 
isolate and let me know that there could potentially be something wrong with 
this profile I've been using for development purposes. 

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



Re: [appengine-java] DatastoretimeExceptions

2011-08-18 Thread Ikai Lan (Google)
Yes, master/slave is known to have issues. We're encouraging developers to
look at migrating to high replication datastore. Have you taken a look at
this yet?

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Thu, Aug 18, 2011 at 1:40 AM, Aswath Satrasala 
aswath.satras...@gmail.com wrote:

 It is master/slave.  Now, I am not seeing those exceptions.

 Thanks
 -Aswath


 On Wed, Aug 17, 2011 at 1:00 AM, Ikai Lan (Google) ika...@google.comwrote:

 Aswath, is your application on master/slave or high replication?

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Tue, Aug 9, 2011 at 3:59 AM, Aswath Satrasala 
 aswath.satras...@gmail.com wrote:

 Hello All,
 Recently for the past 2-3 days,  I see the logs with
 DatastoreTimeoutExceptions.

 Anyone experiencing the same...

 -Aswath
 www.AccountingGuru.in.

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


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


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


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



Re: [appengine-java] Re: java.net.SocketTimeoutException: Timeout while fetching

2011-08-18 Thread Ikai Lan (Google)
Oh, so you have two applications? What is application B doing that might
timeout? Does it timeout 100% of the time or just sometimes?

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Wed, Aug 17, 2011 at 9:32 AM, Luke travalle...@gmail.com wrote:

 yes. after enable threadsafetrue/threadsafe , still getting
 java.net.SocketTimeoutException: Timeout while fetching

 my applicationA is crawler with HTMLUnit, in appengine, it is uses to
 crawl applicationB inside appengine as well.  I only need to enable
 always on for applicationA only right?

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



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



Re: [appengine-java] Eclipse GAE with OSX Lion

2011-08-18 Thread Seth Hollyman
The other thing I noticed was you may be running a carbon-based (rather than 
cocoa-based) eclipse.  The NS* errors may be indicative of some issue 
calling out to differences in native libraries in Lion (most likely via 
SWT).

Can you identify which particular version of eclipse your installation is 
based on?  Might give folks a better chance of reproducing the issue.

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



[appengine-java] Re: ScriptEngine

2011-08-18 Thread Miguel
I solved using bsf-api-3.1.jar and now it works!

This is the maven complete definition:
groupIdorg.apache.bsf/groupId
artifactIdbsf-all/artifactId
version3.0-beta3/version

On Jun 20, 1:35 am, keyvez key...@gmail.com wrote:
 I also have to put a jsr223 implementation jar in the WEB-INF/lib folder for
 it to find ScriptEngineManager.

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



[appengine-java] Re: ScriptEngine

2011-08-18 Thread Miguel
I solved using bsf-all-3.0-beta3.jar and now it works!

This is the maven complete definition:
groupIdorg.apache.bsf/groupId
artifactIdbsf-all/artifactId
version3.0-beta3/version

On Jun 20, 1:35 am, keyvez key...@gmail.com wrote:
 I also have to put a jsr223 implementation jar in the WEB-INF/lib folder for
 it to find ScriptEngineManager.

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



[appengine-java] Receiving Server Errors

2011-08-18 Thread fishbone
I'm receiving Server Errors when trying to look view the datastore through 
GAE dashboard.  This seems to be happening for all my apps.  Below is an 
example URL that caused the error.

https://appengine.google.com/datastore/explorer?app_id=s~outdoorschronicleversion_id=1.352526798856258922

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



[appengine-java] Re: Receiving Server Errors

2011-08-18 Thread fishbone
There's no information about the error, it just says the following:

Error: Server Error The server encountered an error and could not complete 
your request.

If the problem persists, please 
reporthttp://code.google.com/appengine/community.htmlyour problem and mention 
this error message and the query that caused it.

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



[appengine-java] white labeling

2011-08-18 Thread Aswath Satrasala
Hi,
I have appengine application which is shown interest by few resellers. They
are taking about white labeling.
Can anyone provide details on how to do the white labeling for appengine
application.
What options are available?
One possibility is that each reseller be given a different app-id with
permissions.  In this case, I have to monitor/upgrade all the app-id's.

Any pointers on this subject?

Regards
-Aswath
www.AccountingGuru.in

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



Re: [google-appengine] A bug in custom domain / HR datastore app management.

2011-08-18 Thread Sergey Schetinin
While I was contacted by Greg off-list (thanks), the issue is still
there, after almost two months. It exhibits itself slightly
differently, but is still not fixed.

Now not a single appengine app can be removed from the Google Apps
account. Can please a Google employee reply and I'll provide exact
steps to reproduce.

On 1 July 2011 08:39, Sergey Schetinin mal...@gmail.com wrote:
 The problem is still there. Can I please get a reply from a Google employee?

 On 29 June 2011 09:30, Sergey Schetinin mal...@gmail.com wrote:
 TLDR: There's a bug in Google Apps / App Engine that make it impossible for
 me to manage an existing domain alias.
 I have an application that uses HR datastore, the app has an alias on a
 custom domain. The problem is, I can't manage it. When I log into Google
 Apps dashboard and navigate to Settings - Services, the app is listed on
 the left, but I get an error trying to access the management page for it:
 We are unable to process your request at this time. Please try again later.
 (Error #1000), but management pages for every other app with an alias on
 that domain work fine.
 If I start with the appengine dashboard and go Application Settings -
 Domain Setup - Add domain and enter the domain where it's aliased, I do get
 to the management page, but it lacks the existing alias, so I can't remove
 it. In the Apps dashboard, this app is now listed twice -- once with the s~
 prefix, and not working, and once without a prefix, but lacking the existing
 alias.
 I suppose the reason for this is that the app and the alias were created
 quite early after the HR datastore was made available, and the s~ hack was
 handled differently then and now.
 I suppose I need to provide Google with the App Id and the domain name, but
 please contact me off-list for those.
 Thank you.
 -Sergey

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/D_CllGMhIi8J.
 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.




 --
 http://self.maluke.com/




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



[google-appengine] Re: Datastore Viewer report permanent Server Error

2011-08-18 Thread Fabio Sgrò
It should be nomination-edocs.
Thanks for the help!

Fabio



On 17 Ago, 18:40, Ikai Lan (Google) ika...@google.com wrote:
 Can you guys give me your app IDs?

 I suspect there's a bad entity somewhere that is breaking this.

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai

 On Wed, Aug 17, 2011 at 8:43 AM, Fabio Sgrò fabio.s...@globalbase.itwrote:







  Someone has any suggestion?
  We are unable to see only the Datastore Viewer, all other functions
  are working correctly...

  Thanks

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

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



[google-appengine] Re: Task Queue on backend runs much slower than it's configured to

2011-08-18 Thread pdknsk
It seems like the enforced rate situation has improved.

2011-08-17 23:02:10.404 /mail/ 200 21ms 0cpu_ms 0kb instance=0
2011-08-17 23:02:10.270 /mail/ 200 221ms 0cpu_ms 0kb instance=0
2011-08-17 23:02:09.739 /mail/ 200 24ms 0cpu_ms 0kb instance=0
2011-08-17 23:02:09.407 /mail/ 200 26ms 0cpu_ms 0kb instance=0
2011-08-17 23:02:09.141 /mail/ 200 439ms 0cpu_ms 0kb instance=0
2011-08-17 23:02:09.117 /_ah/start 404 303ms 93cpu_ms 0kb instance=0

2011-08-17 22:02:27.251 /mail/ 200 26ms 0cpu_ms 0kb instance=0
2011-08-17 22:02:26.919 /mail/ 200 28ms 0cpu_ms 0kb instance=0
2011-08-17 22:02:26.638 /mail/ 200 80ms 0cpu_ms 0kb instance=0
2011-08-17 22:02:26.258 /mail/ 200 26ms 0cpu_ms 0kb instance=0
2011-08-17 22:02:26.108 /mail/ 200 227ms 23cpu_ms 0kb instance=0
2011-08-17 22:02:26.081 /_ah/start 404 91ms 46cpu_ms 0kb instance=0

Could it be that factors outside of the app, like high server load,
can influence task rate on backends?

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



[google-appengine] Re: Datastore Viewer report permanent Server Error

2011-08-18 Thread pdknsk
I've had this as well some days ago. It fixed itself the same day.

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



[google-appengine] Re: Datastore Viewer report permanent Server Error

2011-08-18 Thread Fabio Sgrò
The problem is present since ten days and it has never fixed itself...

On 18 Ago, 10:47, pdknsk pdk...@googlemail.com wrote:
 I've had this as well some days ago. It fixed itself the same day.

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



[google-appengine] Re: Blobstore list index out of range

2011-08-18 Thread misteff25
Sorry for the delay.  Yes, that was the problem.  I didn't realize
that I had to generate a new URL every time.  I have now added
Javascript code to make an xmlhttpRequest to get an upload URL before
the the phone app tries to upload the file.  Thanks!

On Aug 10, 12:28 am, Robert Kluin robert.kl...@gmail.com wrote:
 Hi,
   Are you correctly generating an upload url?
    http://code.google.com/appengine/docs/python/blobstore/overview.html#...

 Robert







 On Mon, Aug 8, 2011 at 16:37,misteff25mistef...@gmail.com wrote:
  I am trying updload a picture from a Phonegap application to my Python
  App Engine project.  The phone app trys to upload the file but App
  engine returns a list index out of range error.  Most of this code
  is very similar to some of the sample projects.

  I have the following code on the App Engine side to handle the files,

         class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
                 def post(self):
                 upload_files = self.get_uploads('file')  # 'file' is file 
  upload
  field in the form
                 blob_info = upload_files[0]
                 self.redirect('/serve/%s' % blob_info.key())

  And the following code on the PhoneGap side,

         function uploadImage() {
             var smallImage = document.getElementById('cameraImage');
             if (smallImage.src  smallImage.src !== ) {
                 var f = new FileTransfer();
                 f.upload(smallImage.src, http://testtest.appspot.com/
  upload,
                     // success callback
                     function(result) {

  document.getElementById('uploadProgress').innerHTML =
                             result.bytesSent + ' bytes sent';
                         alert(result.responseCode + :  +
  result.response);
                     },
                     // error callback
                     function(error) {
                         alert('error uploading file: ' + error.code);
                     },
                     // options
                     { fileName: 'myImage.jpg',
                       params: { 'username':'jtyberg' }
                     });
             }
         }

  The errir us as follows,

  POST /upload HTTP/1.1 500 487 - BlackBerry9550/5.0.0.469 Profile/
  MIDP-2.1 Configuration/CLDC-1.1 VendorID/-1 testtest.appspot.com
  ms=416 cpu_ms=93 api_cpu_ms=0 cpm_usd=0.014221 loading_request=1
  instance=00c61b117ca6c4ea405471eea592a8f79ac6
         E 2011-08-06 11:49:17.309
         list index out of range
         Traceback (most recent call last):
                 File 
  /base/python_runtime/python_lib/versions/1/google/appengine/
  ext/webapp/__init__.py, line 702, in __call__
                 handler.post(*groups)
                 File /base/data/home/apps/s~testtest/1.352363227571120815/
  main.py, line 62, in post
                 blob_info = upload_files[0]
         IndexError: list index out of range

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

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



Re: [google-appengine] A bug in custom domain / HR datastore app management.

2011-08-18 Thread Robert Kluin
File a production issue.





On Thu, Aug 18, 2011 at 03:03, Sergey Schetinin mal...@gmail.com wrote:
 While I was contacted by Greg off-list (thanks), the issue is still
 there, after almost two months. It exhibits itself slightly
 differently, but is still not fixed.

 Now not a single appengine app can be removed from the Google Apps
 account. Can please a Google employee reply and I'll provide exact
 steps to reproduce.

 On 1 July 2011 08:39, Sergey Schetinin mal...@gmail.com wrote:
 The problem is still there. Can I please get a reply from a Google employee?

 On 29 June 2011 09:30, Sergey Schetinin mal...@gmail.com wrote:
 TLDR: There's a bug in Google Apps / App Engine that make it impossible for
 me to manage an existing domain alias.
 I have an application that uses HR datastore, the app has an alias on a
 custom domain. The problem is, I can't manage it. When I log into Google
 Apps dashboard and navigate to Settings - Services, the app is listed on
 the left, but I get an error trying to access the management page for it:
 We are unable to process your request at this time. Please try again later.
 (Error #1000), but management pages for every other app with an alias on
 that domain work fine.
 If I start with the appengine dashboard and go Application Settings -
 Domain Setup - Add domain and enter the domain where it's aliased, I do get
 to the management page, but it lacks the existing alias, so I can't remove
 it. In the Apps dashboard, this app is now listed twice -- once with the s~
 prefix, and not working, and once without a prefix, but lacking the existing
 alias.
 I suppose the reason for this is that the app and the alias were created
 quite early after the HR datastore was made available, and the s~ hack was
 handled differently then and now.
 I suppose I need to provide Google with the App Id and the domain name, but
 please contact me off-list for those.
 Thank you.
 -Sergey

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/D_CllGMhIi8J.
 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.




 --
 http://self.maluke.com/




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



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



Re: [google-appengine] A bug in custom domain / HR datastore app management.

2011-08-18 Thread Sergey Schetinin
The issue I talked about with Greg was bounced to the Apps team
anyway, as it's not appengine's fault.

Trying to file production issue resulted in 400. That’s an error.
Your client has issued a malformed or illegal request. That’s all we
know. which is not nice, let's put it that way.

In the end persistence paid off and the production issue was filed:
http://code.google.com/p/googleappengine/issues/detail?id=5617

All of this is quite sad, really. I'm not even asking for help, I'm
reporting what's broken with Google's service, why do I have to work
so hard to get it noticed?

On 18 August 2011 17:35, Robert Kluin robert.kl...@gmail.com wrote:
 File a production issue.





 On Thu, Aug 18, 2011 at 03:03, Sergey Schetinin mal...@gmail.com wrote:
 While I was contacted by Greg off-list (thanks), the issue is still
 there, after almost two months. It exhibits itself slightly
 differently, but is still not fixed.

 Now not a single appengine app can be removed from the Google Apps
 account. Can please a Google employee reply and I'll provide exact
 steps to reproduce.

 On 1 July 2011 08:39, Sergey Schetinin mal...@gmail.com wrote:
 The problem is still there. Can I please get a reply from a Google employee?

 On 29 June 2011 09:30, Sergey Schetinin mal...@gmail.com wrote:
 TLDR: There's a bug in Google Apps / App Engine that make it impossible for
 me to manage an existing domain alias.
 I have an application that uses HR datastore, the app has an alias on a
 custom domain. The problem is, I can't manage it. When I log into Google
 Apps dashboard and navigate to Settings - Services, the app is listed on
 the left, but I get an error trying to access the management page for it:
 We are unable to process your request at this time. Please try again 
 later.
 (Error #1000), but management pages for every other app with an alias on
 that domain work fine.
 If I start with the appengine dashboard and go Application Settings -
 Domain Setup - Add domain and enter the domain where it's aliased, I do 
 get
 to the management page, but it lacks the existing alias, so I can't remove
 it. In the Apps dashboard, this app is now listed twice -- once with the s~
 prefix, and not working, and once without a prefix, but lacking the 
 existing
 alias.
 I suppose the reason for this is that the app and the alias were created
 quite early after the HR datastore was made available, and the s~ hack was
 handled differently then and now.
 I suppose I need to provide Google with the App Id and the domain name, but
 please contact me off-list for those.
 Thank you.
 -Sergey

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/D_CllGMhIi8J.
 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.




 --
 http://self.maluke.com/




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



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





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



[google-appengine] Firefox 6 and Appspot Cookies

2011-08-18 Thread Joshua Smith
Does anyone here know what changed in how Firefox handles cookies from the 
appspot.com domain?

I can't find anything in the release notes, although I'm not positive the 
change happened in version 6 (it might have been in an earlier version that I 
skipped).

It appears that I cannot set a cookie with domain=.appspot.com

When I do that, it doesn't show up in the list of cookies.  I can set a cookie 
in a sub-domain of .appspot.com (domain=foo.appspot.com) but not on appspot.com 
itself.

I understand why they would make it work this way, since appspot.com is 
practically a TLD.  But it was handy that I could do it, because it allowed me 
to do some testing in development that I could not otherwise do.  (I can give 
details if anyone cares.)

What I was hoping is to find a way to tell firefox not to treat .appspot.com 
specially.

Anyone know if that's possible?

-Joshua

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



Re: [google-appengine] Firefox 6 and Appspot Cookies

2011-08-18 Thread Jon McAlister
It's because appspot.com was added to the public suffix list of
domains that modern browsers should not allow cookies to be set for:
http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1

On Thu, Aug 18, 2011 at 8:53 AM, Joshua Smith joshuaesm...@charter.net wrote:
 Does anyone here know what changed in how Firefox handles cookies from the 
 appspot.com domain?

 I can't find anything in the release notes, although I'm not positive the 
 change happened in version 6 (it might have been in an earlier version that I 
 skipped).

 It appears that I cannot set a cookie with domain=.appspot.com

 When I do that, it doesn't show up in the list of cookies.  I can set a 
 cookie in a sub-domain of .appspot.com (domain=foo.appspot.com) but not on 
 appspot.com itself.

 I understand why they would make it work this way, since appspot.com is 
 practically a TLD.  But it was handy that I could do it, because it allowed 
 me to do some testing in development that I could not otherwise do.  (I can 
 give details if anyone cares.)

 What I was hoping is to find a way to tell firefox not to treat .appspot.com 
 specially.

 Anyone know if that's possible?

 -Joshua

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



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



Re: [google-appengine] Firefox 6 and Appspot Cookies

2011-08-18 Thread Joshua Smith
Thanks for the reference.  I'll go over to stackoverflow and see whether anyone 
there knows of a work-around to whitelist an effective TLD...

On Aug 18, 2011, at 11:57 AM, Jon McAlister wrote:

 It's because appspot.com was added to the public suffix list of
 domains that modern browsers should not allow cookies to be set for:
 http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1
 
 On Thu, Aug 18, 2011 at 8:53 AM, Joshua Smith joshuaesm...@charter.net 
 wrote:
 Does anyone here know what changed in how Firefox handles cookies from the 
 appspot.com domain?
 
 I can't find anything in the release notes, although I'm not positive the 
 change happened in version 6 (it might have been in an earlier version that 
 I skipped).
 
 It appears that I cannot set a cookie with domain=.appspot.com
 
 When I do that, it doesn't show up in the list of cookies.  I can set a 
 cookie in a sub-domain of .appspot.com (domain=foo.appspot.com) but not on 
 appspot.com itself.
 
 I understand why they would make it work this way, since appspot.com is 
 practically a TLD.  But it was handy that I could do it, because it allowed 
 me to do some testing in development that I could not otherwise do.  (I can 
 give details if anyone cares.)
 
 What I was hoping is to find a way to tell firefox not to treat .appspot.com 
 specially.
 
 Anyone know if that's possible?
 
 -Joshua
 
 --
 You received this message because you are subscribed to the Google Groups 
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to 
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/google-appengine?hl=en.
 
 
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to 
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/google-appengine?hl=en.
 

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



[google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Matt
Thanks for the heads up on logging.

I tried the logging but don't know if I did it right. For the first
logging part in the code, I put:
logging.info('Wrote answer, key is: %s', str(answer.key()))
and it gave me this in the browser:
AttributeError: 'Key' object has no attribute 'key'

I tried replacing key with ans but that gave the same error type.
When I just put:
logging.info('Wrote answer, key is: %s', str(answer))
the log file comes with this:
Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA

Am I doing something wrong or does this info mean anything? I honestly
don't know what to make of it or what to change to get the random
number in/out.. I feel like I am following what the docs say though.

On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote:
 Hi,
   You should check out the Python logging package, it is super handy.
 Add some logging calls to your code so you can see what is happening.
 For example:

   import logging

   def post(self):
     stguess = self.request.get('guess')
     if stguess == 'new':
       answer = Answer(ans = (random.randint(1, 100))).put()
       logging.info('Wrote answer, key is: %s', str(answer.key()))
       number = Answer.all().get()
       if number is not None:
         logging.info('Got answer, value is: %d', number.ans)
         answer = number.ans
       else:
         logging.info('Oh No! Got no answer!')
         answer = None
     else:
       logging.info('Doing nothing.')

 Robert







 On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote:
  I am trying to pull an integer from the datastore but I keep getting
  None back. I store the integers here-

  class Answer(db.Model):
     ans = db.IntegerProperty()

  As a test I did this -

  def post(self):

         stguess = self.request.get('guess')
         if stguess == 'new':
             answer = Answer(ans = (random.randint(1, 100))).put()
             number = Answer.all().get()
             if number is not None:
                 answer = number.ans
             else:
                 answer = None
             msg = str(answer)

  So what that does is take user input from the user and if they entered
  'new' follow the if path. ans equals a random integer between 1 and
  100. Put it in Answer. Then immediately after, pull the first integer
  from Answer. If it is not None assign the variable answer to the
  result, else assign it to None. msg is displayed on screen. Instead of
  a random number which I am expecting to be displayed, None is
  displayed instead.

  I also tried using count to see how many items were actually in the
  database and the count was more than 0.

  Is there anything wrong with how I am putting or retrieving from the
  datastore? How can I change this so I get the random number into the
  answer variable, not None?

  Thanks for any help

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

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



Re: [google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Robert Kluin
Hey Matt,
  Yeah there was a typo in my same code, should not have been:
logging.info('Wrote answer, key is: %s', str(answer.key()))
  but rather:
logging.info('Wrote answer, key is: %s', str(answer))

  What that is telling you is that an answer entity was successfully
written.  So, now you know that the entity is getting written, what is
the next logging line?  Are you getting an entity back from the
datastore?




Robert






On Thu, Aug 18, 2011 at 12:33, Matt mpiechow...@gmail.com wrote:
 Thanks for the heads up on logging.

 I tried the logging but don't know if I did it right. For the first
 logging part in the code, I put:
 logging.info('Wrote answer, key is: %s', str(answer.key()))
 and it gave me this in the browser:
 AttributeError: 'Key' object has no attribute 'key'

 I tried replacing key with ans but that gave the same error type.
 When I just put:
 logging.info('Wrote answer, key is: %s', str(answer))
 the log file comes with this:
 Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA

 Am I doing something wrong or does this info mean anything? I honestly
 don't know what to make of it or what to change to get the random
 number in/out.. I feel like I am following what the docs say though.

 On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote:
 Hi,
   You should check out the Python logging package, it is super handy.
 Add some logging calls to your code so you can see what is happening.
 For example:

   import logging

   def post(self):
     stguess = self.request.get('guess')
     if stguess == 'new':
       answer = Answer(ans = (random.randint(1, 100))).put()
       logging.info('Wrote answer, key is: %s', str(answer.key()))
       number = Answer.all().get()
       if number is not None:
         logging.info('Got answer, value is: %d', number.ans)
         answer = number.ans
       else:
         logging.info('Oh No! Got no answer!')
         answer = None
     else:
       logging.info('Doing nothing.')

 Robert







 On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote:
  I am trying to pull an integer from the datastore but I keep getting
  None back. I store the integers here-

  class Answer(db.Model):
     ans = db.IntegerProperty()

  As a test I did this -

  def post(self):

         stguess = self.request.get('guess')
         if stguess == 'new':
             answer = Answer(ans = (random.randint(1, 100))).put()
             number = Answer.all().get()
             if number is not None:
                 answer = number.ans
             else:
                 answer = None
             msg = str(answer)

  So what that does is take user input from the user and if they entered
  'new' follow the if path. ans equals a random integer between 1 and
  100. Put it in Answer. Then immediately after, pull the first integer
  from Answer. If it is not None assign the variable answer to the
  result, else assign it to None. msg is displayed on screen. Instead of
  a random number which I am expecting to be displayed, None is
  displayed instead.

  I also tried using count to see how many items were actually in the
  database and the count was more than 0.

  Is there anything wrong with how I am putting or retrieving from the
  datastore? How can I change this so I get the random number into the
  answer variable, not None?

  Thanks for any help

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

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



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



[google-appengine] Bulkloader Problem

2011-08-18 Thread Richard Arrano
Hello,
I'm attempting to upload some data in CSV format to the App Engine
servers. I filled out the first row specifying the property names,
including key. However, no matter what I do, including
import_transform: transform.create_foreign_key('UserAccount',
key_is_id=False), but it always has the same problem where the key id
is not the name I specify in the CSV data, rather an automatically
generated one. Oddly, they always seem to be ids around 38000 even
after several deletes and reuploads. Nonetheless, they are never the
names I give them. Any ideas on how to fix this?

Thanks,
Richard

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



[google-appengine] Channel API Sockets - Uni-Directional or Bi-Directional?

2011-08-18 Thread eeejay
Question 1:  Is this the correct forum to ask question about Channel API 
(which I am intending to use in conjunction with Google App Engine).

Question 2: In the documentation for the Channel API it says:  The 
JavaScript client opens a socket using the token provided by the server. It 
uses the socket to listen for updates on the channel.  However 
communication from the client to the server seems to be in the form of a 
POST.

Are Channel API sockets truly uni-directional server-to-client?  Or is there 
a way for the client to communicate back via web socket?


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



Re: [google-appengine] 1.5.3 is out!

2011-08-18 Thread Srirangan
Upgraded. Thanks for all the cool work!

- Sri

On Wed, Aug 17, 2011 at 11:41 PM, Deepak Singh deepaksingh...@gmail.comwrote:

 Hi Johan,

 Thanks. Nice release.

 Does this version support the following things:

 1) JIBX databinding
 2) JAXWS web service client / server
 3) EHCache
 4) Spring core
 5) Java mail
 6) XMLBEANS

 Thanks
 Deepak


 On Wed, Aug 17, 2011 at 10:57 PM, Johan Euphrosine pro...@google.comwrote:

 We just announced App Engine 1.5.3 SDK release on the official blog:

 http://googleappengine.blogspot.com/2011/08/app-engine-153-sdk-released.html

 You can download it from here:
 http://code.google.com/p/googleappengine/downloads/list

 See the Release Notes below, Happy Hacking!

 App Engine SDK - Release Notes

 Version 1.5.3 - Aug 17, 2011

 Python
 ==

 We've removed the limit on the size of blob uploads using the Blobstore
 API.
 You can now send emails with any attachment extension that is not
 included on the email attachment extension blacklist.
 Added a db.get_indexes() method to retrieve an application's indexes
 and their corresponding states.
 The dev_appserver has been updated to understand the reduced index
 requirements of the 1.5.2 datastore query planner changes.
 The Datastore Admin functionality can now be enabled directly in the
 Admin Console.
 Added cas(), the compare-and-set function, to the Memcache API.
 http://code.google.com/p/googleappengine/issues/detail?id=2139
 Added a set_default_fetch_deadline to the URLFetch API which sets the
 URLFetch deadline globally.
 Added app_identity api with methods to get the application id, default
 hostname, and service accounts for asserting identity on outbound HTTP
 calls.
 http://code.google.com/appengine/docs/python/appidentity/overview.html
 Added an improved HRD migration tool that requires a read-only period
 relative to your datastore write rate (as opposed to your datastore
 size, which is how the current version behaves). The tool is not yet
 generally available. If you are interested in being an early adopter
 please fill out this form:
 http://goo.gl/3jrXu
 Fixed an issue in the Channel API where jsapi was not served with the
 correct mime type.
 Fixed an issue that broke use_library when the Python SDK was located
 in a directory that contained the word 'django'.
 Fixed an issue where blobs could not be uploaded using HTTPS.
 Fixed an issue where GQL didn't allow querying for valid kind names
 containing '.', '-', and ':' by supporting quoted identifiers.
 http://code.google.com/p/googleappengine/issues/detail?id=2584

 Java
 

 We've removed the limit on the size of blob uploads using the Blobstore
 API.
 You can now send emails with any attachment extension that is not
 included on the email attachment extension blacklist.
 Added a getIndexes() method to the DatastoreService? to retrieve an
 application's indexes and their corresponding states.
 The development server has been updated to understand the reduced
 index requirements of the 1.5.2 datastore query planner changes.
 The Datastore Admin functionality can now be enabled directly in the
 Admin Console.
 You can now use Remote API to access the services of one App Engine
 application from a different App Engine application.
 The Java Testing APIs now default to UTC if no timezone is specified.
 AppCfg? now supports download_app, which will download all files that
 were uploaded from your war directory.
 AppCfg? now supports the -V (version) and -A (application) flags.
 Added app_identity api with methods to work with service accounts for
 asserting identity on outbound HTTP calls.
 http://code.google.com/appengine/docs/java/appidentity/overview.html
 Added an improved HRD migration tool that requires a read-only period
 relative to your datastore write rate (as opposed to your datastore
 size, which is how the current version behaves). The tool is not yet
 generally available. If you are interested in being an early adopter
 please fill out this form:
 http://goo.gl/3jrXu
 Fixed an issue in the Channel API where jsapi was not served with the
 correct mime type.
 Fixed an issue where blobs could not be uploaded using HTTPS.
 Fixed an issue where GQL didn't allow querying for valid kind names
 containing '.', '-', and ':' by supporting quoted identifiers.
 http://code.google.com/p/googleappengine/issues/detail?id=2584

 Go
 ===

 appengine:
  - Add app identity functions: AppID, VersionID, DefaultVersionHostname.
 appengine/datastore:
  - Fix construction of incomplete keys with parents.
 appengine/delay:
  - Check argument types at Call time.
  - Retry delayed functions if they return a non-nil os.Error.
 Other:
  - Report package dependency cycles in go-app-builder.
 --
 Johan Euphrosine (proppy)
 Developer Programs Engineer
 Google Developer Relations

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

[google-appengine] Using GAE as a pipe

2011-08-18 Thread Mikael Grev
Hello,

Is it possible in a fairly easy way to use GAE as a pipe, basically
transporting custom binary data between two computers via a Google
server?

And if so (which I really expect to be possible) how will it perform?
I mean approximately which throughput will I get. And is there a way,
hopefully automatically, to make it use the closest server to pipe
through?

I ask because I was thinking about using GAE as a proxy server for VNC
when there's two computers between firewalls that wants to talk to
each other.

Cheers,
Mikael

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



[google-appengine] Remote API + File API

2011-08-18 Thread André Salvati
Hi,

Maybe I've misunderstood docs, but I thought it was possible an
external application to integrate with App Engine by creating a file
in Blobstore. Am I doing something wrong?? Any way to accomplish
this??

http://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstore

Thanks.

Code:

public class RemoteAPI {

public static void main(String[] args) throws IOException {

String username = x...@gmail.com;
String password = x;


RemoteApiOptions options = new RemoteApiOptions()
.server(primepartes.appspot.com, 443)
.credentials(username, password);
RemoteApiInstaller installer = new RemoteApiInstaller();
installer.install(options);

FileService fileService = FileServiceFactory.getFileService();
BlobstoreService blobstoreService =
BlobstoreServiceFactory.getBlobstoreService();

AppEngineFile file = fileService.createNewBlobFile(text/
plain);

FileWriteChannel writeChannel =
fileService.openWriteChannel(file, true);

PrintWriter out = new
PrintWriter(Channels.newWriter(writeChannel, UTF8));
out.println(The woods are lovely dark and deep.);
out.println(But I have promises to keep.);

out.close();
writeChannel.closeFinally(); // This line throwns the excepion
bellow

..

java.lang.IllegalStateException: The current request does not hold the
exclusive lock.
at
com.google.appengine.api.files.FileServiceImpl.close(FileServiceImpl.java:
315)
at
com.google.appengine.api.files.FileWriteChannelImpl.closeFinally(FileWriteChannelImpl.java:
78)
at br.com.teste.RemoteAPI.main(RemoteAPI.java:82)

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



[google-appengine] Datastore admin still broken with too many redirects

2011-08-18 Thread Jan Zawadzki / Hapara
Any ETA on getting this fixed?

Breaks on every one of our apps redirecting through
https://appengine.google.com/_ah/conflogin.

Does not seem to be browser related (Chrome, FF, Safari)

It's a bit of a pain managing mapreduce manually, would love to have
access to this functionality!

Jan

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



[google-appengine] SDK 1.5.3 - deployment fails with the message Found interface com.google.appengine.tools.admin.Application, but class was expected.

2011-08-18 Thread MindRaider
I have a problem with the deployment of my application with SDK 1.5.3.
It compiles without any problems, but it fails just before the
deployment with message:

  Found interface com.google.appengine.tools.admin.Application, but
class was expected

OS: Win7 64b; Eclipse Helios; GAE SDK 1.5.3; application 
http://web.mindforger.com

After downgrade everything works perfectly.

Any suggestions?

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



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Fred Sauer


On Wednesday, August 17, 2011 5:24:48 AM UTC-7, Joshua Smith wrote:

 I certainly hope they don't deprecate M/S, unless/until the following 
 issues are addressed:

 1) Ability to migrate without changing app ID.  This is fundamental, and 
 we've never seen any *reason* why this is impossible.  I suspect that this 
 is very hard, but not impossible.

We are able to create an alias for migrated apps, so that traffic sent to 
oldappid.appspot.com will be transparently routed to your new application. 
So while you won't be able to keep the same app id, you can keep using the 
same appspot.com domain, which is probably what you care about most.

 

  Changing the app ID causes problems because: 

- External references to entity keys (not IDs) are pervasive in many apps 
 (such as google search links to deep pages, user bookmarks, or RSS feed 
 URLs) because the documentation encourages the use of these keys in URLs

This remains an issues, but can be easily addressed in a couple of lines of 
application code in the appropriate request handlers. The string encoded 
keys that are referenced externally have encoded within them the old app id. 
If you take the decoded key and extract the parent, kind and id/name to 
create a new key (again, this is 1-2 lines of code), then your app can use 
that new key to locate the migrated entity within the new datastore.

As far as reference (list) properties: those reference keys are 
automatically updated as part of the the datastore migration and should not 
cause you any issues.


 

 - Many users have keys wrapped up in properties that the migration tool 
 cannot recognize [this doesn't impact my app, but it's a common issue on 
 this list]

This does affect some apps. As I mentioned above, a couple of lines of code 
in the right place should take care of this.

 

 As an alternative, the infrastructure could be fixed to recognize the case 
 of using the old app ID instead of the new app ID in a key, and quietly make 
 the substitution.

That's a neat idea.

 

 2) Migration of large data sets takes an extremely long time.  Given that 
 we regularly see M/S downtimes in the couple of hours range, a couple of 
 hours is probably a reasonable amount of time to migrate.  A couple of days 
 is much too much.  [Note that I have not personally gotten far enough into a 
 migration to see this duration; I'm basing this on many user complaints I've 
 read on this list.]

Applications with small amounts of data can easily self migrate in a short 
period of time using datastore_admin. Applications with more data will 
benefit from the new migration tool Ikai mentioned. We created the tool 
specifically to simplify and speed up the migration for larger apps, and to 
reduce the read-only period required to make the final switch.

 

 3) The problem of transactional consistency needs to be addressed.  It is 
 not acceptable for transactions to end in a maybe this worked, maybe it 
 didn't state.  They should either succeed or fail.  (Although the docs not 
 not say whether this problem is exclusive to HR, it seems to be, and 
 certainly it matters much more in HR since every put is implicitly 
 transactional.)

There are subtle differences between the consistency guarantees offered by 
M/S and HRD. In some cases, apps need to make a few tweaks in order to work 
correctly in the new environment. The benefit is much more 
predictable/consistency latency and increased reliability. A good article 
which reviews the consistency guarantees can be found here:
  http://code.google.com/appengine/articles/transaction_isolation.html


4) As Ikai said, there are some unresolved issues in HR that need to be 
 fixed, such as the current mystery in the 'Serious Problem: Rollback of data 
 on HRD' thread (which is eerily familiar: I think somebody else reported a 
 similar issue a while back).


I haven't looked at that thread yet, but I suspect that reviewing the above 
article 
(http://code.google.com/appengine/articles/transaction_isolation.html) would 
probably be beneficial in the context of that thread.


Even if all these are addressed, it would certainly be nice if M/S remained 
 an option.  It makes different trade-offs than HR, which may be better 
 trade-offs for some applications.  I will be very disappointed if they 
 decide to make HR a requirement for multi-threading Python, since the two 
 are completely orthogonal choices.  From my reading, M/S seems to have 
 better throughput than HR, at the expense of more frequent downtime, and 
 spurious datastore timeouts.  I'd like to have that option in a 
 multi-threaded app.


Thanks for the input. I hope the above response addresses some of your 
concerns.

 

 -Joshua



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

[google-appengine] static-error-handlers

2011-08-18 Thread Berfunkle
I defined static-error-handlers (add element to appengine-web.xml file
and added static html page) and it seemed to work fine but now I want
to remove them. I tried removing it from the appengine-web.xml file
and also removed the actual static html file but I am still getting
the static page instead of the error page generated by App Engine. I
deleted other versions of application but that did not help.

Any thoughts would be appreciated.

Thanks.

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



[google-appengine] Enabling billing on appengine

2011-08-18 Thread fedex1
Hi

I tried to enable billing on appspot id: race-timing

And I see this error:  And now appengine shows that billing will be enabled 
and billing changes cannot be made for 30 minutes, even though I don't see a 
google checkout order?  Can someone help or let me know that it will clear 
itself.  Thanks, Ralph


  Browse stores »
Error
Purchase HistoryError
Help
  
Oops!
An error occurred while processing your request. 

To fix this issue: 
Try our quick troubleshooting tips -- users report these resolve most 
issues.

Back to My Account


Time when the error happened: 2011-08-18T18:20:25 (UTC) (4aacbb1d8)




https://checkout.google.com/view/buy?o=shoppingcartshoppingcart=974369501494940pli=1

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



Re: [google-appengine] Using GAE as a pipe

2011-08-18 Thread Barry Hunter
No GAE wont really do this.

GAE basically speaks HTTP - and over a CGI model. I.e. requests/responses.

So a http requests comes in, a GAE script processes, it sends back
some data (usually HTML but doesnt have to be) and then when the front
end server gets the responce it forwards it back to the user.

Probably a cheap VPS hosting somewhere will be best.



On Thu, Aug 18, 2011 at 2:56 PM, Mikael Grev mikael.g...@gmail.com wrote:
 Hello,

 Is it possible in a fairly easy way to use GAE as a pipe, basically
 transporting custom binary data between two computers via a Google
 server?

 And if so (which I really expect to be possible) how will it perform?
 I mean approximately which throughput will I get. And is there a way,
 hopefully automatically, to make it use the closest server to pipe
 through?

 I ask because I was thinking about using GAE as a proxy server for VNC
 when there's two computers between firewalls that wants to talk to
 each other.

 Cheers,
 Mikael

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



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



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Joshua Smith

On Aug 18, 2011, at 2:10 PM, Fred Sauer wrote:
 On Wednesday, August 17, 2011 5:24:48 AM UTC-7, Joshua Smith wrote:
 I certainly hope they don't deprecate M/S, unless/until the following issues 
 are addressed:
 1) Ability to migrate without changing app ID.  This is fundamental, and 
 we've never seen any *reason* why this is impossible.  I suspect that this is 
 very hard, but not impossible.
 
 We are able to create an alias for migrated apps, so that traffic sent to 
 oldappid.appspot.com will be transparently routed to your new application. So 
 while you won't be able to keep the same app id, you can keep using the same 
 appspot.com domain, which is probably what you care about most.

Perhaps that what some people care about most, but not me.  What I care about 
is what I spelled out in the next two bullet points :)
 
  Changing the app ID causes problems because: 
 
 - External references to entity keys (not IDs) are pervasive in many apps 
 (such as google search links to deep pages, user bookmarks, or RSS feed URLs) 
 because the documentation encourages the use of these keys in URLs
 
 This remains an issues, but can be easily addressed in a couple of lines of 
 application code in the appropriate request handlers. The string encoded keys 
 that are referenced externally have encoded within them the old app id. If 
 you take the decoded key and extract the parent, kind and id/name to create a 
 new key (again, this is 1-2 lines of code), then your app can use that new 
 key to locate the migrated entity within the new datastore.
 
 As far as reference (list) properties: those reference keys are automatically 
 updated as part of the the datastore migration and should not cause you any 
 issues.
 
 - Many users have keys wrapped up in properties that the migration tool 
 cannot recognize [this doesn't impact my app, but it's a common issue on this 
 list]
 
 This does affect some apps. As I mentioned above, a couple of lines of code 
 in the right place should take care of this.

1-2 lines of code, in dozens of handlers is the crux of the problem.  Dealing 
with this at the application layer is problematic because there are so many 
code paths that need to be examined.

 As an alternative, the infrastructure could be fixed to recognize the case of 
 using the old app ID instead of the new app ID in a key, and quietly make the 
 substitution.
 
 That's a neat idea.

Neat enough that you guys might implement it?

I've suggested this before, but I'm glad that I've got your attention this time!

This would be a pretty huge step toward making the migration practical for me.

 
 2) Migration of large data sets takes an extremely long time.  Given that we 
 regularly see M/S downtimes in the couple of hours range, a couple of hours 
 is probably a reasonable amount of time to migrate.  A couple of days is much 
 too much.  [Note that I have not personally gotten far enough into a 
 migration to see this duration; I'm basing this on many user complaints I've 
 read on this list.]
 
 Applications with small amounts of data can easily self migrate in a short 
 period of time using datastore_admin. Applications with more data will 
 benefit from the new migration tool Ikai mentioned. We created the tool 
 specifically to simplify and speed up the migration for larger apps, and to 
 reduce the read-only period required to make the final switch.

Yes, I saw that in his note, and if it works as advertised, I suspect it will 
resolve this issue.

 
 3) The problem of transactional consistency needs to be addressed.  It is not 
 acceptable for transactions to end in a maybe this worked, maybe it didn't 
 state.  They should either succeed or fail.  (Although the docs not not say 
 whether this problem is exclusive to HR, it seems to be, and certainly it 
 matters much more in HR since every put is implicitly transactional.)
 
 There are subtle differences between the consistency guarantees offered by 
 M/S and HRD. In some cases, apps need to make a few tweaks in order to work 
 correctly in the new environment. The benefit is much more 
 predictable/consistency latency and increased reliability. A good article 
 which reviews the consistency guarantees can be found here:
   http://code.google.com/appengine/articles/transaction_isolation.html
 

I'm not talking about consistency guarantees.  I get that things change under 
HR, and it's pretty easy to understand what the implications of that are.

What I'm talking about is the problem where you have to write idempotent 
transactions because you can never tell whether a transaction that threw 
certain exceptions succeeded or failed.  That's really messed up, and you 
really need to fix that.

But, to be fair, I'm not sure this problem will cause me actual problems if I 
switch to HR.  It just makes me really, really uncomfortable.

 
 4) As Ikai said, there are some unresolved issues in HR that need to be 
 fixed, such as the current mystery in the 'Serious 

Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread thstart
Let me share my experience. 

I was developing an AppEngine app for a year.
It was very fast (extremely fast), with latency  1 sec.
When High Replication data-store was released I decided to give it
a try and switched to it. Unfortunately the latency got 1 Sec 
sometimes  2 Sec. The app worked a wile that way and because 
still in beta I could experiment. So I decided to go to Billed option
to see if the reliability and more importantly the latency could improve.
Unfortunately this do not affected latency. Then I decided to go back to 
Master/Slave - our customers mentioned immediately our app is 2 times 
faster - again  1 Sec latency. Then I needed to add https which is 
very important for our app. This do not added significant latency so our
customers are very happy with this solution. Soon we will go public.

So the latency issue is a show stopper for high replication version 
and we would want to stay with master slave. 

Anybody with similar experience?

Thank you,




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



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Robert Kluin
When switching to the HR datastore, you might need to make some
adjustments.  For instance, fetching a large list of keys from
multiple entity groups may be slower due to the transaction overhead.
So you might need to evaluate your use of entity groups.  It may also
be that you've got a design that is making many datastore RPCs in
serial, that will probably be more of an issue when on HR since there
is a slightly higher average latency.


Robert





On Thu, Aug 18, 2011 at 15:11, thstart thst...@gmail.com wrote:
 Let me share my experience.
 I was developing an AppEngine app for a year.
 It was very fast (extremely fast), with latency  1 sec.
 When High Replication data-store was released I decided to give it
 a try and switched to it. Unfortunately the latency got 1 Sec
 sometimes  2 Sec. The app worked a wile that way and because
 still in beta I could experiment. So I decided to go to Billed option
 to see if the reliability and more importantly the latency could improve.
 Unfortunately this do not affected latency. Then I decided to go back to
 Master/Slave - our customers mentioned immediately our app is 2 times
 faster - again  1 Sec latency. Then I needed to add https which is
 very important for our app. This do not added significant latency so our
 customers are very happy with this solution. Soon we will go public.
 So the latency issue is a show stopper for high replication version
 and we would want to stay with master slave.
 Anybody with similar experience?
 Thank you,



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


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



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Fred Sauer
That's accurate. Performing a batch get to get a N entities from different
entity groups is slower or HRD. As N increases the issue is more pronounced.
This is because the datastore needs to fetch a consistent copy for each
entity.

Placing these entities into a single entity group can help greatly. Fetching
fewer entities initially, so that the UI updates quickly, and then fetching
more as needed, is always a good idea.

A great tool to help understand your use of the datastore is Appstats, which
can be easily enabled and provides negligible overhead to most sites. (If
you have a high traffic site, or don't want to enable Appstats in production
for other reasons, you can easily deploy a non-default version of your app
with Appstats enabled). Appstats will provide you a graphical overview of
the datastore (and other RPC) calls you are making.

On Thu, Aug 18, 2011 at 12:19 PM, Robert Kluin robert.kl...@gmail.comwrote:

 When switching to the HR datastore, you might need to make some
 adjustments.  For instance, fetching a large list of keys from
 multiple entity groups may be slower due to the transaction overhead.
 So you might need to evaluate your use of entity groups.  It may also
 be that you've got a design that is making many datastore RPCs in
 serial, that will probably be more of an issue when on HR since there
 is a slightly higher average latency.


 Robert





 On Thu, Aug 18, 2011 at 15:11, thstart thst...@gmail.com wrote:
  Let me share my experience.
  I was developing an AppEngine app for a year.
  It was very fast (extremely fast), with latency  1 sec.
  When High Replication data-store was released I decided to give it
  a try and switched to it. Unfortunately the latency got 1 Sec
  sometimes  2 Sec. The app worked a wile that way and because
  still in beta I could experiment. So I decided to go to Billed option
  to see if the reliability and more importantly the latency could improve.
  Unfortunately this do not affected latency. Then I decided to go back to
  Master/Slave - our customers mentioned immediately our app is 2 times
  faster - again  1 Sec latency. Then I needed to add https which is
  very important for our app. This do not added significant latency so our
  customers are very happy with this solution. Soon we will go public.
  So the latency issue is a show stopper for high replication version
  and we would want to stay with master slave.
  Anybody with similar experience?
  Thank you,
 
 
 
  --
  You received this message because you are subscribed to the Google Groups
  Google App Engine group.
  To view this discussion on the web visit
  https://groups.google.com/d/msg/google-appengine/-/P1c_gMSRtl0J.
  To post to this group, send email to google-appengine@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.com.
  For more options, visit this group at
  http://groups.google.com/group/google-appengine?hl=en.
 

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




-- 
Fred Sauer
Developer Advocate
Google Inc.
1600 Amphitheatre Parkway
Mountain View, CA 94043
fre...@google.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-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Fred Sauer
I recommend looking at Appstats, and verifying whether you are performing
batch gets across entity groups. I have not met an app yet that is unable to
get acceptable HRD performance.

I should note that apps built on M/S have (usually unintentionally) been
optimized for the M/S performance characteristics. It makes sense that some
apps may need to or want to make adjustments before migrating to HRD.

I should also point out that I have yet to meet a developer whose not
happier on HRD and migrating their app. You may well be the first (although
I'm not trying to imply that you are the only one)... :)

On Thu, Aug 18, 2011 at 12:11 PM, thstart thst...@gmail.com wrote:

 Let me share my experience.

 I was developing an AppEngine app for a year.
 It was very fast (extremely fast), with latency  1 sec.
 When High Replication data-store was released I decided to give it
 a try and switched to it. Unfortunately the latency got 1 Sec
 sometimes  2 Sec. The app worked a wile that way and because
 still in beta I could experiment. So I decided to go to Billed option
 to see if the reliability and more importantly the latency could improve.
 Unfortunately this do not affected latency. Then I decided to go back to
 Master/Slave - our customers mentioned immediately our app is 2 times
 faster - again  1 Sec latency. Then I needed to add https which is
 very important for our app. This do not added significant latency so our
 customers are very happy with this solution. Soon we will go public.

 So the latency issue is a show stopper for high replication version
 and we would want to stay with master slave.

 Anybody with similar experience?

 Thank you,




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

 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.




-- 
Fred Sauer
Developer Advocate
Google Inc.
1600 Amphitheatre Parkway
Mountain View, CA 94043
fre...@google.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-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Fred Sauer
On Thu, Aug 18, 2011 at 11:48 AM, Joshua Smith joshuaesm...@charter.netwrote:


 On Aug 18, 2011, at 2:10 PM, Fred Sauer wrote:

 On Wednesday, August 17, 2011 5:24:48 AM UTC-7, Joshua Smith wrote:

 I certainly hope they don't deprecate M/S, unless/until the following
 issues are addressed:

 1) Ability to migrate without changing app ID.  This is fundamental, and
 we've never seen any *reason* why this is impossible.  I suspect that this
 is very hard, but not impossible.

 We are able to create an alias for migrated apps, so that traffic sent to
 oldappid.appspot.com will be transparently routed to your new application.
 So while you won't be able to keep the same app id, you can keep using the
 same appspot.com domain, which is probably what you care about most.


 Perhaps that what some people care about most, but not me.  What I care
 about is what I spelled out in the next two bullet points :)


  Changing the app ID causes problems because:

 - External references to entity keys (not IDs) are pervasive in many apps
 (such as google search links to deep pages, user bookmarks, or RSS feed
 URLs) because the documentation encourages the use of these keys in URLs

 This remains an issues, but can be easily addressed in a couple of lines of
 application code in the appropriate request handlers. The string encoded
 keys that are referenced externally have encoded within them the old app id.
 If you take the decoded key and extract the parent, kind and id/name to
 create a new key (again, this is 1-2 lines of code), then your app can use
 that new key to locate the migrated entity within the new datastore.

 As far as reference (list) properties: those reference keys are
 automatically updated as part of the the datastore migration and should not
 cause you any issues.

 - Many users have keys wrapped up in properties that the migration tool
 cannot recognize [this doesn't impact my app, but it's a common issue on
 this list]

 This does affect some apps. As I mentioned above, a couple of lines of code
 in the right place should take care of this.


 1-2 lines of code, in dozens of handlers is the crux of the problem.
  Dealing with this at the application layer is problematic because there are
 so many code paths that need to be examined.



 As an alternative, the infrastructure could be fixed to recognize the case
 of using the old app ID instead of the new app ID in a key, and quietly make
 the substitution.

 That's a neat idea.


 Neat enough that you guys might implement it?

 I've suggested this before, but I'm glad that I've got your attention this
 time!


I'll certainly bring up with the team.




 This would be a pretty huge step toward making the migration practical for
 me.


 2) Migration of large data sets takes an extremely long time.  Given that
 we regularly see M/S downtimes in the couple of hours range, a couple of
 hours is probably a reasonable amount of time to migrate.  A couple of days
 is much too much.  [Note that I have not personally gotten far enough into a
 migration to see this duration; I'm basing this on many user complaints I've
 read on this list.]

 Applications with small amounts of data can easily self migrate in a short
 period of time using datastore_admin. Applications with more data will
 benefit from the new migration tool Ikai mentioned. We created the tool
 specifically to simplify and speed up the migration for larger apps, and to
 reduce the read-only period required to make the final switch.


 Yes, I saw that in his note, and if it works as advertised, I suspect it
 will resolve this issue.


 3) The problem of transactional consistency needs to be addressed.  It is
 not acceptable for transactions to end in a maybe this worked, maybe it
 didn't state.  They should either succeed or fail.  (Although the docs not
 not say whether this problem is exclusive to HR, it seems to be, and
 certainly it matters much more in HR since every put is implicitly
 transactional.)

 There are subtle differences between the consistency guarantees offered by
 M/S and HRD. In some cases, apps need to make a few tweaks in order to work
 correctly in the new environment. The benefit is much more
 predictable/consistency latency and increased reliability. A good article
 which reviews the consistency guarantees can be found here:
   http://code.google.com/appengine/articles/transaction_isolation.html


 I'm not talking about consistency guarantees.  I get that things change
 under HR, and it's pretty easy to understand what the implications of that
 are.

 What I'm talking about is the problem where you have to write idempotent
 transactions because you can never tell whether a transaction that threw
 certain exceptions succeeded or failed.  That's really messed up, and you
 really need to fix that.

 But, to be fair, I'm not sure this problem will cause me actual problems if
 I switch to HR.  It just makes me really, really uncomfortable.


 4) As Ikai said, there are some 

Re: [google-appengine] SDK 1.5.3 - deployment fails with the message Found interface com.google.appengine.tools.admin.Application, but class was expected.

2011-08-18 Thread Ikai Lan (Google)
Yep, we're on it:

http://code.google.com/p/googleappengine/issues/detail?id=5612

We might end up releasing a new SDK for this.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Wed, Aug 17, 2011 at 3:28 PM, MindRaider ultradvo...@gmail.com wrote:

 I have a problem with the deployment of my application with SDK 1.5.3.
 It compiles without any problems, but it fails just before the
 deployment with message:

  Found interface com.google.appengine.tools.admin.Application, but
 class was expected

 OS: Win7 64b; Eclipse Helios; GAE SDK 1.5.3; application
 http://web.mindforger.com

 After downgrade everything works perfectly.

 Any suggestions?

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



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



[google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Matt
It doesn't look like it. This is the log

INFO 2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is
agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA
Traceback (most recent call last):
  File C:\Python25\lib\logging\__init__.py, line 744, in emit
msg = self.format(record)
  File C:\Python25\lib\logging\__init__.py, line 630, in format
return fmt.format(record)
  File C:\Python25\lib\logging\__init__.py, line 418, in format
record.message = record.getMessage()
  File C:\Python25\lib\logging\__init__.py, line 288, in getMessage
msg = msg % self.args
TypeError: int argument required
INFO 2011-08-18 20:08:48,299 dev_appserver.py:4247] POST / HTTP/
1.1 200 -
INFO 2011-08-18 20:08:48,456 dev_appserver.py:4247] GET /
numguess.css HTTP/1.1 200 -


If that means anything I see a TypeError... maybe that's what is
stopping the random number entity to be pulled back out?

Thanks again for the help.

On Aug 18, 11:07 am, Robert Kluin robert.kl...@gmail.com wrote:
 Hey Matt,
   Yeah there was a typo in my same code, should not have been:
     logging.info('Wrote answer, key is: %s', str(answer.key()))
   but rather:
     logging.info('Wrote answer, key is: %s', str(answer))

   What that is telling you is that an answer entity was successfully
 written.  So, now you know that the entity is getting written, what is
 the next logging line?  Are you getting an entity back from the
 datastore?

 Robert







 On Thu, Aug 18, 2011 at 12:33, Matt mpiechow...@gmail.com wrote:
  Thanks for the heads up on logging.

  I tried the logging but don't know if I did it right. For the first
  logging part in the code, I put:
  logging.info('Wrote answer, key is: %s', str(answer.key()))
  and it gave me this in the browser:
  AttributeError: 'Key' object has no attribute 'key'

  I tried replacing key with ans but that gave the same error type.
  When I just put:
  logging.info('Wrote answer, key is: %s', str(answer))
  the log file comes with this:
  Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA

  Am I doing something wrong or does this info mean anything? I honestly
  don't know what to make of it or what to change to get the random
  number in/out.. I feel like I am following what the docs say though.

  On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote:
  Hi,
    You should check out the Python logging package, it is super handy.
  Add some logging calls to your code so you can see what is happening.
  For example:

    import logging

    def post(self):
      stguess = self.request.get('guess')
      if stguess == 'new':
        answer = Answer(ans = (random.randint(1, 100))).put()
        logging.info('Wrote answer, key is: %s', str(answer.key()))
        number = Answer.all().get()
        if number is not None:
          logging.info('Got answer, value is: %d', number.ans)
          answer = number.ans
        else:
          logging.info('Oh No! Got no answer!')
          answer = None
      else:
        logging.info('Doing nothing.')

  Robert

  On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote:
   I am trying to pull an integer from the datastore but I keep getting
   None back. I store the integers here-

   class Answer(db.Model):
      ans = db.IntegerProperty()

   As a test I did this -

   def post(self):

          stguess = self.request.get('guess')
          if stguess == 'new':
              answer = Answer(ans = (random.randint(1, 100))).put()
              number = Answer.all().get()
              if number is not None:
                  answer = number.ans
              else:
                  answer = None
              msg = str(answer)

   So what that does is take user input from the user and if they entered
   'new' follow the if path. ans equals a random integer between 1 and
   100. Put it in Answer. Then immediately after, pull the first integer
   from Answer. If it is not None assign the variable answer to the
   result, else assign it to None. msg is displayed on screen. Instead of
   a random number which I am expecting to be displayed, None is
   displayed instead.

   I also tried using count to see how many items were actually in the
   database and the count was more than 0.

   Is there anything wrong with how I am putting or retrieving from the
   datastore? How can I change this so I get the random number into the
   answer variable, not None?

   Thanks for any help

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

  --
  You received this message because you are subscribed to the Google Groups 
  Google App Engine group.
  To post to this group, send email to 

[google-appengine] Re: Remote API + File API

2011-08-18 Thread Wen (Google)
I read the doc. you pointed out as such:  when out.close() was
called, the writeChannel was not closed; when readChannel.close()
was called, the reader itself was not closed.  So, looks like you
only need to do one or the other.  It may have to do with how closing
is implemented on the channels.

So remove out.close(), and see if the exception would go away.


Wen


On Aug 18, 7:05 am, André Salvati andre.f.salv...@gmail.com wrote:
 Hi,

 Maybe I've misunderstood docs, but I thought it was possible an
 external application to integrate with App Engine by creating a file
 in Blobstore. Am I doing something wrong?? Any way to accomplish
 this??

 http://code.google.com/appengine/docs/java/blobstore/overview.html#Wr...

 Thanks.

 Code:

 public class RemoteAPI {

     public static void main(String[] args) throws IOException {

         String username = x...@gmail.com;
         String password = x;

         RemoteApiOptions options = new RemoteApiOptions()
                 .server(primepartes.appspot.com, 443)
             .credentials(username, password);
         RemoteApiInstaller installer = new RemoteApiInstaller();
         installer.install(options);

         FileService fileService = FileServiceFactory.getFileService();
         BlobstoreService blobstoreService =
 BlobstoreServiceFactory.getBlobstoreService();

         AppEngineFile file = fileService.createNewBlobFile(text/
 plain);

         FileWriteChannel writeChannel =
 fileService.openWriteChannel(file, true);

         PrintWriter out = new
 PrintWriter(Channels.newWriter(writeChannel, UTF8));
         out.println(The woods are lovely dark and deep.);
         out.println(But I have promises to keep.);

         out.close();
         writeChannel.closeFinally(); // This line throwns the excepion
 bellow

 ..

 java.lang.IllegalStateException: The current request does not hold the
 exclusive lock.
         at
 com.google.appengine.api.files.FileServiceImpl.close(FileServiceImpl.java:
 315)
         at
 com.google.appengine.api.files.FileWriteChannelImpl.closeFinally(FileWriteC 
 hannelImpl.java:
 78)
         at br.com.teste.RemoteAPI.main(RemoteAPI.java:82)

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



[google-appengine] redirection to HTTPS is not working for Python app.yaml

2011-08-18 Thread thstart
to my Python app.yaml I added

- url: /.*
  script: main.py
*  secure: always*

BUT

*I don't get automatically redirected to the HTTPS*
*
*
*What is wrong?*
*
*
According:
http://code.google.com/appengine/docs/python/config/appconfig.html#Secure_URLs

handlers:

- url: /youraccount/.*
  script: accounts.py
  login: required
  *secure**: always*


always. Requests for a URL that match this handler that do not use HTTPS are
* automatically redirected to the HTTPS URL with the same path.* Query 
parameters are preserved for the redirect.

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



Re: [google-appengine] Re: Using GAE as a pipe

2011-08-18 Thread Ikai Lan (Google)
I have a friend who likes watching local basketball games, but due to
blackout restrictions, he can't watch his favorite local team with NBA
league pass, so he tunnels through a VPS based in the middle of the country
to get around IP-geolocation based restrictions. A $5 VPS running sshd and
some clever port forwarding is probably enough to get this done. In your
case, you probably want to do reverse port forwarding for the VNC server to
a locally accessible port in the VPS, then, in your VNC client, talk to
localhost, where you have an SSH client listening on a local port forwarding
to the port listening to localhost on the VPS.

Note that more technical discussions about how to do this are outside the
scope of this discussion forum, so you might want to plug some of these
terms into your favorite search engine and just play around for a bit to get
a feel for doing it.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Thu, Aug 18, 2011 at 1:58 PM, Mikael Grev mikael.g...@gmail.com wrote:

 Thanks Barry. Much appreciated.

 Mikael

 On Aug 18, 8:44 pm, Barry Hunter barrybhun...@gmail.com wrote:
  No GAE wont really do this.
 
  GAE basically speaks HTTP - and over a CGI model. I.e.
 requests/responses.
 
  So a http requests comes in, a GAE script processes, it sends back
  some data (usually HTML but doesnt have to be) and then when the front
  end server gets the responce it forwards it back to the user.
 
  Probably a cheap VPS hosting somewhere will be best.
 
 
 
 
 
 
 
  On Thu, Aug 18, 2011 at 2:56 PM, Mikael Grev mikael.g...@gmail.com
 wrote:
   Hello,
 
   Is it possible in a fairly easy way to use GAE as a pipe, basically
   transporting custom binary data between two computers via a Google
   server?
 
   And if so (which I really expect to be possible) how will it perform?
   I mean approximately which throughput will I get. And is there a way,
   hopefully automatically, to make it use the closest server to pipe
   through?
 
   I ask because I was thinking about using GAE as a proxy server for VNC
   when there's two computers between firewalls that wants to talk to
   each other.
 
   Cheers,
   Mikael
 
   --
   You received this message because you are subscribed to the Google
 Groups Google App Engine group.
   To post to this group, send email to google-appengine@googlegroups.com
 .
   To unsubscribe from this group, send email to
 google-appengine+unsubscr...@googlegroups.com.
   For more options, visit this group athttp://
 groups.google.com/group/google-appengine?hl=en.

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



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



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread thstart
*I am responding here to combined comments:*

*I followed Brett Slatikn recommendations how to perform most efficient 
operations on DataStore and it works extremely fast *
*in Master / Slave.*

+Robert Kluin
 For instance, fetching a large list of keys from multiple entity groups 
may be slower due to the transaction overhead.

*I have list of keys only from one entity.*

So you might need to evaluate your use of entity groups.  It may also
be that you've got a design that is making many datastore RPCs in
serial, that will probably be more of an issue when on HR since there
is a slightly higher average latency.

*I store keys in lists. When getting the list *
*
*
*for example*
*class MyList(BaseModel):*
*My_keys = db.ListProperty(db.Key) *
*
*
*Brett Slatkin recommends about no more than 3,000 max and so do I.*
*
*
*and this is parallel:*
*
e = MyList.get_profile(email)
*
*
my_keys = e.my_keys
my_key = db.get(my_keys)

#That's it! Super fast!
@classmethod
def get_profile(self, email):
if not email:
return None
root = MyRoot.get_profile()
#cache
self._cache = get_cache(memcached://)
skey = email
key_cache = 'MyList' + skey + str(root.key())
profile = self._cache.get(key_cache)
#cache
if not profile:
key = db.Key.from_path('MyList',
   skey,
   parent=root.key())
profile = db.get(key)
# not found - create
if not profile:
#def txn():
root = MyRoot.get_profile_del_cache()
profile = MyList(key_name=skey,
   parent=root.key())
profile.put()
return profile
#return db.run_in_transaction(txn)
#cache
self._cache.set(key_cache, profile, timeout=CACHE_TIMEOUT)
#cache
return profile

*

+Fred Sauer
verifying whether you are performing batch gets across entity groups

*I have transactions in which I have an operations on different entity 
groups but this is by design. *

I should also point out that I have yet to meet a developer whose not 
happier on HRD and migrating their app. 
You may well be the first (although I'm not trying to imply that you are 
the only one)... :)

*The app is in development for more than a year and I followed best 
practices valid at this time before high replication*
*datastore was introduced. Redesign is not an option because I already have 
generated a lot of interest and waiting list*
*of customers ready to pay for the current functionality. The benefit I 
would get from going to High Replication does not *
*justifies the effort: I have already 20,000 lines of code - redesign is not 
practical.*
*
*
*Best,*
*
*
*--Constantine*

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



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread thstart
+Joshua Smith
From my reading, M/S seems to have better throughput than HR, at the 
expense of more frequent downtime, 
and spurious datastore timeouts.  I'd like to have that option in a 
multi-threaded app.

This is more important for public app (site) with many anonymous users. 

My app is 100% user based - e.g. used after log-in, but heavy on data 
related to each particular user. 
The users are not accessing it very often (say they access it many times a 
day but this is not much)
but when they access it they need to be as fast as possible.

So  *frequent downtime *is a non-issue, the chance a user to access it at 
exactly this time are minimal,* *
*spurious datastore timeouts *is a non-issue because this is rare - so I can 
live with Master / Slave 
imperfections - it is good enough and I don;t need to rewrite and optimize 
again.

+Ikai Lan
Master/Slave doesn't have better throughput. In the 99th percentile, 
because of datastore latency spikes, 
high replication far outperforms master/slave.

I think Master/Slave is a lot faster in my case up to 10 times faster. I 
tested it with only read, no write operations,
no transactions, nothing special for example I have a heavy use of this 
expression:

*
e = MyList.get_profile(email)
*
*
my_keys = e.my_keys  
my_members = db.get(my_keys)

for member in my_members:
member.property, etc. -- do something with the 
property

*
*and it is parallel in Master/Slave (according to Brett Slatkin 
presentation) . In High Replication I believe it is serial,*
*probably I am wrong (I don't have a way to know) but this operation is very 
slow in High Replication.*
*
*
*My code uses heavily this construct and it is extremely fast.*
*
*
*Best,*
*
*
*--Constantine*
*
*
*

*



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



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Ikai Lan (Google)
If you enable eventually consistent queries, a batch get by key in high
replication should perform as fast as in master/slave.

The practice you're citing from Brett is a few years old and predates high
replication; would you be willing to revisit it if I roped him into updating
it for high replication?

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Thu, Aug 18, 2011 at 2:58 PM, thstart thst...@gmail.com wrote:

 +Joshua Smith
 From my reading, M/S seems to have better throughput than HR, at the
 expense of more frequent downtime,
 and spurious datastore timeouts.  I'd like to have that option in a
 multi-threaded app.

 This is more important for public app (site) with many anonymous users.

 My app is 100% user based - e.g. used after log-in, but heavy on data
 related to each particular user.
 The users are not accessing it very often (say they access it many times a
 day but this is not much)
 but when they access it they need to be as fast as possible.

 So  *frequent downtime *is a non-issue, the chance a user to access it at
 exactly this time are minimal,* *
 *spurious datastore timeouts *is a non-issue because this is rare - so I
 can live with Master / Slave
 imperfections - it is good enough and I don;t need to rewrite and optimize
 again.

 +Ikai Lan
 Master/Slave doesn't have better throughput. In the 99th percentile,
 because of datastore latency spikes,
 high replication far outperforms master/slave.

 I think Master/Slave is a lot faster in my case up to 10 times faster. I
 tested it with only read, no write operations,
 no transactions, nothing special for example I have a heavy use of this
 expression:

 *
 e = MyList.get_profile(email)
 *
 *
 my_keys = e.my_keys
 my_members = db.get(my_keys)

 for member in my_members:
 member.property, etc. -- do something with the
 property

 *
 *and it is parallel in Master/Slave (according to Brett Slatkin
 presentation) . In High Replication I believe it is serial,*
 *probably I am wrong (I don't have a way to know) but this operation is
 very slow in High Replication.*
 *
 *
 *My code uses heavily this construct and it is extremely fast.*
 *
 *
 *Best,*
 *
 *
 *--Constantine*
 *
 *
 *

 *



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

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


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



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread thstart
If you enable eventually consistent queries, a batch get by key in high 
replication should perform as fast as in master/slave.

*is this related only to queries like:*

q = db.GqlQuery(SELECT * FROM Person  +
WHERE last_name = :1 AND height  :2  +
ORDER BY height DESC,
Smith, 72)


http://code.google.com/appengine/docs/python/datastore/queries.html

The Master/Slave Datastore and the High Replication 
Datastorehttp://code.google.com/appengine/docs/python/datastore/hr/ have 
different guarantees when it comes to query consistency. By default:

   - The Master/Slave datastore is strongly consistent for all queries.
   - The High Replication datastore is strongly consistent by default* for 
   queries* within an entity 
group.http://code.google.com/appengine/docs/python/datastore/entities.html#Entity_Groups_and_Ancestor_Paths
 With 
   the High Replication Datastore, non-ancestor queries are always eventually 
   consistent.



*If that is the case I managed to get rid of queries - I don't use any any 
queries, just working with lists and keys - 
*
*it is parallel, fast, don't need indexes, etc. Bret Slatkin had very useful 
presentations and found them to be very simple*
*and to work in practice.*
*
*
*By the way our customers don't know what technique I am using only thing 
they care is to be fast and they are telling me*
*up to now they haven't used a web app with so much functionality to be so 
fast. *
*
*
*I would say they to be fast is that I designed the database as separate 
entity for each user - e.g. it scales with numbers of users*
*automatically. Very important is that I don;t use any queries, indexes, 
etc. just lists of keys and for ... in construct for search,*
*also the keys and entities are composed in as many ways possible in advance 
so when the user is searching for data it gets*
*it instantly because search is embedded in the keys. In Master/S**lave all 
this worked in parallel and was extremely fast.*
*
*
*
*
The practice you're citing from Brett is a few years old and predates high 
replication; would you be willing to revisit it if I roped him into updating 
it for high replication?*
*

Yes this is true, but you have to admit this is the only useful information 
on designing efficient data-store. There is *only one* serious book 
explaining
how *AppEngine Datastore* is working and in this book you can read the same 
recommendation like Brett Slatkin recommends. And the book 
is a year old:

Programming Google App Engine
by Dan Sanderson
Copyright © *2010* Dan Sanderson.

Dan Sanderson is working at Google and explains everything extremely well 
and I believe after so much time and efforts invested to understand how it 
works and to successfully implement a very useful app with waiting customers 
- *do I have to think a book and technique explained in 2010 is already 
out-dated?*


would you be willing to revisit it if I roped him into updating it for high 
replication?

*I always want to know new techniques, so the quick answer is yes, 
definitely. *
*
*
*You should also keep in mind that it is not a good business idea to 
constantly revisit *
*and rewrite a perfectly working and tested code.*
*
*
*Best,*
*--Constantine*






*
*

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



Re: [google-appengine] Should Google deprecate Master/Slave data store option?

2011-08-18 Thread Ikai Lan (Google)
Eventually consistent datastore gets make get by key operations faster.
Queries should perform the same, but better in failure scenarios in high
replication.

As far as things going out of date goes: that's just the technology world
for you. Every API or service provider in the world will do their best to
keep things up to date, but unless you're doing legacy COBOL maintenance,
there's always going to bits where people will say, Oh, by the way, don't
use that way anymore. Use this new way instead. The high replication
datastore didn't exist when Dan wrote that book. Also, you should know how
the book writing cycle works: a writer works with a publisher, then writes
the book over the next year or two. During that time, the publisher markets
the book, and the writer furiously tries to keep it up to date, knowing that
chances are good there are bits that will be obsolete and his initial plan
has to change. I don't know off the top of my head if Dan is planning on
releasing a new version of his book or not. The first edition was printed in
November 2009. In general, Dan's advice is correct: use get-by-key as much
as possible, and any update to the book will likely include a section about
high replication.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Thu, Aug 18, 2011 at 3:52 PM, thstart thst...@gmail.com wrote:

 If you enable eventually consistent queries, a batch get by key in high
 replication should perform as fast as in master/slave.

 *is this related only to queries like:*

 q = db.GqlQuery(SELECT * FROM Person  +

 WHERE last_name = :1 AND height  :2  +

 ORDER BY height DESC,
 Smith, 72)


 http://code.google.com/appengine/docs/python/datastore/queries.html

 The Master/Slave Datastore and the High Replication 
 Datastorehttp://code.google.com/appengine/docs/python/datastore/hr/ have
 different guarantees when it comes to query consistency. By default:

- The Master/Slave datastore is strongly consistent for all queries.
- The High Replication datastore is strongly consistent by default* for
queries* within an entity 
 group.http://code.google.com/appengine/docs/python/datastore/entities.html#Entity_Groups_and_Ancestor_Paths
  With
the High Replication Datastore, non-ancestor queries are always eventually
consistent.



 *If that is the case I managed to get rid of queries - I don't use any any
 queries, just working with lists and keys -
 *
 *it is parallel, fast, don't need indexes, etc. Bret Slatkin had very
 useful presentations and found them to be very simple*
 *and to work in practice.*
 *
 *
 *By the way our customers don't know what technique I am using only thing
 they care is to be fast and they are telling me*
 *up to now they haven't used a web app with so much functionality to be so
 fast. *
 *
 *
 *I would say they to be fast is that I designed the database as separate
 entity for each user - e.g. it scales with numbers of users*
 *automatically. Very important is that I don;t use any queries, indexes,
 etc. just lists of keys and for ... in construct for search,*
 *also the keys and entities are composed in as many ways possible in
 advance so when the user is searching for data it gets*
 *it instantly because search is embedded in the keys. In Master/S**lave
 all this worked in parallel and was extremely fast.*
 *
 *
 *
 *
 The practice you're citing from Brett is a few years old and predates high
 replication; would you be willing to revisit it if I roped him into updating
 it for high replication?*
 *

 Yes this is true, but you have to admit this is the only useful information
 on designing efficient data-store. There is *only one* serious book
 explaining
 how *AppEngine Datastore* is working and in this book you can read the
 same recommendation like Brett Slatkin recommends. And the book
 is a year old:

 Programming Google App Engine
 by Dan Sanderson
 Copyright © *2010* Dan Sanderson.

 Dan Sanderson is working at Google and explains everything extremely well
 and I believe after so much time and efforts invested to understand how it
 works and to successfully implement a very useful app with waiting customers
 - *do I have to think a book and technique explained in 2010 is already
 out-dated?*


 would you be willing to revisit it if I roped him into updating it for
 high replication?

 *I always want to know new techniques, so the quick answer is yes,
 definitely. *
 *
 *
 *You should also keep in mind that it is not a good business idea to
 constantly revisit *
 *and rewrite a perfectly working and tested code.*
 *
 *
 *Best,*
 *--Constantine*






 *
 *

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

 To post to this group, send email to google-appengine@googlegroups.com.
 To 

Re: [google-appengine] Website Spam posing by appid: aking-741 using IP 64.233.172.1

2011-08-18 Thread Murray W


*What do you want to do, monitor a site and if some app is hitting it
too frequently automatically report it to Google for abusing *your*
ToS?*

(Not sure what you mean by ToS, must be a AppEngine code word.)

Actually I do monitor my site. Doesn't everyone today monitor for 
pharmaceutical 
spam, SQL injection attempts and your classical bruteforce attacks? 

I'm not worry about an application hitting my sites. I see allot of good 
appid:'s . It's when an AppEngine application is used like an open proxy to 
spam sites. Then the scripts brings the hammer down.

Aren't your applications a SaaS? (Software as a Service)

Before you think, read what I have to say. 
If one of my sites picks up 20 or 30 spam posting attempts from a single 
AppEngine that's only my site. Add a few million other sites to the mix and 
your application just cost you a bundle in bandwidth to allow a spammer to 
use.  Not my bandwidth but your applications bandwidth.

I've read the DDoS and Reached Quota forum posts and my guess it's just 
spammers. They tend to flock 50 or so at a time averaging from what I detect 
2 to 5 posts per second. 
I'm thinking if you all found a way to either get live abuse reports or 
updates it might actually save you money.

I'm just trying to help you all, but if you have it handled then I'll just 
watch the apps eat your bandwidth and get posted on popular blacklists. 
Today's list includes: 

appengine-google; (+http://code.google.com/appengine; appid: domaintraker)
IP: 209.85.224.84
Contents: http alonsoalic3 . splinder . com Percocet Dose (blah blah blah)

It's only spam to me. 

I wonder how much bandwidth that app is costing:

Remember, I'm only one in a million websites and it's clear I'm the only one 
to bring up an issue that is costing you money. 
The appid listed above was reported by one site I monitor:
First seen: Report Date: 8/7/2011 4:32:41 AM last visited Report Date: 
8/18/2011 1:33:25 AM

Add 20 million and that's some good bandwidth for the appid: domaintraker. 

I'm sure there is a way to create a sub-routine to monitor POST / GET 
requests from your apps. 
I would believe that a Human wouldn't be sending Post and Get requests 
at 4 or more per second. 

I'd be glad to work with those that are willing to work on a application. 

I've opened up the NOC reports for visitors this week. You can find the 
Google IPs and Amazon listings. Look for the APPID: notice to see how often 
this happens. 
 XCtM Project v2 http://www.xtremecomputer.com/xctm_project.asp 

Good luck and thanks for answering my questions. 


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



[google-appengine] Status of federated logins

2011-08-18 Thread gwstuff
Hi everyone,

We are going to release a new app engine-based paid service and pitch it to 
the substantial user base of our mobile apps in the coming weeks. We are 
very excited to see how this pans out. One thing we are a bit nervous about 
however is that we have used the federated login framework for identity 
management.

Once our users create their accounts, we will be irrevocable committed to 
supporting them. At the same time, federated login is marked as an 
experimental feature - and we are wondering if this means that there's a 
chance that it might get dropped in a future release. Federated login is a 
really cool feature so we do want to keep it, but if it's too risky then we 
will opt to be safe and just use custom service-specific accounts.

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



[google-appengine] erroring

2011-08-18 Thread Andrius A
google engineers,

we see errors again. I appreciate your effort, GAE is great platform! But
whats going on with GAE recently? is it because of increasing number of GAE
users?

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



[google-appengine] Re: erroring

2011-08-18 Thread blackpawn
yeah appengine has my site down for 90 minutes now... think maybe someone 
spilled soda on an important server over at google HQ!  hope things come 
back up soon!

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



[google-appengine] Re: erroring

2011-08-18 Thread reco
Seems also the login to appemgine.google.com is down.

Reco

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



[google-appengine] Re: erroring

2011-08-18 Thread blackpawn
things seem back to normal for me now, thanks Google heroes!!!

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



Re: [google-appengine] Re: erroring

2011-08-18 Thread Rishi Arora
This is the only thing I can access right now, and it does not look good:

http://code.google.com/status/appengine


On Thu, Aug 18, 2011 at 8:45 PM, blackpawn pharmapsycho...@gmail.comwrote:

 things seem back to normal for me now, thanks Google heroes!!!

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

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


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



Re: [google-appengine] Re: erroring

2011-08-18 Thread blackpawn
hehe yeah i totally posted too soon! everything went down a few minutes 
after :P

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



Re: [google-appengine] Re: erroring

2011-08-18 Thread Nick Johnson
We're currently experiencing production issues. I'll post an update to the
downtime notify list with details very shortly. Sincere apologies for the
inconvenience.

-Nick Johnson

On Fri, Aug 19, 2011 at 11:51 AM, Rishi Arora rishi.ar...@ship-rack.comwrote:

 This is the only thing I can access right now, and it does not look good:

 http://code.google.com/status/appengine


 On Thu, Aug 18, 2011 at 8:45 PM, blackpawn pharmapsycho...@gmail.comwrote:

 things seem back to normal for me now, thanks Google heroes!!!

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

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


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




-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



[google-appengine] Re: erroring

2011-08-18 Thread stephenp
My apps are down too (appid: carglyonline). I get lots of intermittent 
Server Error messages. I get Server Error trying to access the 
dashboard. I also get errors trying to deploy a new version. Please fix :)

Stephen

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



Re: [google-appengine] Re: erroring

2011-08-18 Thread Stephen Mayer
I'm seeing problems with the control panel, but my site is on HR datastore 
and the site is fine.  Perhaps its only impacting master/slave datastore 
users?

Stephen

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



Re: [google-appengine] Re: erroring

2011-08-18 Thread reco
thanx nick! good luck!

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



Re: [google-appengine] Re: erroring

2011-08-18 Thread Rishi Arora
My app uses HR datastore, and all my app's entry points are impacted.

On Thu, Aug 18, 2011 at 9:06 PM, reco r...@nex9.com wrote:

 thanx nick! good luck!

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

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


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



[google-appengine] Re: erroring

2011-08-18 Thread ZeroCool
Master/Slave datastore apps are down.
HR ones are still working.
Portal is down atm.

On Aug 19, 10:06 am, reco r...@nex9.com wrote:
 thanx nick! good luck!

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



Re: [google-appengine] Re: erroring

2011-08-18 Thread Nick Johnson
Please see this thread on the downtime notify group for updates:
http://groups.google.com/group/google-appengine-downtime-notify/browse_thread/thread/ff24c9b1ed5e39a2

On Fri, Aug 19, 2011 at 12:12 PM, ZeroCool zero...@gmail.com wrote:

 Master/Slave datastore apps are down.
 HR ones are still working.
 Portal is down atm.

 On Aug 19, 10:06 am, reco r...@nex9.com wrote:
  thanx nick! good luck!

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




-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



Re: [google-appengine] Re: erroring

2011-08-18 Thread blackpawn
thanks!

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



[google-appengine] 500 error usually occurs

2011-08-18 Thread saintthor
can not open my site http://djdqbbs.appspot.com, nor update, nor
console.

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



[google-appengine] Re: 500 error usually occurs

2011-08-18 Thread saintthor
if not 500 error, always see DeadlineExceededError. the code is not
changed.

On Aug 19, 10:23 am, saintthor saintt...@gmail.com wrote:
 can not open my sitehttp://djdqbbs.appspot.com, nor update, nor
 console.

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



[google-appengine] Re: Query Limit Problem/Question

2011-08-18 Thread See The Light
The Geocoding API v3. I am using the Xml response.

I just hit the limit tonight testing some changes that needed to be
implemented.  I had 698 addresses to geocode. I pulled them from the
database and submit each address using:

http://maps.googleapis.com/maps/api/geocode/xml?address={0}sensor=false

I then write back some of the data in the response. I checked and 26
came up empty. I reran the code and 2 came back with the
OVER_QUERY_LIMIT. So, it took 3 passes to geocode 698 addresses. I had
to use 726 calls.  Luckily this is only one of the tables that needs
updating and we only submit it to geocoding when the address changes.
We keep track of all our calls when geocoding on the server side as
stated previously.

Thanks again for the help.

On Aug 17, 9:19 am, Ikai Lan (Google) ika...@google.com wrote:
 Is this the maps API you're referring to?

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai

 On Tue, Aug 16, 2011 at 9:28 AM, See The Light envisas...@gmail.com wrote:







  Over the past couple of weeks I have noticed an increase in the number
  of OVER_QUERY_LIMIT responses we have been receiving.  Currently
  whenever we make a call to be geocoded we keep track of that call and
  decrease a counter on our end.  I have historical data that shows we
  usually end the day with at least 300 queries left.  This AM, I cannot
  even make a query off the server because it returns the limit message,
  and I show in our table that we have some 2300 call left.

  Is there a call that can be made to get your current query limit? If
  not, does the 2500 calls allowed happen in a sliding window? Are there
  hourly limits to prevent flooding?

  This would be greatly helpful provided our search mechanism first
  attempts to get relevant geocoded data from the server before actually
  calling over to Google for an unknown geocode.

  Thanks.

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

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



[google-appengine] Re: erroring

2011-08-18 Thread fedex1
A couple of questions.

What strategy do you use to move from Master Slave to High
Replication?

I assume it's not as easy as changing a configuration parameter.  In
fact, you cannot change Datastore Replication Options after you've
created an application it seems.

Do you simply create a new application using High Replication as the
Datastore Replication Option and then migrate your data and migrate
your source?


Also, right after this outage, I tried to create a new application for
example event-registration-hr and the admin console said it was
available.  I created it and it seemed to fail, but the name event-
registration-hr was now taken, but not allocated to my applications.
I tried again with another name and it happened again.  Maybe an after
effect of the outage.

Thanks,
Ralph

On Aug 18, 9:57 pm, Stephen Mayer stephen.ma...@gmail.com wrote:
 I'm seeing problems with the control panel, but my site is on HR datastore
 and the site is fine.  Perhaps its only impacting master/slave datastore
 users?

 Stephen

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



Re: [google-appengine] 500 error usually occurs

2011-08-18 Thread Nick Johnson
App Engine is currently experiencing production issues. Please see this
thread on the downtime notify group for details:
http://groups.google.com/group/google-appengine-downtime-notify/browse_thread/thread/ff24c9b1ed5e39a2?hl=en

-Nick

On Fri, Aug 19, 2011 at 12:23 PM, saintthor saintt...@gmail.com wrote:

 can not open my site http://djdqbbs.appspot.com, nor update, nor
 console.

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




-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



Re: [google-appengine] Re: erroring

2011-08-18 Thread Nick Johnson
On Fri, Aug 19, 2011 at 12:46 PM, fedex1 fed...@gmail.com wrote:

 A couple of questions.

 What strategy do you use to move from Master Slave to High
 Replication?

 I assume it's not as easy as changing a configuration parameter.  In
 fact, you cannot change Datastore Replication Options after you've
 created an application it seems.

 Do you simply create a new application using High Replication as the
 Datastore Replication Option and then migrate your data and migrate
 your source?


Yes. If you'd like to discuss this, though, you should probably start a new
thread.




 Also, right after this outage, I tried to create a new application for
 example event-registration-hr and the admin console said it was
 available.  I created it and it seemed to fail, but the name event-
 registration-hr was now taken, but not allocated to my applications.
 I tried again with another name and it happened again.  Maybe an after
 effect of the outage.


The outage is still ongoing. Please see this thread in the groups for
details:
http://groups.google.com/group/google-appengine-downtime-notify/browse_thread/thread/ff24c9b1ed5e39a2?hl=en

-Nick



 Thanks,
 Ralph

 On Aug 18, 9:57 pm, Stephen Mayer stephen.ma...@gmail.com wrote:
  I'm seeing problems with the control panel, but my site is on HR
 datastore
  and the site is fine.  Perhaps its only impacting master/slave datastore
  users?
 
  Stephen

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




-- 
Nick Johnson, Developer Programs Engineer, App Engine

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



Re: [google-appengine] Re: Query Limit Problem/Question

2011-08-18 Thread Robert Kluin
You know this is the App Engine list, not a Maps or gdata list, right?







On Thu, Aug 18, 2011 at 22:37, See The Light envisas...@gmail.com wrote:
 The Geocoding API v3. I am using the Xml response.

 I just hit the limit tonight testing some changes that needed to be
 implemented.  I had 698 addresses to geocode. I pulled them from the
 database and submit each address using:

 http://maps.googleapis.com/maps/api/geocode/xml?address={0}sensor=false

 I then write back some of the data in the response. I checked and 26
 came up empty. I reran the code and 2 came back with the
 OVER_QUERY_LIMIT. So, it took 3 passes to geocode 698 addresses. I had
 to use 726 calls.  Luckily this is only one of the tables that needs
 updating and we only submit it to geocoding when the address changes.
 We keep track of all our calls when geocoding on the server side as
 stated previously.

 Thanks again for the help.

 On Aug 17, 9:19 am, Ikai Lan (Google) ika...@google.com wrote:
 Is this the maps API you're referring to?

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai

 On Tue, Aug 16, 2011 at 9:28 AM, See The Light envisas...@gmail.com wrote:







  Over the past couple of weeks I have noticed an increase in the number
  of OVER_QUERY_LIMIT responses we have been receiving.  Currently
  whenever we make a call to be geocoded we keep track of that call and
  decrease a counter on our end.  I have historical data that shows we
  usually end the day with at least 300 queries left.  This AM, I cannot
  even make a query off the server because it returns the limit message,
  and I show in our table that we have some 2300 call left.

  Is there a call that can be made to get your current query limit? If
  not, does the 2500 calls allowed happen in a sliding window? Are there
  hourly limits to prevent flooding?

  This would be greatly helpful provided our search mechanism first
  attempts to get relevant geocoded data from the server before actually
  calling over to Google for an unknown geocode.

  Thanks.

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

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



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



Re: [google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Robert Kluin
That is an excellent clue.  Try changing
   logging.info('Got answer, value is: %d', number.ans)
to:
   logging.info('Got answer, value is: %s', str(number.ans))


Also, just noticed one other thing.  Instead of 'if number is not
None', in Python you can do 'if number' -- much nicer.






On Thu, Aug 18, 2011 at 16:16, Matt mpiechow...@gmail.com wrote:
 It doesn't look like it. This is the log

 INFO     2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is
 agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA
 Traceback (most recent call last):
  File C:\Python25\lib\logging\__init__.py, line 744, in emit
    msg = self.format(record)
  File C:\Python25\lib\logging\__init__.py, line 630, in format
    return fmt.format(record)
  File C:\Python25\lib\logging\__init__.py, line 418, in format
    record.message = record.getMessage()
  File C:\Python25\lib\logging\__init__.py, line 288, in getMessage
    msg = msg % self.args
 TypeError: int argument required
 INFO     2011-08-18 20:08:48,299 dev_appserver.py:4247] POST / HTTP/
 1.1 200 -
 INFO     2011-08-18 20:08:48,456 dev_appserver.py:4247] GET /
 numguess.css HTTP/1.1 200 -


 If that means anything I see a TypeError... maybe that's what is
 stopping the random number entity to be pulled back out?

 Thanks again for the help.

 On Aug 18, 11:07 am, Robert Kluin robert.kl...@gmail.com wrote:
 Hey Matt,
   Yeah there was a typo in my same code, should not have been:
     logging.info('Wrote answer, key is: %s', str(answer.key()))
   but rather:
     logging.info('Wrote answer, key is: %s', str(answer))

   What that is telling you is that an answer entity was successfully
 written.  So, now you know that the entity is getting written, what is
 the next logging line?  Are you getting an entity back from the
 datastore?

 Robert







 On Thu, Aug 18, 2011 at 12:33, Matt mpiechow...@gmail.com wrote:
  Thanks for the heads up on logging.

  I tried the logging but don't know if I did it right. For the first
  logging part in the code, I put:
  logging.info('Wrote answer, key is: %s', str(answer.key()))
  and it gave me this in the browser:
  AttributeError: 'Key' object has no attribute 'key'

  I tried replacing key with ans but that gave the same error type.
  When I just put:
  logging.info('Wrote answer, key is: %s', str(answer))
  the log file comes with this:
  Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA

  Am I doing something wrong or does this info mean anything? I honestly
  don't know what to make of it or what to change to get the random
  number in/out.. I feel like I am following what the docs say though.

  On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote:
  Hi,
    You should check out the Python logging package, it is super handy.
  Add some logging calls to your code so you can see what is happening.
  For example:

    import logging

    def post(self):
      stguess = self.request.get('guess')
      if stguess == 'new':
        answer = Answer(ans = (random.randint(1, 100))).put()
        logging.info('Wrote answer, key is: %s', str(answer.key()))
        number = Answer.all().get()
        if number is not None:
          logging.info('Got answer, value is: %d', number.ans)
          answer = number.ans
        else:
          logging.info('Oh No! Got no answer!')
          answer = None
      else:
        logging.info('Doing nothing.')

  Robert

  On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote:
   I am trying to pull an integer from the datastore but I keep getting
   None back. I store the integers here-

   class Answer(db.Model):
      ans = db.IntegerProperty()

   As a test I did this -

   def post(self):

          stguess = self.request.get('guess')
          if stguess == 'new':
              answer = Answer(ans = (random.randint(1, 100))).put()
              number = Answer.all().get()
              if number is not None:
                  answer = number.ans
              else:
                  answer = None
              msg = str(answer)

   So what that does is take user input from the user and if they entered
   'new' follow the if path. ans equals a random integer between 1 and
   100. Put it in Answer. Then immediately after, pull the first integer
   from Answer. If it is not None assign the variable answer to the
   result, else assign it to None. msg is displayed on screen. Instead of
   a random number which I am expecting to be displayed, None is
   displayed instead.

   I also tried using count to see how many items were actually in the
   database and the count was more than 0.

   Is there anything wrong with how I am putting or retrieving from the
   datastore? How can I change this so I get the random number into the
   answer variable, not None?

   Thanks for any help

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

Re: [google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Tim Hoffman



 Also, just noticed one other thing.  Instead of 'if number is not
 None', in Python you can do 'if number' -- much nicer.


 Though not very good if number can be 0 or  as opposed to None ;-)

I am not sure which reads better

number is not None
or
not number is None
or
or number != None



T 

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



[google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Matt
Thanks again.

Changed that line and now this appears in the logs:
   INFO 2011-08-19 04:02:28,358 index.py:33] Got answer, value is:
None
So it is putting something in and it is None. I am not sure why. I
must not be using .put() correctly to store the random number?
   answer = Answer(ans = (random.randint(1, 100))).put()

I have tried variations of the put() such as not assigning a random
number inside this statement then referring to it, but it always comes
up as None.


On Aug 18, 9:29 pm, Robert Kluin robert.kl...@gmail.com wrote:
 That is an excellent clue.  Try changing
    logging.info('Got answer, value is: %d', number.ans)
 to:
    logging.info('Got answer, value is: %s', str(number.ans))

 Also, just noticed one other thing.  Instead of 'if number is not
 None', in Python you can do 'if number' -- much nicer.







 On Thu, Aug 18, 2011 at 16:16, Matt mpiechow...@gmail.com wrote:
  It doesn't look like it. This is the log

  INFO     2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is
  agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA
  Traceback (most recent call last):
   File C:\Python25\lib\logging\__init__.py, line 744, in emit
     msg = self.format(record)
   File C:\Python25\lib\logging\__init__.py, line 630, in format
     return fmt.format(record)
   File C:\Python25\lib\logging\__init__.py, line 418, in format
     record.message = record.getMessage()
   File C:\Python25\lib\logging\__init__.py, line 288, in getMessage
     msg = msg % self.args
  TypeError: int argument required
  INFO     2011-08-18 20:08:48,299 dev_appserver.py:4247] POST / HTTP/
  1.1 200 -
  INFO     2011-08-18 20:08:48,456 dev_appserver.py:4247] GET /
  numguess.css HTTP/1.1 200 -

  If that means anything I see a TypeError... maybe that's what is
  stopping the random number entity to be pulled back out?

  Thanks again for the help.

  On Aug 18, 11:07 am, Robert Kluin robert.kl...@gmail.com wrote:
  Hey Matt,
    Yeah there was a typo in my same code, should not have been:
      logging.info('Wrote answer, key is: %s', str(answer.key()))
    but rather:
      logging.info('Wrote answer, key is: %s', str(answer))

    What that is telling you is that an answer entity was successfully
  written.  So, now you know that the entity is getting written, what is
  the next logging line?  Are you getting an entity back from the
  datastore?

  Robert

  On Thu, Aug 18, 2011 at 12:33, Matt mpiechow...@gmail.com wrote:
   Thanks for the heads up on logging.

   I tried the logging but don't know if I did it right. For the first
   logging part in the code, I put:
   logging.info('Wrote answer, key is: %s', str(answer.key()))
   and it gave me this in the browser:
   AttributeError: 'Key' object has no attribute 'key'

   I tried replacing key with ans but that gave the same error type.
   When I just put:
   logging.info('Wrote answer, key is: %s', str(answer))
   the log file comes with this:
   Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA

   Am I doing something wrong or does this info mean anything? I honestly
   don't know what to make of it or what to change to get the random
   number in/out.. I feel like I am following what the docs say though.

   On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote:
   Hi,
     You should check out the Python logging package, it is super handy.
   Add some logging calls to your code so you can see what is happening.
   For example:

     import logging

     def post(self):
       stguess = self.request.get('guess')
       if stguess == 'new':
         answer = Answer(ans = (random.randint(1, 100))).put()
         logging.info('Wrote answer, key is: %s', str(answer.key()))
         number = Answer.all().get()
         if number is not None:
           logging.info('Got answer, value is: %d', number.ans)
           answer = number.ans
         else:
           logging.info('Oh No! Got no answer!')
           answer = None
       else:
         logging.info('Doing nothing.')

   Robert

   On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote:
I am trying to pull an integer from the datastore but I keep getting
None back. I store the integers here-

class Answer(db.Model):
   ans = db.IntegerProperty()

As a test I did this -

def post(self):

       stguess = self.request.get('guess')
       if stguess == 'new':
           answer = Answer(ans = (random.randint(1, 100))).put()
           number = Answer.all().get()
           if number is not None:
               answer = number.ans
           else:
               answer = None
           msg = str(answer)

So what that does is take user input from the user and if they entered
'new' follow the if path. ans equals a random integer between 1 and
100. Put it in Answer. Then immediately after, pull the first integer
from Answer. If it is not None assign the variable answer to the
result, else assign it to None. msg 

[google-appengine] Re: SDK 1.5.3 - deployment fails with the message Found interface com.google.appengine.tools.admin.Application, but class was expected.

2011-08-18 Thread MindRaider
Great! Thank you for logging the defect.

-- martin

On Aug 18, 9:59 pm, Ikai Lan (Google) ika...@google.com wrote:
 Yep, we're on it:

 http://code.google.com/p/googleappengine/issues/detail?id=5612

 We might end up releasing a new SDK for this.

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai







 On Wed, Aug 17, 2011 at 3:28 PM, MindRaider ultradvo...@gmail.com wrote:
  I have a problem with the deployment of my application with SDK 1.5.3.
  It compiles without any problems, but it fails just before the
  deployment with message:

   Found interface com.google.appengine.tools.admin.Application, but
  class was expected

  OS: Win7 64b; Eclipse Helios; GAE SDK 1.5.3; application
 http://web.mindforger.com

  After downgrade everything works perfectly.

  Any suggestions?

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

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



[google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Tim Hoffman
Hi

WHen you retrieve the record are you sure your getting the one you think you 
are ?
Each time you put you create a new record.


You get is returning the first record it finds (key order)
If you wrote some Answer entities early on with no value, then you wont get 
a value in the Answer object.

Probably should include your current code state, so we can see where you are 
up to.

T

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



Re: [google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Robert Kluin
On Thu, Aug 18, 2011 at 23:40, Tim Hoffman zutes...@gmail.com wrote:


 Also, just noticed one other thing.  Instead of 'if number is not
 None', in Python you can do 'if number' -- much nicer.

 Though not very good if number can be 0 or  as opposed to None ;-)

True.  But I find that syntax cleaner for an entity.  Maybe just a
personal preference though...


 I am not sure which reads better

 number is not None

I like this one, it is very natural feeling.

 or
 not number is None
 or
 or number != None

None is an instance, iirc.  So you're supposed to use 'is' to check
identity, I think.  ;)




 T

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


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



Re: [google-appengine] Re: Problem putting/retrieving from datastore

2011-08-18 Thread Robert Kluin
Hey Matt,
  You should use the datastore viewer and make sure you don't have
some bad data in there.  I'm guessing you've got entities where ans is
not set for your earlier testing.

  The good news is that you now know how to use logging, so you'll be
able to debug issues like this better in the future.


Robert




On Fri, Aug 19, 2011 at 00:13, Matt mpiechow...@gmail.com wrote:
 Thanks again.

 Changed that line and now this appears in the logs:
   INFO     2011-08-19 04:02:28,358 index.py:33] Got answer, value is:
 None
 So it is putting something in and it is None. I am not sure why. I
 must not be using .put() correctly to store the random number?
   answer = Answer(ans = (random.randint(1, 100))).put()

 I have tried variations of the put() such as not assigning a random
 number inside this statement then referring to it, but it always comes
 up as None.


 On Aug 18, 9:29 pm, Robert Kluin robert.kl...@gmail.com wrote:
 That is an excellent clue.  Try changing
    logging.info('Got answer, value is: %d', number.ans)
 to:
    logging.info('Got answer, value is: %s', str(number.ans))

 Also, just noticed one other thing.  Instead of 'if number is not
 None', in Python you can do 'if number' -- much nicer.







 On Thu, Aug 18, 2011 at 16:16, Matt mpiechow...@gmail.com wrote:
  It doesn't look like it. This is the log

  INFO     2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is
  agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA
  Traceback (most recent call last):
   File C:\Python25\lib\logging\__init__.py, line 744, in emit
     msg = self.format(record)
   File C:\Python25\lib\logging\__init__.py, line 630, in format
     return fmt.format(record)
   File C:\Python25\lib\logging\__init__.py, line 418, in format
     record.message = record.getMessage()
   File C:\Python25\lib\logging\__init__.py, line 288, in getMessage
     msg = msg % self.args
  TypeError: int argument required
  INFO     2011-08-18 20:08:48,299 dev_appserver.py:4247] POST / HTTP/
  1.1 200 -
  INFO     2011-08-18 20:08:48,456 dev_appserver.py:4247] GET /
  numguess.css HTTP/1.1 200 -

  If that means anything I see a TypeError... maybe that's what is
  stopping the random number entity to be pulled back out?

  Thanks again for the help.

  On Aug 18, 11:07 am, Robert Kluin robert.kl...@gmail.com wrote:
  Hey Matt,
    Yeah there was a typo in my same code, should not have been:
      logging.info('Wrote answer, key is: %s', str(answer.key()))
    but rather:
      logging.info('Wrote answer, key is: %s', str(answer))

    What that is telling you is that an answer entity was successfully
  written.  So, now you know that the entity is getting written, what is
  the next logging line?  Are you getting an entity back from the
  datastore?

  Robert

  On Thu, Aug 18, 2011 at 12:33, Matt mpiechow...@gmail.com wrote:
   Thanks for the heads up on logging.

   I tried the logging but don't know if I did it right. For the first
   logging part in the code, I put:
   logging.info('Wrote answer, key is: %s', str(answer.key()))
   and it gave me this in the browser:
   AttributeError: 'Key' object has no attribute 'key'

   I tried replacing key with ans but that gave the same error type.
   When I just put:
   logging.info('Wrote answer, key is: %s', str(answer))
   the log file comes with this:
   Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA

   Am I doing something wrong or does this info mean anything? I honestly
   don't know what to make of it or what to change to get the random
   number in/out.. I feel like I am following what the docs say though.

   On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote:
   Hi,
     You should check out the Python logging package, it is super handy.
   Add some logging calls to your code so you can see what is happening.
   For example:

     import logging

     def post(self):
       stguess = self.request.get('guess')
       if stguess == 'new':
         answer = Answer(ans = (random.randint(1, 100))).put()
         logging.info('Wrote answer, key is: %s', str(answer.key()))
         number = Answer.all().get()
         if number is not None:
           logging.info('Got answer, value is: %d', number.ans)
           answer = number.ans
         else:
           logging.info('Oh No! Got no answer!')
           answer = None
       else:
         logging.info('Doing nothing.')

   Robert

   On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote:
I am trying to pull an integer from the datastore but I keep getting
None back. I store the integers here-

class Answer(db.Model):
   ans = db.IntegerProperty()

As a test I did this -

def post(self):

       stguess = self.request.get('guess')
       if stguess == 'new':
           answer = Answer(ans = (random.randint(1, 100))).put()
           number = Answer.all().get()
           if number is not None:
               answer = number.ans
           else:
  

Re: [google-appengine] redirection to HTTPS is not working for Python app.yaml

2011-08-18 Thread Robert Kluin
Are you testing on the development server or production?







On Thu, Aug 18, 2011 at 16:43, thstart thst...@gmail.com wrote:
 to my Python app.yaml I added
 - url: /.*
   script: main.py
   secure: always
 BUT
 I don't get automatically redirected to the HTTPS

 What is wrong?
 According:
 http://code.google.com/appengine/docs/python/config/appconfig.html#Secure_URLs

 handlers:

 - url: /youraccount/.*
   script: accounts.py
   login: required
   secure: always

 always. Requests for a URL that match this handler that do not use HTTPS are
 automatically redirected to the HTTPS URL with the same path. Query
 parameters are preserved for the redirect.

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


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



Re: [google-appengine] Enabling billing on appengine

2011-08-18 Thread Robert Kluin
Did your order ever show up?

If not, you might want to submit a billing issue:
  
http://code.google.com/support/bin/request.py?contact_type=AppEngineBillingSupport






On Thu, Aug 18, 2011 at 14:29, fedex1 fed...@gmail.com wrote:
 Hi
 I tried to enable billing on appspot id: race-timing
 And I see this error:  And now appengine shows that billing will be enabled
 and billing changes cannot be made for 30 minutes, even though I don't see a
 google checkout order?  Can someone help or let me know that it will clear
 itself.  Thanks, Ralph

   Browse stores »
 Error
 Purchase History    Error
 Help

 Oops!
 An error occurred while processing your request.
 To fix this issue:
 Try our quick troubleshooting tips -- users report these resolve most
 issues.
 Back to My Account

 Time when the error happened: 2011-08-18T18:20:25 (UTC) (4aacbb1d8)



 https://checkout.google.com/view/buy?o=shoppingcartshoppingcart=974369501494940pli=1

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


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



Re: [google-appengine] static-error-handlers

2011-08-18 Thread Robert Kluin
Did you change the version number after redeploying?

Also, I've not looked at the headers, but have you cleared your cache?






On Wed, Aug 17, 2011 at 14:29, Berfunkle nstensl...@gmail.com wrote:
 I defined static-error-handlers (add element to appengine-web.xml file
 and added static html page) and it seemed to work fine but now I want
 to remove them. I tried removing it from the appengine-web.xml file
 and also removed the actual static html file but I am still getting
 the static page instead of the error page generated by App Engine. I
 deleted other versions of application but that did not help.

 Any thoughts would be appreciated.

 Thanks.

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



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



Re: [google-appengine] Channel API Sockets - Uni-Directional or Bi-Directional?

2011-08-18 Thread Robert Kluin
On Thu, Aug 18, 2011 at 13:46, eeejay e...@artefactgroup.com wrote:
 Question 1:  Is this the correct forum to ask question about Channel API
 (which I am intending to use in conjunction with Google App Engine).

Yes.

 Question 2: In the documentation for the Channel API it says:  The
 JavaScript client opens a socket using the token provided by the server. It
 uses the socket to listen for updates on the channel.  However
 communication from the client to the server seems to be in the form of a
 POST.
 Are Channel API sockets truly uni-directional server-to-client?  Or is there
 a way for the client to communicate back via web socket?

No; server-to-client is implemented using long-polling.  The
client-to-server uses POST requests back to the server.


Robert

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



Re: [google-appengine] Website Spam posing by appid: aking-741 using IP 64.233.172.1

2011-08-18 Thread Robert Kluin
On Thu, Aug 18, 2011 at 20:32, Murray W mursem...@gmail.com wrote:
 What do you want to do, monitor a site and if some app is hitting it
 too frequently automatically report it to Google for abusing *your*
 ToS?

terms-of-service


 (Not sure what you mean by ToS, must be a AppEngine code word.)
 Actually I do monitor my site. Doesn't everyone today monitor
 for pharmaceutical spam, SQL injection attempts and your classical
 bruteforce attacks?

Probably.

 I'm not worry about an application hitting my sites. I see allot of good
 appid:'s . It's when an AppEngine application is used like an open proxy to
 spam sites. Then the scripts brings the hammer down.

Yes, I personally very much agree with you on this.  All of the proxy
sites on App Engine are extremely annoying, especially when they are
'spoofing' legitimate sites on App Engine.  Excellent setup for a
phishing attack.





 Aren't your applications a SaaS? (Software as a Service)
 Before you think, read what I have to say.
 If one of my sites picks up 20 or 30 spam posting attempts from a single
 AppEngine that's only my site. Add a few million other sites to the mix and
 your application just cost you a bundle in bandwidth to allow a spammer to
 use.  Not my bandwidth but your applications bandwidth.
 I've read the DDoS and Reached Quota forum posts and my guess it's just
 spammers. They tend to flock 50 or so at a time averaging from what I detect
 2 to 5 posts per second.
 I'm thinking if you all found a way to either get live abuse reports or
 updates it might actually save you money.
 I'm just trying to help you all, but if you have it handled then I'll just
 watch the apps eat your bandwidth and get posted on popular blacklists.
 Today's list includes:
 appengine-google; (+http://code.google.com/appengine; appid: domaintraker)
 IP: 209.85.224.84
 Contents: http alonsoalic3 . splinder . com Percocet Dose (blah blah blah)
 It's only spam to me.
 I wonder how much bandwidth that app is costing:
 Remember, I'm only one in a million websites and it's clear I'm the only one
 to bring up an issue that is costing you money.
 The appid listed above was reported by one site I monitor:
 First seen: Report Date: 8/7/2011 4:32:41 AM last visited Report Date:
 8/18/2011 1:33:25 AM
 Add 20 million and that's some good bandwidth for the appid: domaintraker.
 I'm sure there is a way to create a sub-routine to monitor POST / GET
 requests from your apps.
 I would believe that a Human wouldn't be sending Post and Get requests
 at 4 or more per second.
 I'd be glad to work with those that are willing to work on a application.
 I've opened up the NOC reports for visitors this week. You can find the
 Google IPs and Amazon listings. Look for the APPID: notice to see how often
 this happens.
  XCtM Project v2

 Good luck and thanks for answering my questions.

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


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