[appengine-java] Re: Eclipse (GWT) problem running project.

2011-11-14 Thread Oswin
unfortunately, there is no chance that I ever renamed the project. The demo 
is fully generated fresh from project generator.

-- 
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/-/oIfOQ0ejPzsJ.
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] Error

2011-11-14 Thread Matthew Jaggard
I am using Netbeans with GAE without any issues at the moment, so it
should work. Can you check some things please?

Can you run the dev server using the command line (dev_appserver.cmd)?
If you can, can you run your code with it?
Have you loaded the server in Netbeans correctly - with the correct
paths, etc. listed under Servers under the Tools menu?
Does the file nbproject\ant-deploy.xml contain the correct path for the SDK?

Thanks,
Mat.

On 14 November 2011 04:22, Emmanuel Saenz emmanuel.sae...@gmail.com wrote:
 init:
 deps-module-jar:
 deps-ear-jar:
 deps-jar:
 library-inclusion-in-archive:
 library-inclusion-in-manifest:
 compile:
 compile-jsps:
 Starting Google App Engine
 Google App Engine Start Failed
 C:\Users\Familia\Documents\NetBeansProjects\emmanuelsaenzc\nbproject
 \build-impl.xml:721:
 Deployment error:
 Google App Engine Start Failed
 See the server log for details.
        at
 org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:
 223)
        at org.netbeans.modules.j2ee.ant.Deploy.execute(Deploy.java:106)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:
 291)
        at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)
        at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
 25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:
 106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:390)
        at org.apache.tools.ant.Target.performTasks(Target.java:411)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:
 1399)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
        at
 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:
 41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
        at
 org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:
 284)
        at
 org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:
 539)
        at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:
 153)
 BUILD FAILED (total time: 2 seconds)

 --
 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] Re: Best way to optimize a bulk update?

2011-11-14 Thread John Clarke
Hi Amy,

I did not know you could use the query cursor in that way! Very
interesting, thanks for the pointer. You are right my current approach
will not scale well, I'll research this use of query cursors with task
queues.

Cheers,
John

On Nov 13, 11:50 pm, Amy Unruh amyu+gro...@google.com wrote:
 John,

 It looks like you only need to modify the 'active' user objects.  In that
 case, you would want to use a Query that filters on the 'active' field,
 rather than fetching all User objects via an Extent.
 In addition, as your app scales it will probably make sense to break up
 your work into smaller batches using the Task Queue and Query Cursors 
 (http://code.google.com/appengine/docs/java/datastore/jdo/queries.html...).
  Fetch a batch of the user objects. Then, use the query cursor--
 obtained from the query results-- to enqueue a task to process the next
 batch of objects starting at that cursor point, and so on.  To speed things
 up, you can enqueue the next task before you start processing the objects
 returned from the current query.







 On Fri, Nov 11, 2011 at 5:47 AM, John Clarke clarke...@gmail.com wrote:
  Hi,

  I'm trying to optimize my use of the Datastore. One of my slowest
  operations reads all of the entities from a table and updates the
  information in them all. I currently do this like so:

  
  PersistenceManager pm = PMF.get().getPersistenceManager();
  Extent extent = pm.getExtent(Users.class);

  for(Object userObj : extent) {
     User user = (User)userObj;

     // only update active users
     if(user.isActive()) {
         //
         // in here I set some fields for each active user
         //
     }

  }

  // closs all fields and automatically save all the User objects
  extent.closeAll();

  

  My User class is a POJO with various getters/setters for the data. It
  contains 13 fields and the primary key is a string.

  What is the best way to improve this? The User table currently only
  has 100 or so users but it could potentially grow to thousands. This
  operation runs every 10 minutes via cron and it takes about 30-40
  seconds to complete!!

  What happens when extent.closeAll() is called? will it do multiple
  writes or is it a batch save?

  I'm currently using GAE v1.5.1 but am looking to move to v1.6 in the
  near future.

  Thanks,
  J

  --
  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] Re: Eclipse (GWT) problem running project.

2011-11-14 Thread Oswin
I've installed Eclipse (Indigo) 3.5, and installed Java jdk1.7.0_01. I also 
installed the google plugin for Eclipse with the GWT SDK 2.4.0 and the App 
Engine SDK 1.5.5 for Eclipse.
The Java JDK has been checked in the preferences at the installed JRE's.
 
When I create a new google webapplication with an example code. It appears 
to be working normally and the new webapplication is being created as a new 
project.
But when I try to run the project. The console comes up with the following 
anouncement:
 
 
Loading modules

com.demo.Demo

[ERROR] Unable to find 'com/demo/Demo.gwt.xml' on your classpath; could be 
a typo, or maybe you forgot to include a classpath entry for source?

[ERROR] shell failed in doStartup method

 

When I try to ignore this error by unchecking this error in google 
settings. When I run the program and when I execute the demo, I get this 
error message:

*nov 14, 2011 10:25:53 AM com.google.apphosting.utils.jetty.JettyLogger 
info INFO: Logging to JettyLogger(null) via 
com.google.apphosting.utils.jetty.JettyLogger nov 14, 2011 10:25:53 AM 
com.google.apphosting.utils.config.AppEngineWebXmlReader 
readAppEngineWebXml INFO: Successfully processed 
C:\Users\Oswin\workspace2\demo\war\WEB-INF/appengine-web.xml nov 14, 2011 
10:25:53 AM com.google.apphosting.utils.config.AbstractConfigXmlReader 
readConfigXml INFO: Successfully processed 
C:\Users\Oswin\workspace2\demo\war\WEB-INF/web.xml nov 14, 2011 11:25:55 AM 
com.google.appengine.tools.development.DevAppServerImpl start INFO: The 
server is running at http://localhost:/nov 14, 2011 10:26:11 AM 
com.google.apphosting.utils.jetty.JettyLogger warn WARNING: Error for 
/demo/greet java.lang.VerifyError: Expecting a stackmap frame at branch 
target 17 in method 
com.googleapp.demo.server.GreetingServiceImpl.greetServer(Ljava/lang/String;)Ljava/lang/String;
 
at offset 4 at java.lang.Class.getDeclaredConstructors0(Native Method) at 
java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) at 
java.lang.Class.getConstructor0(Class.java:2714) at 
java.lang.Class.newInstance0(Class.java:343) at 
java.lang.Class.newInstance(Class.java:325) at 
org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at 
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:428) 
at 
org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) 
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
 
at 
com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 
at 
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58)
 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 
at 
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 
at 
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 
at 
com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) 
at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) 
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at 
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
 
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
at 
com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351)
 
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
at org.mortbay.jetty.Server.handle(Server.java:326) at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at 
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
 
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at 
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at 
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) 
at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
*


How can I solve this problem?

-- 
You received this message because you are subscribed to the Google 

[appengine-java] Channel API reconnect after token timeout

2011-11-14 Thread Daniel Florey
Hi,
I'm not able to re-open a channel after the token expired.
I'm using GWT on the client side.
I am creating a new channel after the onError() method is called when the 
token expires. 
Everything looks ok but I do not get any events after reopening the channel.
I've read in another thread that I had to delete the iframe manually, but 
this did not help either.
Any ideas?
Anybody managed to properly reconnect after timeout using GWT?

Thanks,
Daniel


-- 
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/-/CQxdbpTJw5wJ.
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] Error

2011-11-14 Thread Matthew Jaggard
By happy coincidence, I've just installed Netbeans and my code to a
new machine and had exactly the same issue. The problem is that my
default java.exe (the one that runs if you type java into a command
prompt) is a version that belongs to a JRE. The vital line in the
error log is one saying it could not find tools.jar in c:\program
files\java\jre6\lib - which it wouldn't because tools.jar is not part
of the JRE, it's part of the JDK.

I resolved this by setting my path variable to include the bin
directory of my JDK - in my case c:\program files\java\jdk1.6.0_22\bin
before the location of java.exe
I also uninstalled the JRE because I don't need it, but I guess that's optional.

On my previous dev machine I'd been using jdk7 and jre7 and had no issues.

Thanks,
Mat.

On 14 November 2011 09:23, Matthew Jaggard matt...@jaggard.org.uk wrote:
 I am using Netbeans with GAE without any issues at the moment, so it
 should work. Can you check some things please?

 Can you run the dev server using the command line (dev_appserver.cmd)?
 If you can, can you run your code with it?
 Have you loaded the server in Netbeans correctly - with the correct
 paths, etc. listed under Servers under the Tools menu?
 Does the file nbproject\ant-deploy.xml contain the correct path for the SDK?

 Thanks,
 Mat.

 On 14 November 2011 04:22, Emmanuel Saenz emmanuel.sae...@gmail.com wrote:
 init:
 deps-module-jar:
 deps-ear-jar:
 deps-jar:
 library-inclusion-in-archive:
 library-inclusion-in-manifest:
 compile:
 compile-jsps:
 Starting Google App Engine
 Google App Engine Start Failed
 C:\Users\Familia\Documents\NetBeansProjects\emmanuelsaenzc\nbproject
 \build-impl.xml:721:
 Deployment error:
 Google App Engine Start Failed
 See the server log for details.
        at
 org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:
 223)
        at org.netbeans.modules.j2ee.ant.Deploy.execute(Deploy.java:106)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:
 291)
        at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)
        at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
 25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:
 106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:390)
        at org.apache.tools.ant.Target.performTasks(Target.java:411)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:
 1399)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
        at
 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:
 41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
        at
 org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:
 284)
        at
 org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:
 539)
        at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:
 153)
 BUILD FAILED (total time: 2 seconds)

 --
 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] JDOQL Query for missing properties

2011-11-14 Thread Mr. Schtief
Hi,

I have a new property on an Entity and its only set at the new ones. The 
old entites show missing in the datastore viewer.
How can i query with jdoql for entites that have missing OR propertyx ?

thx in advance

schtieF

-- 
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/-/EEGYHGa9tssJ.
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] JDOQL Query for missing properties

2011-11-14 Thread Matthew Jaggard
Because missing properties are not put into any index, it's not
possible to query on them. The only option is to query for every
single entity of the particular type. I guess you might need to change
your code to include those parameters and then write an update method
that you can run only once to query for all entities, update the
property and then put them back to the datastore.

Mat.

On 14 November 2011 14:12, Mr. Schtief lisc...@gmail.com wrote:
 Hi,
 I have a new property on an Entity and its only set at the new ones. The old
 entites show missing in the datastore viewer.
 How can i query with jdoql for entites that have missing OR propertyx ?
 thx in advance
 schtieF

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


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



[appengine-java] Re: Channel API reconnect after token timeout

2011-11-14 Thread Daniel Florey
...finally figured out how to properly remove the iframe from a GWT app:

public static native void removeChannelApi() /*-{
  var child = $wnd.parent.document.getElementById(wcs-iframe);
  if ( child != null ) {
   child.parentNode.removeChild(child);
  }
}-*/;

-- 
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/-/sg_sPX024w8J.
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] JDO embedded object not being initialized after JDO query

2011-11-14 Thread djd
Hi, I have a really simple domain structure, like this:

@PersistenceCapable
Account implements Serializable {
  @Persistent
  @PrimaryKey
  Key id;

  @Persistent
  @Embedded
  AccountDetails details;
}

@PersistenceCapable
@EmbeddedOnly
AccountDetails implements Serializable {
  @Persistent
  String name;
}


I can successfully save a new Account. However, when I retrieve it, either 
doing a

   -  (PersistenceManagerFactory).getObjectById
   - JDO query

the object is found, but that property is *always *null. Is something 
missing in the code above? I have also noticed that 
@Persistent(serialized=true) fields in embedded classes seem to cause an 
exception while saving the *Account*. (is this a known issue or I'm doing 
something wrong again?).

Thanks.

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

2011-11-14 Thread jon stevens
Hey googler's... 

It has been a week now since 1.6.0 has been released. I'd love to see an 
update to the Eclipse integration to support the new version. Ideally, this 
would go out on the same day a new version is released. Is there anything I 
can do to help?

thanks,

jon

-- 
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/-/gjYDmsVe-zAJ.
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: Updating Eclipse

2011-11-14 Thread Emanuele Ziglioli
nothing, but installing the SDK by hand as we used to do :-(

On Nov 15, 6:18 am, jon stevens latch...@gmail.com wrote:
 Hey googler's...

 It has been a week now since 1.6.0 has been released. I'd love to see an
 update to the Eclipse integration to support the new version. Ideally, this
 would go out on the same day a new version is released. Is there anything I
 can do to help?

 thanks,

 jon

-- 
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: Eclipse (GWT) problem running project.

2011-11-14 Thread Markus Zywitza
I had a similar problem in Eclipse 3.7. I solved it by downgrading to JRE
1.6.

-Markus

This mail was written on a mobile device. Please bear with me for any typos.
Am 14.11.2011 11:39 schrieb Oswin osw-...@hotmail.com:

 I've installed Eclipse (Indigo) 3.5, and installed Java jdk1.7.0_01. I
 also installed the google plugin for Eclipse with the GWT SDK 2.4.0 and the
 App Engine SDK 1.5.5 for Eclipse.
 The Java JDK has been checked in the preferences at the installed JRE's.

 When I create a new google webapplication with an example code. It appears
 to be working normally and the new webapplication is being created as a new
 project.
 But when I try to run the project. The console comes up with the following
 anouncement:


 Loading modules

 com.demo.Demo

 [ERROR] Unable to find 'com/demo/Demo.gwt.xml' on your classpath; could be
 a typo, or maybe you forgot to include a classpath entry for source?

 [ERROR] shell failed in doStartup method



 When I try to ignore this error by unchecking this error in google
 settings. When I run the program and when I execute the demo, I get this
 error message:

 *nov 14, 2011 10:25:53 AM com.google.apphosting.utils.jetty.JettyLogger
 info INFO: Logging to JettyLogger(null) via
 com.google.apphosting.utils.jetty.JettyLogger nov 14, 2011 10:25:53 AM
 com.google.apphosting.utils.config.AppEngineWebXmlReader
 readAppEngineWebXml INFO: Successfully processed
 C:\Users\Oswin\workspace2\demo\war\WEB-INF/appengine-web.xml nov 14, 2011
 10:25:53 AM com.google.apphosting.utils.config.AbstractConfigXmlReader
 readConfigXml INFO: Successfully processed
 C:\Users\Oswin\workspace2\demo\war\WEB-INF/web.xml nov 14, 2011 11:25:55 AM
 com.google.appengine.tools.development.DevAppServerImpl start INFO: The
 server is running at http://localhost:/nov 14, 2011 10:26:11 AM
 com.google.apphosting.utils.jetty.JettyLogger warn WARNING: Error for
 /demo/greet java.lang.VerifyError: Expecting a stackmap frame at branch
 target 17 in method
 com.googleapp.demo.server.GreetingServiceImpl.greetServer(Ljava/lang/String;)Ljava/lang/String;
 at offset 4 at java.lang.Class.getDeclaredConstructors0(Native Method) at
 java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) at
 java.lang.Class.getConstructor0(Class.java:2714) at
 java.lang.Class.newInstance0(Class.java:343) at
 java.lang.Class.newInstance(Class.java:325) at
 org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at
 org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:428)
 at
 org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339)
 at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
 at
 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
 at
 com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
 at
 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 at
 com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58)
 at
 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 at
 com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
 at
 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 at
 com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
 at
 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 at
 com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
 at
 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
 at
 org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
 at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
 at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
 at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at
 com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
 at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
 at
 com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351)
 at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
 at org.mortbay.jetty.Server.handle(Server.java:326) at
 org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at
 org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
 at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at
 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at
 org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at
 

[appengine-java] Re: Updating Eclipse

2011-11-14 Thread jon stevens
Yea, that is obvious, but lame. 

Every time I restart the container, I get this big message saying that an 
update is available, but I can't actually auto install 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/-/MGX-v0-3u9oJ.
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] corrupted content of text/html part in received email

2011-11-14 Thread Tom Fishman
Hi,

App engine cannot receive html email ( sent from gmail ) correctly. ( 
@appid.appspotmail.com)

The following code will show the error:

 byte[] bytes = content.getBytes(encoding); // gmail used ISO-8859-1 
mostly, UTF-8 sometime also
 printBytes(bytes);

- output:

64 (offset from beginning): 30 2e 38 65 78 3b 20* 00 *61 64 64 69 6e 67 2d 
6c - 0.8ex;
144: *00 *63 6f 6d 3c 2f 61 3e 26 67 74 3b 3c 2f 73 70 -
208: 20 30 70 78 20 30 2e 38 65* 00 *3b 20 70 61 64 64 - 0px 0.8e


00 doesn't make sense here and it was another correct character which was 
overwritten to 0.

It repros in every html emails sent from gmail. The corruption happens 
every 72 characters or so. 

Looks like a bug we will file.


-T

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



[google-appengine] Re: Datastore operations are seriously expensive

2011-11-14 Thread Volker Thiel
 If you're churning through your datastore ops because you have 100
 indexes, you would have churned through your CPU quota before.  The
 problem is you're trying to update too many indexes.  The only
 solution is don't.

Not true. I had an application that I optimized in CPU usage and it
was well below the limits every day. I only had two entities with a
few indexes each (three and four respectively). The latter is updated
frequently (several times a day). I (currently) have about 4000
entities which required approximately 20 write operations on each
update. This was no problem under the old billing model!
I threw out some of the indexes but on the cost of usability. Now I'm
down to 8 write ops for a new entity and 6 for an update. I got those
figures from the dev environment, but what I'd really like to see is
read and write ops in the production logs, since the new billing isn't
focused around CPU cycles anymore. My two cents.

Volker

-- 
You 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: routing appspot.com domain to a personal domain

2011-11-14 Thread Brandon Wirtz
You don’t want to serve from appspot it creates duplicate content in Search,
and if your domain is new, the appspot domain will be the primary and your
domain will get penalized as a scraped site.

-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of o1iver
Sent: Sunday, November 13, 2011 4:45 PM
To: Google App Engine
Subject: [google-appengine] Re: routing appspot.com domain to a personal
domain

I don't know if that is possible, but why would you want to do that?
It doesn't matter does it?

Oliver

On Nov 8, 8:24 pm, notnarayan notnara...@gmail.com wrote:
 Hello everyone.

 I have been building an app athttp://praisetheyellowball.appspot.com/
 and wish to serve it athttp://yellow.shankarnarayan.in. I have been 
 successful at linking the app by making the required changes on the 
 CNAME on my DNS server.

 How do I stop serving the app on the appspot domain and still make it 
 available on the desired domain.

 notnarayan

--
You 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: Channel limit

2011-11-14 Thread Timofey Koolin
It was my mistake while I parse messages.

I try send 1000 messages - it delivery ok.

Do google save sended messages in any buffer when channel disconnect. What
 size of this buffer?

2011/11/14 Timofey Koolin timo...@koolin.ru

 I don't have any exceptions on server-side and client side.
 Size of every js about 500 bytes.


 2011/11/14 Timofey Koolin timo...@koolin.ru

 My code look like:
 updates = get_updates(...)
 channel = get_channel(...)
 for update in updates:
 id = memcache.incr('mess id', initial_value=1)
 update['mess_id'] = id
 js = json.dumps(update)
 channel.send_message(channel, js)

 I have about 50 updates.

 After receive about 20-30 messages client side code receive one message
 infinite times and don't receive new messages. For example:
 receive 1
 receive 2
 receive ...
 receive 21 pause 20-60 sec
 receive 21 pause 20-60 sec
 receive 21 pause 20-60 sec
 receive 21 pause 20-60 sec
 receive 21 pause 20-60 sec
 ...


 2011/11/14 Timofey Koolin timo...@koolin.ru

 Amy Unruh, i far from any quota deny - all quotas are ok.
 Yes, I know about handle channel disconnect, but I write application for
 internal-use with good internet-connection and i don't want handle
 connect/disconnect and make internal buffer for messages (when channel
 disconnected) if it possible.

 I'm send every email as different message.

 Yes, I forget about one message size limit - thanks, I try check it.


 2011/11/14 Max thebb...@gmail.com

 hi Rekby,

 I am pretty sure your 100 emails just exceed channel API 32K max
 message size.

 Check message size before you send

 Max

 --
 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/-/I_rB81Ns8lsJ.

 To post to this group, send email 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.




 --
 Blog: www.rekby.ru




 --
 Blog: www.rekby.ru




 --
 Blog: www.rekby.ru




-- 
Blog: www.rekby.ru

-- 
You 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: New pricing structure infinity increase

2011-11-14 Thread Kate
But that article says to DECREASE latency whereas the two sliders in
the applications seyting page would indicate that you should INCREASE
latency. Now I am confused!

On Nov 14, 1:34 am, Gregory D'alesandre gr...@google.com wrote:
 Hi Kate, check out the article that we wrote about optimizing your app to
 minimize 
 costs:http://code.google.com/appengine/articles/managing-resources.html Without
 looking at your app its hard to know what the right settings should be
 although you are only charged for the number of idle instances up to the
 max you set as you Max Idle Instances.  Max Idle Instances also controls
 how quickly the scheduler tears instances down for you though, so it you
 set it to 1, it means that the scheduler will aggressively take down any
 additional instances which could impact your performance.

 Greg







 On Sun, Nov 13, 2011 at 3:42 PM, Kate mss.ka...@gmail.com wrote:
  I AM getting charged for instances!

   --
  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/-/2ZHYpc8KRU8J.

  To post to this group, send email 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] Datastore operations are seriously expensive

2011-11-14 Thread djidjadji
The links is a redirect to

http://code.google.com/appengine/docs/kb/billing.html

But it should be (I think)

http://code.google.com/appengine/kb/billing.html

7 november 2011 17:48 Kenneth kennet...@aladdinschools.com wrote:
 This may be old news to people but I just discovered it.
 http://code.google.com/appengine/kb/postpreviewpricing.html#operations_charged_for

-- 
You 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: New pricing structure infinity increase

2011-11-14 Thread David
You definately have to INCREASE latency to reduce costs. As far as I 
understood, the sliders work like this:
min latency: once it is reached (=a request waits in queue for that time), 
app engine might start another instance (I don't know on what it bases the 
decision whether to actually do it)
max latency: once it is reached, app engine ALWAYS starts a new instance.

There are no free instances, at least not directly. Since you have 28 free 
instance hours per day, you can run one instance for free during all of the 
day though, and another one for a few hours. Or you can run 14 instances 
for 2 hours.

If you exceed the daily 28h-limit on a regular basis, you should absolutely 
get discounted instance hours since they are 0.5$ instead of 0.8$ (0.25 
instead of 0.4 right now). You have to calculate the cost of each unused 
discounted instance hour as 0.5$ and the cost of each full-price instance 
hour (which could have been a discounted unit) as 0.3$. Or in other words: 
It is better to buy 10 discounted hours too much than buying 20 too little.

This is my personal understanding of the matter. If I am wrong, please 
correct me.

-- 
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/-/dVLQ2iGxuaEJ.
To post to this group, send email 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] AssertionErrors from URLFetch RPCs

2011-11-14 Thread Greg Darke (Google)
Can you please add the full stack trace?

And if it is repeatable either a code snippet or an explanation of
what your program was doing when the exception occured.

On 14 November 2011 18:29, someone1 someo...@gmail.com wrote:
 I am continunously getting the following error for a segment of code
 that has been working fine until just now:

 ...
    result = rpc.get_result()
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/api/apiproxy_stub_map.py, line 589, in get_result
    self.check_success()
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/api/apiproxy_stub_map.py, line 556, in check_success
    self.wait()
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/api/apiproxy_stub_map.py, line 530, in wait
    assert self.__rpc.state != apiproxy_rpc.RPC.IDLE, repr(self.state)
 AssertionError: 0

 Is this an issue I can resolve or an AppEngine thing? My code runs in
 a backend with python27 (threadsafe: false)

 Thanks,
 Prateek

 --
 You 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: Instance hours reduction strategies

2011-11-14 Thread Ron
I've set a the number of discounted instance hours, but there is no
change in the billing screens, when does it kick in?

Thanks
Ron

On Nov 11, 12:18 am, Gregory D'alesandre gr...@google.com wrote:
 We wrote an article to help with 
 this:http://code.google.com/appengine/articles/managing-resources.html

 The main things to do are:
 - Figure out an appropriate value for Max Idle Instances
 - Use concurrent requests
 - Use discounted instance hours which are 37.5% cheaper but you need to
 pre-commit to a certain number per week

 Hope that helps!

 Greg







 On Thu, Nov 10, 2011 at 1:09 PM, Ron rc...@i-tao.com wrote:
  Has anyone got good tips for reducing the number of frontend instance
  hours?

  --
  You received this message because you are subscribed to the Google Groups
  Google App Engine group.
  To post to this group, send email to google-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] Can I use set in Appengine?

2011-11-14 Thread Max
Hi,
I have a list of many elements and I want to delete the duplicates and sort 
it alphabetically.
This is my code.

set(tweetlist)
tweetlist.sort()
print tweetlist

But set() is not working. Have I to do something different in appengine? 
Have I to import something?

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/-/Wlb4iP_syeAJ.
To post to this group, send email 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: AssertionErrors from URLFetch RPCs

2011-11-14 Thread someone1
0Traceback (most recent call last):  File /base/python27_runtime/
python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 1511,
in __call__    rv = self.handle_exception(request, response, e)  File
/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/
webapp2.py, line 1505, in __call__    rv =
self.router.dispatch(request, response)  File /base/python27_runtime/
python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 1253,
in default_dispatcher    return route.handler_adapter(request,
response)  File /base/python27_runtime/python27_lib/versions/
third_party/webapp2-2.3/webapp2.py, line 1077, in __call__    return
handler.dispatch()  File /base/python27_runtime/python27_lib/versions/
third_party/webapp2-2.3/webapp2.py, line 547, in dispatch    return
self.handle_exception(e, self.app.debug)  File /base/python27_runtime/
python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 545,
in dispatch    return method(*args, **kwargs)  File /base/
python27_runtime/python27_lib/versions/1/google/appengine/ext/deferred/
deferred.py, line 289, in post    run(self.request.body)  File /base/
python27_runtime/python27_lib/versions/1/google/appengine/ext/deferred/
deferred.py, line 131, in run    return func(*args, **kwds)  File /
base/data/home/apps/s~referabuyer/aggregator.354671765578034008/
referabuyer/deferred.py, line 50, in downloadAllListingsBySeller   
to_put = saveItems(rpc, page, salt, name, downloadAllListingsBySeller,
bulk_size, after)  File /base/data/home/apps/s~referabuyer/aggregator.
354671765578034008/referabuyer/deferred.py, line 118, in saveItems   
result = rpc.get_result()   File /base/python27_runtime/python27_lib/
versions/1/google/appengine/api/apiproxy_stub_map.py, line 589, in
get_result    self.check_success()  File /base/python27_runtime/
python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py,
line 556, in check_success    self.wait()  File /base/
python27_runtime/python27_lib/versions/1/google/appengine/api/
apiproxy_stub_map.py, line 530, in wait    assert self.__rpc.state !=
apiproxy_rpc.RPC.IDLE, repr(self.state)AssertionError: 0

I was downloading from eBay's API. I set a couple pages to download
and then start iterating through them to parse out. I defer tasks to a
backend to download from eBay's API quickly. However, I should note
that in this test there was only 1 task in queue and nothing else was
going on.

Thanks,
Prateek
On Nov 14, 8:29 am, Greg Darke (Google) darke+goo...@google.com
wrote:
 Can you please add the full stack trace?

 And if it is repeatable either a code snippet or an explanation of
 what your program was doing when the exception occured.

 On 14 November 2011 18:29, someone1 someo...@gmail.com wrote:







  I am continunously getting the following error for a segment of code
  that has been working fine until just now:

  ...
     result = rpc.get_result()
   File /base/python27_runtime/python27_lib/versions/1/google/
  appengine/api/apiproxy_stub_map.py, line 589, in get_result
     self.check_success()
   File /base/python27_runtime/python27_lib/versions/1/google/
  appengine/api/apiproxy_stub_map.py, line 556, in check_success
     self.wait()
   File /base/python27_runtime/python27_lib/versions/1/google/
  appengine/api/apiproxy_stub_map.py, line 530, in wait
     assert self.__rpc.state != apiproxy_rpc.RPC.IDLE, repr(self.state)
  AssertionError: 0

  Is this an issue I can resolve or an AppEngine thing? My code runs in
  a backend with python27 (threadsafe: false)

  Thanks,
  Prateek

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

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



[google-appengine] Re: AssertionErrors from URLFetch RPCs

2011-11-14 Thread someone1
Oh, I found out what went wrong. I had inadvertently deleted a line of
code to kick of the download before I added the rpc object to my list
of rpcs. Sorry for the confusion, must have been too tired to notice
last night.

Thanks,
Prateek

On Nov 14, 10:00 am, someone1 someo...@gmail.com wrote:
 0Traceback (most recent call last):  File /base/python27_runtime/
 python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 1511,
 in __call__    rv = self.handle_exception(request, response, e)  File
 /base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/
 webapp2.py, line 1505, in __call__    rv =
 self.router.dispatch(request, response)  File /base/python27_runtime/
 python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 1253,
 in default_dispatcher    return route.handler_adapter(request,
 response)  File /base/python27_runtime/python27_lib/versions/
 third_party/webapp2-2.3/webapp2.py, line 1077, in __call__    return
 handler.dispatch()  File /base/python27_runtime/python27_lib/versions/
 third_party/webapp2-2.3/webapp2.py, line 547, in dispatch    return
 self.handle_exception(e, self.app.debug)  File /base/python27_runtime/
 python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 545,
 in dispatch    return method(*args, **kwargs)  File /base/
 python27_runtime/python27_lib/versions/1/google/appengine/ext/deferred/
 deferred.py, line 289, in post    run(self.request.body)  File /base/
 python27_runtime/python27_lib/versions/1/google/appengine/ext/deferred/
 deferred.py, line 131, in run    return func(*args, **kwds)  File /
 base/data/home/apps/s~referabuyer/aggregator.354671765578034008/
 referabuyer/deferred.py, line 50, in downloadAllListingsBySeller
 to_put = saveItems(rpc, page, salt, name, downloadAllListingsBySeller,
 bulk_size, after)  File /base/data/home/apps/s~referabuyer/aggregator.
 354671765578034008/referabuyer/deferred.py, line 118, in saveItems
 result = rpc.get_result()   File /base/python27_runtime/python27_lib/
 versions/1/google/appengine/api/apiproxy_stub_map.py, line 589, in
 get_result    self.check_success()  File /base/python27_runtime/
 python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py,
 line 556, in check_success    self.wait()  File /base/
 python27_runtime/python27_lib/versions/1/google/appengine/api/
 apiproxy_stub_map.py, line 530, in wait    assert self.__rpc.state !=
 apiproxy_rpc.RPC.IDLE, repr(self.state)AssertionError: 0

 I was downloading from eBay's API. I set a couple pages to download
 and then start iterating through them to parse out. I defer tasks to a
 backend to download from eBay's API quickly. However, I should note
 that in this test there was only 1 task in queue and nothing else was
 going on.

 Thanks,
 Prateek
 On Nov 14, 8:29 am, Greg Darke (Google) darke+goo...@google.com
 wrote:







  Can you please add the full stack trace?

  And if it is repeatable either a code snippet or an explanation of
  what your program was doing when the exception occured.

  On 14 November 2011 18:29, someone1 someo...@gmail.com wrote:

   I am continunously getting the following error for a segment of code
   that has been working fine until just now:

   ...
      result = rpc.get_result()
    File /base/python27_runtime/python27_lib/versions/1/google/
   appengine/api/apiproxy_stub_map.py, line 589, in get_result
      self.check_success()
    File /base/python27_runtime/python27_lib/versions/1/google/
   appengine/api/apiproxy_stub_map.py, line 556, in check_success
      self.wait()
    File /base/python27_runtime/python27_lib/versions/1/google/
   appengine/api/apiproxy_stub_map.py, line 530, in wait
      assert self.__rpc.state != apiproxy_rpc.RPC.IDLE, repr(self.state)
   AssertionError: 0

   Is this an issue I can resolve or an AppEngine thing? My code runs in
   a backend with python27 (threadsafe: false)

   Thanks,
   Prateek

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

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



[google-appengine] Re: Can I use set in Appengine?

2011-11-14 Thread Tim Hoffman
Hi

If your using Python 2.5 then you need to import the sets module.

 from sets import Set
 Set([1,2,1,2,4])
Set([1, 2, 4])
 

This code will also work in 2.7

Though in 2.7 you have the set type builtin.

Rgds

Tim


-- 
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/-/jbZddnsDuQgJ.
To post to this group, send email 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: Yaml addressing and template with GAE is not working ?

2011-11-14 Thread Tim Hoffman
Static files (mapped by the static handler) are not accessible from your 
application code.

The static files are handled by different infrastructure.  You will need to 
deploy a second copy 
one for your application code access and one for static handler.

Its always been this way.  

Use a symlink in your project folder, rather than keeping two copies 
locally.

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



[google-appengine] Re: Can I use set in Appengine?

2011-11-14 Thread Max
It's not working for me.
The code:

from sets import Set
(..)
Set(tweetlist)
tweetlist.sort()
print tweetlist

The results:

[u'1001storieRoma', u'3zoOozq8', u'6PierC9', u'ABelal10', u'ASRoma_1927', 
u'ASRoma_1927', u'ASRoma_1927', u'AcoSoegono', u'AdiCuur', u'AdistaAdinda', 
u'AleSCCP', u'Alpax93', u'AndreaGirvasi', u'AndreaGirvasi', u'AndreaLaureti', 
u'AngeloMarolla', u'AnnameryZA', u'Aquismaia21', u'Arianthorn', u'ArsAas', 
u'Assemotti', u'Baressobastia', u'Barz_O', u'Beamikyb', u'BhargaWisnawa', 
u'BoDherar', u'BonHakkinen', u'BrickView', u'Budicesc', u'BuonAndrew', 
u'Burziga', u'C4224', u'CalcioBlogLive', u'CalcioBlogLive', u'CamillaSpinelli', 
u'CarlaTrudu', u'ChenguGold', u'Cicciotosto', u'ClaudiaBorry', u'DanyRecchia', 
u'Darko_8_', u'Darko_8_', u'DaveSaveriano', u'Davide_Martelli', 
u'Davide_Martelli', u'Dborruto', u'DeadCatDeadRat', u'DemonBrando', 
u'DemonBrando', u'DiSalviaMichele', u'Di_Elle', u'Di_Elle', u'Di_Elle', 
u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', 
u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'DianaDionisioG', u'DjSekou', 
u'EmDeFra', u'EmanueleMelfi', u'Er_capo5', u'ErikCocoTomo', u'Erik_lamela_', 
u'FeDeShh', u'FedeFede_', u'FedericaLago', u'Ferdinando_R', u'Filver93', 
u'FiqiAinur', u'Fra__Asr', u'Francesca_LG', u'Frau87', u'Frau87', u'Frau87', 
u'Frau87', u'FunkyKovael', u'GIOVANNI_N0', u'Gabriella_Guida', u'Giaima', 
u'Giugia89', u'Giulia_B34', u'Giulia__asr', u'Giulia__asr', u'Giuseppecaboni', 
u'GregMY', u'GretaFaccani', u'Gsateeh', u'Hamod_D', u'Hellii4', 
u'HudsonKnedyGirl', u'Ilya_Kam', u'Irishtotti', u'Itz_Simple', u'Itz_Simple', 
u'J_Stonebraker', u'J_Stonebraker', u'Jack_Bauer1978', u'Jack_Bauer1978', 
u'JuJuAlmal', u'JuJuAlmal', u'JuJuAlmal', u'Kayingi', u'LAROMA24', u'LAROMA24', 
u'LAROMA24', u'LAROMA24', u'LAROMA24', u'LUTP', u'LUTP', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 
u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', 

[google-appengine] Ancestor queries / indexes

2011-11-14 Thread johnP
My data currently on MS is organized into entities.
  - For example, let's say that each Organization is it's own entity
group.

Most of my queries are within an entity/organization.  An example of a
typical query is:
 - Employee.all().filter('organization =', org).filter('position =',
manager).fetch(1000)

This same query can also be done using an ancestor query:
 - Employee.all().ancestor(org_key).filter('position =',
manager).fetch(1000)

The first version of the query does not require a custom index, but
the second version does.

My questions:
1.  Will moving from the first version to the the second version of
the query require adding custom indexes? Or am I missing something?
2.  Clarification on Strong Consistency in HR:  Is it necessary to use
the ancestor() operator, or is simply querying within an entity group
strongly consistent?  My assumption has been that for queries that
must be strongly consistent, it will be necessary to migrate from the
first format to the second format (increasing the number of custom
indexes I need to carry).  Is this assumption correct?

-- 
You 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: Help resolve massive performance regression in 2.7 vs 2.5 runtime

2011-11-14 Thread Pol
Hi Brian,

  So on December 1st, the 50% discount for front-instances is gone. The
  idea is to compensate by switching to Python 2.7 with multithreading,
  but it looks like at this point it's a lose-lose situation: it runs
  more requests at the same time, but they take longer. We're mid-
  November already, do you guys think you'll have all of this working
  perfectly within 2 weeks?

 No, the issues with concurrent requests won't be fixed by the end of November.

 But note that concurrent requests will *not* improve the utilization
 of CPU-bound requests. Running multiple threads on the same CPU just
 proportionally slows each thread down.

That doesn't make sense: apps do a mix of CPU stuff and RPC stuff (and
possibly URL requests). What's the points of concurrent requests if it
slows down the CPU stuff while allowing to parallelize your RPC calls?
The end result will be the same number of instance as requests end up
taking longer. Isn't the scheduler supposed to watch all this and
ensure the CPU on each physical machine is not saturated?

Only apps that do long poll URL requests and barely use the CPU would
benefit of concurrent requests then.

We were told: don't worry so much about hours-based pricing, just wait
for 2.7 runtime, it'll have concurrent requests, it'll compensate
things. Clearly that doesn't work as promised if just turning
threadsafe ON makes a 2 seconds requests turn into a 30-60 seconds
one: the scheduler is not doing the right thing.

It seems what you need is a per WSGIApplication instance control of
the concurrent setting instead of global one, so you can turn it on
only where it makes sense.

Finally, no matter what, concurrent or not, there's still a problem as
2.7 runtime appears slower than 2.5 in this simple empirical test. I'm
starting to suspect you are using the 2.7 transition as a opportunity
to run more virtual instances per physical machine.

- Pierre

-- 
You 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: BlobStoreService.createUploadUrl(String url) problem

2011-11-14 Thread Drew Spencer
Just wanted to say that I also have this problem. I'm using the workaround 
as described in the stackoverflow solution, but it would be nice to know 
why this is happening.

More people must be having this problem, surely?

Drew

-- 
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/-/l3VX3JzgjxcJ.
To post to this group, send email 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] XMPP getPresence() deprecated in 1.5.5... aaaaargh!

2011-11-14 Thread Rori Stumpf
I see XMPP getPresence() has been deprecated in favor of unnecessarily
complicated (for the task of checking presence) XMPP postbacks... so
now I have to build a little subsystem to track and maintain user
state, when state could be detected with 1 simple call in earlier GAE
versions. I don't want to catch and inspect every XMPP state change
from all users - that is a waste of billable resources.

All I want is to check, when necessary, that the user is present or
not. What was wrong with the code below? How about keeping it
simple... as with previous versions?

if (xmpp.getPresence(jid).isAvailable()) {
// do stuff
}

Working around the limitations of GAE is becoming increasingly
frustrating. Call me cynical, but all this deprecation does is
increase billable usage and create unnecessary code.

-- 
You 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] copying data from appengine datastore admin to my dev server. failed with status 401

2011-11-14 Thread Greg Tracy

It's probably worth adding one more detail. I can't access the Datastore 
Admin when I'm logged in with app's owner account (I think this is a known 
bug). I can only access the admin page from another developer account. 

That may be contributing to the access problem.

Thoughts?

-- 
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/-/gZzBV_kvEWUJ.
To post to this group, send email 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: Help resolve massive performance regression in 2.7 vs 2.5 runtime

2011-11-14 Thread Brian Quinlan
Hi Pierre,

On Tue, Nov 15, 2011 at 3:19 AM, Pol p...@everpix.net wrote:
 Hi Brian,

  So on December 1st, the 50% discount for front-instances is gone. The
  idea is to compensate by switching to Python 2.7 with multithreading,
  but it looks like at this point it's a lose-lose situation: it runs
  more requests at the same time, but they take longer. We're mid-
  November already, do you guys think you'll have all of this working
  perfectly within 2 weeks?

 No, the issues with concurrent requests won't be fixed by the end of 
 November.

 But note that concurrent requests will *not* improve the utilization
 of CPU-bound requests. Running multiple threads on the same CPU just
 proportionally slows each thread down.

 That doesn't make sense: apps do a mix of CPU stuff and RPC stuff (and
 possibly URL requests). What's the points of concurrent requests if it
 slows down the CPU stuff while allowing to parallelize your RPC calls?

This pattern (a mix of CPU use and RPC calls) will benefit from
concurrent requests. I was writing about what I understood to be your
login example.

Presumably it does a single datastore read to access user information
(taking 40ms of so) and then spends 1 seconds doing cryptography.

 The end result will be the same number of instance as requests end up
 taking longer. Isn't the scheduler supposed to watch all this and
 ensure the CPU on each physical machine is not saturated?

 Only apps that do long poll URL requests and barely use the CPU would
 benefit of concurrent requests then.

 We were told: don't worry so much about hours-based pricing, just wait
 for 2.7 runtime, it'll have concurrent requests, it'll compensate
 things. Clearly that doesn't work as promised if just turning
 threadsafe ON makes a 2 seconds requests turn into a 30-60 seconds
 one: the scheduler is not doing the right thing.

Yes, these large latency increases are a bug:
http://code.google.com/p/googleappengine/issues/detail?id=6323

 It seems what you need is a per WSGIApplication instance control of
 the concurrent setting instead of global one, so you can turn it on
 only where it makes sense.

 Finally, no matter what, concurrent or not, there's still a problem as
 2.7 runtime appears slower than 2.5 in this simple empirical test. I'm
 starting to suspect you are using the 2.7 transition as a opportunity
 to run more virtual instances per physical machine.

That's not the case. The Python 2.7 runtime is slower than the Python
2.5 runtime in some cases and faster in others. We aren't publicizing
the reasons why at this point.

Cheers,
Brian

 - Pierre

 --
 You 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: Since Monday, these simple SQL operations translate to expensive DataStore operations, why?

2011-11-14 Thread Denis Volokhovskiy
Hi,

You should use sharded counter rather then count() function.
count() simply traverses all entities of the kind until reaches the last, 
so scales linearly with you data size.
I suppose you entities count simply raised much since Monday, so you have 
noticed that.

datastore is different...

-- 
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/-/IYxaLQwJMjcJ.
To post to this group, send email 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] copying data from appengine datastore admin to my dev server. failed with status 401

2011-11-14 Thread Greg Tracy

I found the issue I had been prefixing my app ID in the 
appengine_config.py file with 's~', which is the norm for bulkloader 
operations even though it isn't documented. It looks like that prefix isn't 
required in this case.


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



Re: [google-appengine] Re: Datastore operations are seriously expensive

2011-11-14 Thread Jeff Schnitzer
On Mon, Nov 14, 2011 at 4:27 AM, Volker Thiel v.th...@kosatec.de wrote:

  If you're churning through your datastore ops because you have 100
  indexes, you would have churned through your CPU quota before.  The
  problem is you're trying to update too many indexes.  The only
  solution is don't.

 Not true. I had an application that I optimized in CPU usage and it
 was well below the limits every day. I only had two entities with a
 few indexes each (three and four respectively). The latter is updated
 frequently (several times a day). I (currently) have about 4000
 entities which required approximately 20 write operations on each
 update. This was no problem under the old billing model!
 I threw out some of the indexes but on the cost of usability. Now I'm
 down to 8 write ops for a new entity and 6 for an update. I got those
 figures from the dev environment, but what I'd really like to see is
 read and write ops in the production logs, since the new billing isn't
 focused around CPU cycles anymore. My two cents.


I don't mean to argue that the price hasn't gone up... just that it bills
more or less the same way as before (which hid datastore ops in
api_cpu_ms).  They just tripled (or more) the price for these ops.
 Sounds like your app is in the margin of what was cheap before and
expensive now.

Read and write ops in the production logs would be rad.  Is there an issue
I can star?

Jeff

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



[google-appengine] I can't disable the billing on my application

2011-11-14 Thread Alexandre Vivien
Hello,

I have a test application (I am the billing administrator on this app)
and I want to disable billing but the Disable Billing button does
not appear in the Billing Settings page.
Is it normal? How can I disable the billing on this application ?
Thanks.

Regards,
Alexandre Vivien

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



[google-appengine] Re: Can I use set in Appengine?

2011-11-14 Thread pdknsk
http://shell.appspot.com/

 set([1,2,3,4,5,1,2])
set([1, 2, 3, 4, 5])

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



Re: [google-appengine] Re: Yaml addressing and template with GAE is not working ?

2011-11-14 Thread karthik valsatech
On Mon, Nov 14, 2011 at 10:56 AM, Tim Hoffman zutes...@gmail.com wrote:

 Static files (mapped by the static handler) are not accessible from your
 application code.

 The static files are handled by different infrastructure.  You will need
 to deploy a second copy
 one for your application code access and one for static handler.

 Its always been this way.

 Use a symlink in your project folder, rather than keeping two copies
 locally.

 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/-/tkoAtyiPkakJ.

 To post to this group, send email 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] Since Monday, these simple SQL operations translate to expensive DataStore operations, why?

2011-11-14 Thread karthik valsatech
On Tue, Nov 8, 2011 at 4:37 PM, Alberto Valaz alberto.va...@gmail.comwrote:

 I noticed that a number of simple SQL operations that my application
 is dependent on generate very high quota usage.
 Basically, one run of the three operations listed below are enough to
 use up my daily free quota!!


 I assume I am doing something very wrong but I am not sure how to fix
 it. Could anyone please give me

  thank you


 PS. an interesting twist is that the below code worked just fine under
 the old payment model.


 -
 // The table Something below has around 50k rows. No indexes are used.

 PersistenceManager pm = ...


 // Select COUNT(*) from Something
 Query q = pm.newQuery(Something.Class, null);
 q.setResult(count(this));
 q.execute();



 // select COUNT(*) from Something where 1234  feild
 Query q = pm.newQuery(Something.Class, this.field  field);
 q.declareParameters(Long field);
 q.setResult(count(this));
 q.executeWithArray(1234);


 // select * from Something order total DESC
 Query q = pm.newQuery(Something.Class, null);
 q.setOrdering(total DESC);
 q.execute();

 --
 You 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: Can I use set in Appengine?

2011-11-14 Thread Matt Jibson
From http://docs.python.org/library/stdtypes.html#set-types-set-frozenset:
A set object is an unordered collection

You can use set() to filter out duplicates. But then you need to
convert back to a list to be able to sort:
result = sorted(list(set(tweetlist)))

On Mon, Nov 14, 2011 at 2:22 PM, pdknsk pdk...@googlemail.com wrote:
 http://shell.appspot.com/

 set([1,2,3,4,5,1,2])
 set([1, 2, 3, 4, 5])

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



-- 
You 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: KeyProperty and repeated=True

2011-11-14 Thread Owen Nelson
Ok, I think I see where the disconnect is.
KeyProperty only accepts instances of model.Key (which is fair). If I want 
to limit my property on my model to only accept certain kinds of keys, I 
should enforce this requirement through a validator.

Unless there's a better way, I think I'm all set!

Regards,
Owen Nelson

-- 
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/-/jogNlz1nljgJ.
To post to this group, send email 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: Can I use set in Appengine?

2011-11-14 Thread Matt Jibson
To improve my previous post: no need to use list(). You can do
sorted(set(tweetlist)).

On Mon, Nov 14, 2011 at 2:29 PM, Matt Jibson matt.jib...@gmail.com wrote:
 From http://docs.python.org/library/stdtypes.html#set-types-set-frozenset:
 A set object is an unordered collection

 You can use set() to filter out duplicates. But then you need to
 convert back to a list to be able to sort:
 result = sorted(list(set(tweetlist)))

 On Mon, Nov 14, 2011 at 2:22 PM, pdknsk pdk...@googlemail.com wrote:
 http://shell.appspot.com/

 set([1,2,3,4,5,1,2])
 set([1, 2, 3, 4, 5])

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




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



RE: [google-appengine] I can't disable the billing on my application

2011-11-14 Thread Brandon Wirtz
Make sure you don't have always on set. And that you aren't over free quota
on storage.


-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Alexandre Vivien
Sent: Monday, November 14, 2011 1:14 PM
To: Google App Engine
Subject: [google-appengine] I can't disable the billing on my application

Hello,

I have a test application (I am the billing administrator on this app) and I
want to disable billing but the Disable Billing button does not appear in
the Billing Settings page.
Is it normal? How can I disable the billing on this application ?
Thanks.

Regards,
Alexandre Vivien

--
You 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: Help resolve massive performance regression in 2.7 vs 2.5 runtime

2011-11-14 Thread Brandon Wirtz
Half sized instances, so they may be half speed.

-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Pol
Sent: Sunday, November 13, 2011 9:32 AM
To: Google App Engine
Subject: [google-appengine] Re: Help resolve massive performance regression
in 2.7 vs 2.5 runtime

Hi Brian,

It helps, it's now at ~5s instead, but still at least 2x slower than on the
2.5 runtime.

So on December 1st, the 50% discount for front-instances is gone. The idea
is to compensate by switching to Python 2.7 with multithreading, but it
looks like at this point it's a lose-lose situation: it runs more requests
at the same time, but they take longer. We're mid- November already, do you
guys think you'll have all of this working perfectly within 2 weeks? The 1.6
SDK which actually allows to run 2.7 locally was just released, so we're
only starting to test now. Seems to me deferring the payment change 1 more
month to January 1st 2012 wouldn't hurt :)

On Nov 12, 10:09 pm, Brian Quinlan bquin...@google.com wrote:
 Hi Pol,

 Thanks for getting back to me.

 On Sun, Nov 13, 2011 at 4:50 PM, Pol p...@everpix.net wrote:
  Hi Brian,

  threadsafe is true

 There is a known issue where concurrent requests (enabled with
 threadsafe) can be much slower than non-concurrent requests, 
 especially if the request is CPU-bound.

 You might want to set threadsafe to false and see if that fixes the
problem.

 Cheers,
 Brian







  Here's an example password_hash for an original 8 characters password:

  $2a$04$cbM2uHwDphIG3jFFRpq1mui5aVjevnDUwhvQ77S/WG/qvJMpiXAL6

  On Nov 12, 6:58 pm, Brian Quinlan bquin...@google.com wrote:
  Hi Pol,

  On Sun, Nov 13, 2011 at 1:48 PM, Pol p...@everpix.net wrote:
   Hi,

   Since switching to 2.7 runtime, logging in 
   tohttp://www.everpix.com went from about a second to anywhere 
   from 15s to 60s. I tracked it down to this single password checking
line:

   from bcrypt import bcrypt
   bcrypt.hashpw(password, self.password_hash) == self.password_hash

  What value are you using for threadsafe in your app.yaml?

  How large is self.password_hash?

  Cheers,
  Brian

   This comes from a native Python implementation of the py-bcrypt 
   package fromhttp://www.mindrot.org/projects/py-bcrypt/; grabbed 
   from here:https://github.com/erlichmen/py-bcrypt.

   So what's happening here and how can we fix this?

   Thanks,

   - Pol

   --
   You 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
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] URGENT: google checkout for usage i dont know where it comes from.

2011-11-14 Thread andreas schmid
dear google,

in the last few weeks you charged me for google app engine usage i don't 
actually know where its coming from.
i dont know which app is consuming this money and i actually think i don't have 
any app shows usage for this amount.

please contact me asap to clear this situation!!
Google order number: 363075622065800

thx

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-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: URGENT: google checkout for usage i dont know where it comes from.

2011-11-14 Thread andreas schmid
and seriously... start adding an appid to the charges you send! 
its not acceptable that i cant figure out why i get charged for money.

thx

On Nov 14, 2011, at 4:09 PM, andreas schmid wrote:

 dear google,
 
 in the last few weeks you charged me for google app engine usage i don't 
 actually know where its coming from.
 i dont know which app is consuming this money and i actually think i don't 
 have any app shows usage for this amount.
 
 please contact me asap to clear this situation!!
 Google order number: 363075622065800
 
 thx

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-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: I can't disable the billing on my application

2011-11-14 Thread Alexandre Vivien
I'm under free quota for storage and always on is not set.
If it helps I can give my app id.

Regards,
Alexandre

On Nov 14, 11:06 pm, Brandon Wirtz drak...@digerat.com wrote:
 Make sure you don't have always on set. And that you aren't over free quota
 on storage.







 -Original Message-
 From: google-appengine@googlegroups.com

 [mailto:google-appengine@googlegroups.com] On Behalf Of Alexandre Vivien
 Sent: Monday, November 14, 2011 1:14 PM
 To: Google App Engine
 Subject: [google-appengine] I can't disable the billing on my application

 Hello,

 I have a test application (I am the billing administrator on this app) and I
 want to disable billing but the Disable Billing button does not appear in
 the Billing Settings page.
 Is it normal? How can I disable the billing on this application ?
 Thanks.

 Regards,
 Alexandre Vivien

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

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



[google-appengine] Question about Write Ops cost for updating an entity with changed properties

2011-11-14 Thread Alex Epshteyn
Alfred wrote an excellent explanation of how write ops are charged
( http://groups.google.com/group/google-appengine/msg/ca47eb7678d50372?
).

My question is how does the the datastore determine whether a property
has actually changed - does it compare the new value to the saved
value or does the python db.Model class mark a property as changed
every time it's assigned (even if the values are the same).

-- 
You 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: URGENT: google checkout for usage i dont know where it comes from.

2011-11-14 Thread andreas schmid
hey david,

are you working for google or did you just answer me bc u saw my post and 
responded me privately instead of answering to the list??

if i set up a 2.10 amount it was for a max spend and never for a min spend!! 
i use this app for testing some stuff sometimes and i really don't see where it 
should charge me $2.10!

On Nov 14, 2011, at 4:47 PM, David wrote:

 If you enable billing, you have a minimum spend of 2.1$/week!
 
 Am Montag, 14. November 2011 23:40:38 UTC+1 schrieb aschmid:
 really dont get it. where do the $ 2.10 come from? 
 
 
 On Nov 14, 2011, at 4:09 PM, andreas schmid wrote:
 
 dear google,
 
 in the last few weeks you charged me for google app engine usage i don't 
 actually know where its coming from.
 i dont know which app is consuming this money and i actually think i don't 
 have any app shows usage for this amount.
 
 please contact me asap to clear this situation!!
 Google order number: 363075622065800
 
 thx
 

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-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: URGENT: google checkout for usage i dont know where it comes from.

2011-11-14 Thread Gregory D'alesandre
Hi Andreas,

If you have billing enabled App Engine will now charge you $2.10/week as a
minimum spend.  Above $2.10 we will charge you for what you use.  If you
don't need to go beyond the free quota, it might make more sense to disable
billing on your application.  More information can be found here:
http://code.google.com/appengine/kb/billing.html#nine_dollar_month_fee_minimum_spend

Greg D'Alesandre
Senior Product Manager, Google App Engine

On Mon, Nov 14, 2011 at 2:53 PM, andreas schmid a.schmi...@gmail.comwrote:

 hey david,

 are you working for google or did you just answer me bc u saw my post and
 responded me privately instead of answering to the list??

 if i set up a 2.10 amount it was for a max spend and never for a min
 spend!!
 i use this app for testing some stuff sometimes and i really don't see
 where it should charge me $2.10!

 On Nov 14, 2011, at 4:47 PM, David wrote:

 If you enable billing, you have a minimum spend of 2.1$/week!

 Am Montag, 14. November 2011 23:40:38 UTC+1 schrieb aschmid:

 really dont get it. where do the $ 2.10 come from?


 On Nov 14, 2011, at 4:09 PM, andreas schmid wrote:

 dear google,

 in the last few weeks you charged me for google app engine usage i don't
 actually know where its coming from.
 i dont know which app is consuming this money and i actually think i
 don't have any app shows usage for this amount.

 please contact me asap to clear this situation!!
 Google order number: *363075622065800*

 thx



  --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To post to this group, send email to google-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: URGENT: google checkout for usage i dont know where it comes from.

2011-11-14 Thread andreas schmid
i figured that out right now.
anyway i enabled billing time ago for this appid bc i needed the blobstore. 
now the blobstore does not need the billing enabled anymore and this app was a 
'forgotten' one of mine. 

i actually really think its uncool from your side to charge for this app. 
and you should start adding an appid to the google checkout receipt bc there is 
no way to understand what you are charging for. 

thx for the reply.

On Nov 14, 2011, at 5:07 PM, Gregory D'alesandre wrote:

 Hi Andreas,
 
 If you have billing enabled App Engine will now charge you $2.10/week as a 
 minimum spend.  Above $2.10 we will charge you for what you use.  If you 
 don't need to go beyond the free quota, it might make more sense to disable 
 billing on your application.  More information can be found here: 
 http://code.google.com/appengine/kb/billing.html#nine_dollar_month_fee_minimum_spend
 
 Greg D'Alesandre
 Senior Product Manager, Google App Engine
 
 On Mon, Nov 14, 2011 at 2:53 PM, andreas schmid a.schmi...@gmail.com wrote:
 hey david,
 
 are you working for google or did you just answer me bc u saw my post and 
 responded me privately instead of answering to the list??
 
 if i set up a 2.10 amount it was for a max spend and never for a min spend!! 
 i use this app for testing some stuff sometimes and i really don't see where 
 it should charge me $2.10!
 
 On Nov 14, 2011, at 4:47 PM, David wrote:
 
 If you enable billing, you have a minimum spend of 2.1$/week!
 
 Am Montag, 14. November 2011 23:40:38 UTC+1 schrieb aschmid:
 really dont get it. where do the $ 2.10 come from? 
 
 
 On Nov 14, 2011, at 4:09 PM, andreas schmid wrote:
 
 dear google,
 
 in the last few weeks you charged me for google app engine usage i don't 
 actually know where its coming from.
 i dont know which app is consuming this money and i actually think i don't 
 have any app shows usage for this amount.
 
 please contact me asap to clear this situation!!
 Google order number: 363075622065800
 
 thx
 
 
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Google App Engine group.
 To post to this group, send email to google-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: URGENT: google checkout for usage i dont know where it comes from.

2011-11-14 Thread Gregory D'alesandre
Thanks for the feedback, we are currently looking into adding the appid
into the receipt.

Greg

On Mon, Nov 14, 2011 at 3:24 PM, andreas schmid a.schmi...@gmail.comwrote:

 i figured that out right now.
 anyway i enabled billing time ago for this appid bc i needed the
 blobstore.
 now the blobstore does not need the billing enabled anymore and this app
 was a 'forgotten' one of mine.

 i actually really think its uncool from your side to charge for this app.
 and you should start adding an appid to the google checkout receipt bc
 there is no way to understand what you are charging for.

 thx for the reply.

 On Nov 14, 2011, at 5:07 PM, Gregory D'alesandre wrote:

 Hi Andreas,

 If you have billing enabled App Engine will now charge you $2.10/week as a
 minimum spend.  Above $2.10 we will charge you for what you use.  If you
 don't need to go beyond the free quota, it might make more sense to disable
 billing on your application.  More information can be found here:
 http://code.google.com/appengine/kb/billing.html#nine_dollar_month_fee_minimum_spend

 Greg D'Alesandre
 Senior Product Manager, Google App Engine

 On Mon, Nov 14, 2011 at 2:53 PM, andreas schmid a.schmi...@gmail.comwrote:

 hey david,

 are you working for google or did you just answer me bc u saw my post and
 responded me privately instead of answering to the list??

 if i set up a 2.10 amount it was for a max spend and never for a min
 spend!!
 i use this app for testing some stuff sometimes and i really don't see
 where it should charge me $2.10!

 On Nov 14, 2011, at 4:47 PM, David wrote:

 If you enable billing, you have a minimum spend of 2.1$/week!

 Am Montag, 14. November 2011 23:40:38 UTC+1 schrieb aschmid:

 really dont get it. where do the $ 2.10 come from?


 On Nov 14, 2011, at 4:09 PM, andreas schmid wrote:

 dear google,

 in the last few weeks you charged me for google app engine usage i don't
 actually know where its coming from.
 i dont know which app is consuming this money and i actually think i
 don't have any app shows usage for this amount.

 please contact me asap to clear this situation!!
 Google order number: *363075622065800*

 thx




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



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


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


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



Re: [google-appengine] We're down hard because the payments system is failing! HELP!

2011-11-14 Thread Ikai Lan (Google)
I just checked on your app and it looks okay to me.

For anyone else having issues with this, the best place to get help is to
email the address provided in the mass email that's also available on the
billing history page. It should be appengine_update_pricing at google.
We're working through this queue as quickly as we can to help folks
transition to the new billing.

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



On Tue, Nov 15, 2011 at 9:40 AM, Mike Prince m...@mikeprince.com wrote:

 For the app yumyumlabs, we ran an entity delete process on 4m records
 and it ended up eating $40 of our budget in a few minutes (36M
 database writes!)

 When we tried to increase our budget the payments system is failing
 with:

 Hello michael prince,

 Google Services has cancelled your order.  You have not been charged.
 Reason: Other (describe below)
 Comments from Google Services: This inactive subscription has been
 canceled
  Order date: Nov 14, 2011 1:39 PM PST
  Google order number: 810629956315305
  Shipping Status QtyItem  Price
  Cancelled Items1  App Engine Budget  -  Maximum weekly budget
 for
 application 'yumyumlabs', including applicable tax. $0.00
 Tax (CA) :  $0.00
 Total :
 $0.00   now
 $740.00 per week
 Order cancelled - Your card was not charged



 Now all our requests are failing and the billing system keeps
 rejecting our payments!  This system supports a featured app on
 android with up to 30k new users a day.  This is bad.

 HELP!

 Thanks,

 Mike



 --
 You 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] Question about Write Ops cost for updating an entity with changed properties

2011-11-14 Thread Nick Johnson
Hi Alex,

The datastore compares old values to new; there's no way for the SDK to
mark properties as modified or not.

-Nick Johnson

On Tue, Nov 15, 2011 at 9:49 AM, Alex Epshteyn alexander.epsht...@gmail.com
 wrote:

 Alfred wrote an excellent explanation of how write ops are charged
 ( http://groups.google.com/group/google-appengine/msg/ca47eb7678d50372?
 ).

 My question is how does the the datastore determine whether a property
 has actually changed - does it compare the new value to the saved
 value or does the python db.Model class mark a property as changed
 every time it's assigned (even if the values are the same).

 --
 You 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] App Engine Task Queue Stored Task Bytes

2011-11-14 Thread John Wheeler
Ever since the billing change, my Task Queue Stored Task bytes sits around 
16% when idle. I have 500 megs allocated, and 16% of this is always used 
up. The problem is that it's starting to go into the red when my cron jobs 
are running and detracting from my safety margin. Can you guys please take 
a look at app ID highvolumeseller

Thanks,
John

-- 
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_pIQCNOkZMJ.
To post to this group, send email 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] Help resolve massive performance regression in 2.7 vs 2.5 runtime

2011-11-14 Thread Nick Johnson
No! Please, please don't do this. Obscurity is no substitute for security.

1) Bcrypt or similar is not 'overkill' no matter who you are. Users reuse
passwords, and they're entitled to the best protection you can reasonably
provide them.
2) Bcrypt is not there to protect against online attacks, it's there to
protect against offline attacks, where an attacker obtains your hashed and
salted passwords.
3) Doing something weird is security through obscurity. Do not base your
security on your attacker not knowing what you did. Really, really don't
just concatenate salts to the beginning or end of the password.
4) Both MD5 and SHA1 are merkle-damgard construction hashes (
http://en.wikipedia.org/wiki/Merkle%E2%80%93Damg%C3%A5rd_construction). As
a result, the concatenation of several hashes is no more secure than the
most secure of the individual hashes.

-Nick Johnson

On Sun, Nov 13, 2011 at 2:58 PM, Brandon Wirtz drak...@digerat.com wrote:

 Unless you are protecting Medical records bcrypt is overkill if you do some
 reasonably smart things like Failed logins from IP 9

 Or, if you just do something weird to the password BEFORE you SHA it. Like
 interleave the user name in the password,  Salt1 + UpSaEsRsNwAoMrEd + Salt2

 Or Pick 2 Hash's   SHA(pass) + Md5(pass)

 Don't want to store all that string length?   Odd Characters from
 Sha(Pass+salt) + Even Characters from MD5(Pass+Salt)

 Uniqueness of the method is more important than the method.



 -Original Message-
 From: google-appengine@googlegroups.com
 [mailto:google-appengine@googlegroups.com] On Behalf Of Brian Quinlan
 Sent: Saturday, November 12, 2011 6:58 PM
 To: google-appengine@googlegroups.com
 Subject: Re: [google-appengine] Help resolve massive performance regression
 in 2.7 vs 2.5 runtime

 Hi Pol,

 On Sun, Nov 13, 2011 at 1:48 PM, Pol p...@everpix.net wrote:
  Hi,
 
  Since switching to 2.7 runtime, logging in to http://www.everpix.com
  went from about a second to anywhere from 15s to 60s. I tracked it
  down to this single password checking line:
 
  from bcrypt import bcrypt
  bcrypt.hashpw(password, self.password_hash) == self.password_hash

 What value are you using for threadsafe in your app.yaml?

 How large is self.password_hash?

 Cheers,
 Brian

  This comes from a native Python implementation of the py-bcrypt
  package from http://www.mindrot.org/projects/py-bcrypt/; grabbed from
  here: https://github.com/erlichmen/py-bcrypt.
 
  So what's happening here and how can we fix this?
 
  Thanks,
 
  - Pol
 
  --
  You 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.




-- 
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: Can I use set in Appengine?

2011-11-14 Thread Nick Johnson
You don't need to import Sets in Python 2.5.

-Nick

On Tue, Nov 15, 2011 at 2:51 AM, Tim Hoffman zutes...@gmail.com wrote:

 Hi

 If your using Python 2.5 then you need to import the sets module.

  from sets import Set
  Set([1,2,1,2,4])
 Set([1, 2, 4])
 

 This code will also work in 2.7

 Though in 2.7 you have the set type builtin.

 Rgds

 Tim


  --
 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/-/jbZddnsDuQgJ.

 To post to this group, send email 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: AppStats in Python 2.7 apps

2011-11-14 Thread Mariano Benitez
I am using appstats just by editing the appengine_config.py and adding the 
builtins appstats: on, I am using webpp and django without problems.

seems to be working fine.

-- 
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/-/voffpdjivHIJ.
To post to this group, send email 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] Who can I contact about billing issues?

2011-11-14 Thread nacho
Today I received a charge of 2.10 in my credit card of Appengine Charge.

I was looking my apps, and in one of them I have in my Billing History a 
charge of 2.10, the trouble is.. that my app is DISABLED!!! 

How can you charge me for having a disabled app? Is this possible?

-- 
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/-/FowrMwQ44tQJ.
To post to this group, send email 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] Help resolve massive performance regression in 2.7 vs 2.5 runtime

2011-11-14 Thread Brandon Wirtz
If I know your salt, I can De-Hash bcrypts faster than I can any of the
weird combinations. Because there are libraries for doing so on ATI cards.

 

If you do something weird a script kiddie can't just pull code off the web
and attack it. 

 

You want to see who can offline crack a set of 1M users? Your bcrypt list vs
my Weird   You don't even have to give me the salt I'll have 10k of those
cracked in the first 72 hours.  10 to 1 odds you won't get through mine
without my source code in my life time.

 

-Brandon Wirtz

 

PS
I don't usually do the trust me I'm far more evil but FBI, Homeland
Security, and the CIA have been to my doorstep for things I have defeated,
documented, or built to keep from being defeated.  The first time I was in
3rd grade.

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Nick Johnson
Sent: Monday, November 14, 2011 3:56 PM
To: google-appengine@googlegroups.com
Subject: Re: [google-appengine] Help resolve massive performance regression
in 2.7 vs 2.5 runtime

 

No! Please, please don't do this. Obscurity is no substitute for security.

 

1) Bcrypt or similar is not 'overkill' no matter who you are. Users reuse
passwords, and they're entitled to the best protection you can reasonably
provide them.

2) Bcrypt is not there to protect against online attacks, it's there to
protect against offline attacks, where an attacker obtains your hashed and
salted passwords.

3) Doing something weird is security through obscurity. Do not base your
security on your attacker not knowing what you did. Really, really don't
just concatenate salts to the beginning or end of the password.

4) Both MD5 and SHA1 are merkle-damgard construction hashes
(http://en.wikipedia.org/wiki/Merkle%E2%80%93Damg%C3%A5rd_construction). As
a result, the concatenation of several hashes is no more secure than the
most secure of the individual hashes.

 

-Nick Johnson

 

On Sun, Nov 13, 2011 at 2:58 PM, Brandon Wirtz drak...@digerat.com wrote:

Unless you are protecting Medical records bcrypt is overkill if you do some
reasonably smart things like Failed logins from IP 9

Or, if you just do something weird to the password BEFORE you SHA it. Like
interleave the user name in the password,  Salt1 + UpSaEsRsNwAoMrEd + Salt2

Or Pick 2 Hash's   SHA(pass) + Md5(pass)

Don't want to store all that string length?   Odd Characters from
Sha(Pass+salt) + Even Characters from MD5(Pass+Salt)

Uniqueness of the method is more important than the method.



-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Brian Quinlan
Sent: Saturday, November 12, 2011 6:58 PM
To: google-appengine@googlegroups.com
Subject: Re: [google-appengine] Help resolve massive performance regression
in 2.7 vs 2.5 runtime


Hi Pol,

On Sun, Nov 13, 2011 at 1:48 PM, Pol p...@everpix.net wrote:
 Hi,

 Since switching to 2.7 runtime, logging in to http://www.everpix.com
 went from about a second to anywhere from 15s to 60s. I tracked it
 down to this single password checking line:

 from bcrypt import bcrypt
 bcrypt.hashpw(password, self.password_hash) == self.password_hash

What value are you using for threadsafe in your app.yaml?

How large is self.password_hash?

Cheers,
Brian

 This comes from a native Python implementation of the py-bcrypt
 package from http://www.mindrot.org/projects/py-bcrypt/; grabbed from
 here: https://github.com/erlichmen/py-bcrypt.

 So what's happening here and how can we fix this?

 Thanks,

 - Pol

 --
 You 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
mailto:google-appengine%2bunsubscr...@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
mailto:google-appengine%2bunsubscr...@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
mailto:google-appengine%2bunsubscr...@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 

[google-appengine] Re: What happened to the promised reliability improvement for email delivery?

2011-11-14 Thread pdknsk
As we've discussed on the bug report, DKIM could literally be a one
line bug fix.

-- 
You 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] Who can I contact about billing issues?

2011-11-14 Thread Gregory D'alesandre
Hi Nacho,

As it currently stands you need to disable billing in order to no longer be
billed for your app (not to disable your app).  The reason for this is that
even if your app is disabled if you have a large amount of data and we
would still need to bill for that.  This is something we will do a better
job of documenting.

Sorry for the confusion,

Greg D'Alesandre
Senior Product Manager, Google App Engine

On Mon, Nov 14, 2011 at 6:04 PM, nacho vela.igna...@gmail.com wrote:

 Today I received a charge of 2.10 in my credit card of Appengine Charge.

 I was looking my apps, and in one of them I have in my Billing History a
 charge of 2.10, the trouble is.. that my app is DISABLED!!!

 How can you charge me for having a disabled app? Is this possible?

 --
 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/-/FowrMwQ44tQJ.
 To post to this group, send email 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] Help resolve massive performance regression in 2.7 vs 2.5 runtime

2011-11-14 Thread Nick Johnson
Hi Brandon,

What you say is fine if your threat model only includes script kiddies
who don't have your source code. If either of those is not true - you have
an adversary with some level of independent skill, or your source code is
compromised - any method that relies on obscurity for its security will
fare very poorly.

One thing to bear in mind is that if your app is ever compromised, your
password database and/or source may be posted publicly; at that point, you
no longer have to worry about just the initial attacker, but anyone with
sufficient motivation.

Of course, using federated login like OpenID or the Users API obviates the
need to store passwords at all, making it Someone Else's Problem. :)

-Nick

On Tue, Nov 15, 2011 at 1:07 PM, Brandon Wirtz drak...@digerat.com wrote:

 If I know your salt, I can “De-Hash” bcrypts faster than I can any of the
 “weird” combinations. Because there are libraries for doing so on ATI cards.
 

 ** **

 If you do something weird a script kiddie can’t just pull code off the web
 and attack it. 

 ** **

 You want to see who can offline crack a set of 1M users? Your bcrypt list
 vs my “Weird”   You don’t even have to give me the salt I’ll have 10k of
 those cracked in the first 72 hours.  10 to 1 odds you won’t get through
 mine without my source code in my life time.

 ** **

 -Brandon Wirtz

 ** **

 PS
 I don’t usually do the “trust me I’m far more evil” but FBI, Homeland
 Security, and the CIA have been to my doorstep for things I have defeated,
 documented, or built to keep from being defeated.  The first time I was in 3
 rd grade.

 ** **

 *From:* google-appengine@googlegroups.com [mailto:
 google-appengine@googlegroups.com] *On Behalf Of *Nick Johnson
 *Sent:* Monday, November 14, 2011 3:56 PM

 *To:* google-appengine@googlegroups.com
 *Subject:* Re: [google-appengine] Help resolve massive performance
 regression in 2.7 vs 2.5 runtime

 ** **

 No! Please, please don't do this. Obscurity is no substitute for security.
 

 ** **

 1) Bcrypt or similar is not 'overkill' no matter who you are. Users reuse
 passwords, and they're entitled to the best protection you can reasonably
 provide them.

 2) Bcrypt is not there to protect against online attacks, it's there to
 protect against offline attacks, where an attacker obtains your hashed and
 salted passwords.

 3) Doing something weird is security through obscurity. Do not base your
 security on your attacker not knowing what you did. Really, really don't
 just concatenate salts to the beginning or end of the password.

 4) Both MD5 and SHA1 are merkle-damgard construction hashes (
 http://en.wikipedia.org/wiki/Merkle%E2%80%93Damg%C3%A5rd_construction).
 As a result, the concatenation of several hashes is no more secure than the
 most secure of the individual hashes.

 ** **

 -Nick Johnson

 ** **

 On Sun, Nov 13, 2011 at 2:58 PM, Brandon Wirtz drak...@digerat.com
 wrote:

 Unless you are protecting Medical records bcrypt is overkill if you do some
 reasonably smart things like Failed logins from IP 9

 Or, if you just do something weird to the password BEFORE you SHA it. Like
 interleave the user name in the password,  Salt1 + UpSaEsRsNwAoMrEd + Salt2

 Or Pick 2 Hash's   SHA(pass) + Md5(pass)

 Don't want to store all that string length?   Odd Characters from
 Sha(Pass+salt) + Even Characters from MD5(Pass+Salt)

 Uniqueness of the method is more important than the method.



 -Original Message-
 From: google-appengine@googlegroups.com
 [mailto:google-appengine@googlegroups.com] On Behalf Of Brian Quinlan
 Sent: Saturday, November 12, 2011 6:58 PM
 To: google-appengine@googlegroups.com
 Subject: Re: [google-appengine] Help resolve massive performance regression
 in 2.7 vs 2.5 runtime


 Hi Pol,

 On Sun, Nov 13, 2011 at 1:48 PM, Pol p...@everpix.net wrote:
  Hi,
 
  Since switching to 2.7 runtime, logging in to http://www.everpix.com
  went from about a second to anywhere from 15s to 60s. I tracked it
  down to this single password checking line:
 
  from bcrypt import bcrypt
  bcrypt.hashpw(password, self.password_hash) == self.password_hash

 What value are you using for threadsafe in your app.yaml?

 How large is self.password_hash?

 Cheers,
 Brian

  This comes from a native Python implementation of the py-bcrypt
  package from http://www.mindrot.org/projects/py-bcrypt/; grabbed from
  here: https://github.com/erlichmen/py-bcrypt.
 
  So what's happening here and how can we fix this?
 
  Thanks,
 
  - Pol
 
  --
  You 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 

Re: [google-appengine] Help resolve massive performance regression in 2.7 vs 2.5 runtime

2011-11-14 Thread Stephen Buergler
It doesn't matter if you can have your ATI card up and running sooner if 
every single password attempt takes a whole lot longer to try. That is the 
main strength of bcrypt.

-- 
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/-/h0pow6-AvCUJ.
To post to this group, send email 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] Help resolve massive performance regression in 2.7 vs 2.5 runtime

2011-11-14 Thread Brandon Wirtz
Nick,

 

I agree, that my threat model assumes they didn't get my source code.  That
Somebody else's problem works under the assumption people are going to get
my data, not my source code because I don't ever write my own DB server code
I am stuck using someone else's which means the vulnerability that I am most
likely to face is that somebody else's screw up will be where my problem
lies.

 

Granted this is a better strategy if you are running compiled code, since my
code lives on the Google Server I'm at the mercy of Google's Security, where
as if I were running compiled code it would be less likely someone would get
the code.

 

I would say that unique salt per user, is a good thing.  The most common way
to attack a large password database is to look at the most common entries
and compare against the most common passwords from other sources.  If you
know the 15 most used passwords and the 15 most often occurring database
results you are a long ways towards knowing what those 15 values are and
calculating the salt.  You aren't crunching millions of combinations you are
crunching 1000's and once you have the salt, you take your already
deciphered list of the most common passwords and you calculate the top 5k
using bcrypt and you now have about 50% of the data in fewer than 10k
operations.

 

Compare that with my scenario.  You have data. You don't have the source
code. The UserID or other spoiler is in every salt so the reoccurrence of
a hash doesn't correspond to a duplicate password, and now the computation
is nearly impossible even if you have the source code, because you have to
calculate every value for every user anyway.

 

Would Brcypt(Pass+UserID+Salt) be the best?  Yes.  But MD5(Pass+UserID+Salt)
is going to still going to be orders of magnitude more difficult than
Bcrypt(Pass+salt), because I can't use knowledge of frequency tables to
predict likely outcomes or detect duplicate passwords.

 

-Brandon

 

 

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Nick Johnson
Sent: Monday, November 14, 2011 6:21 PM
To: google-appengine@googlegroups.com
Subject: Re: [google-appengine] Help resolve massive performance regression
in 2.7 vs 2.5 runtime

 

Hi Brandon,

 

What you say is fine if your threat model only includes script kiddies who
don't have your source code. If either of those is not true - you have an
adversary with some level of independent skill, or your source code is
compromised - any method that relies on obscurity for its security will fare
very poorly.

 

One thing to bear in mind is that if your app is ever compromised, your
password database and/or source may be posted publicly; at that point, you
no longer have to worry about just the initial attacker, but anyone with
sufficient motivation.

 

Of course, using federated login like OpenID or the Users API obviates the
need to store passwords at all, making it Someone Else's Problem. :)

 

-Nick

On Tue, Nov 15, 2011 at 1:07 PM, Brandon Wirtz drak...@digerat.com wrote:

If I know your salt, I can De-Hash bcrypts faster than I can any of the
weird combinations. Because there are libraries for doing so on ATI cards.

 

If you do something weird a script kiddie can't just pull code off the web
and attack it. 

 

You want to see who can offline crack a set of 1M users? Your bcrypt list vs
my Weird   You don't even have to give me the salt I'll have 10k of those
cracked in the first 72 hours.  10 to 1 odds you won't get through mine
without my source code in my life time.

 

-Brandon Wirtz

 

PS
I don't usually do the trust me I'm far more evil but FBI, Homeland
Security, and the CIA have been to my doorstep for things I have defeated,
documented, or built to keep from being defeated.  The first time I was in
3rd grade.

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Nick Johnson
Sent: Monday, November 14, 2011 3:56 PM


To: google-appengine@googlegroups.com
Subject: Re: [google-appengine] Help resolve massive performance regression
in 2.7 vs 2.5 runtime

 

No! Please, please don't do this. Obscurity is no substitute for security.

 

1) Bcrypt or similar is not 'overkill' no matter who you are. Users reuse
passwords, and they're entitled to the best protection you can reasonably
provide them.

2) Bcrypt is not there to protect against online attacks, it's there to
protect against offline attacks, where an attacker obtains your hashed and
salted passwords.

3) Doing something weird is security through obscurity. Do not base your
security on your attacker not knowing what you did. Really, really don't
just concatenate salts to the beginning or end of the password.

4) Both MD5 and SHA1 are merkle-damgard construction hashes
(http://en.wikipedia.org/wiki/Merkle%E2%80%93Damg%C3%A5rd_construction). As
a result, the concatenation of several hashes is no more secure than the
most secure of the individual hashes.

 

-Nick 

RE: [google-appengine] Re: New Acceptable Use: Porn?

2011-11-14 Thread Brandon Wirtz
I lost the thread where someone said these changes were coming to other
parts of Google.

 

Apparently this isn't System wide YouTube kicked my video of a fully
clothed 20 year old girl eating a popcicle in 3d which was used in a
broadcast TV commercial so the FCC was ok with it, but Youtube wasn't. 

 

Time to start building my competitor running on Google's own hardware :-)
Now if only I could only get a video manipulation library for GAE..  

 

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Gregory D'alesandre
Sent: Thursday, November 10, 2011 4:14 PM
To: google-appengine@googlegroups.com
Subject: Re: [google-appengine] Re: New Acceptable Use: Porn?

 

I was wondering when someone was gonna notice.  This was not a mistake.  The
new policy does not prohibit pornography nor gambling.  The policy was
written to disallow illegal activities but to be flexible in terms of the
sorts of businesses people are trying to build.  While you need to talk to
your own lawyers about the legality of the business you build, pornography
as a whole is no longer disallowed from acceptable use.

 

Greg

On Thu, Nov 10, 2011 at 1:51 PM, Brandon Wirtz drak...@digerat.com wrote:

It also doesn't list gambling.  Interesting...


-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Johnson
Sent: Thursday, November 10, 2011 10:53 AM
To: Google App Engine
Subject: [google-appengine] Re: New Acceptable Use: Porn?


link: http://code.google.com/appengine/program_policies.html

On Nov 10, 1:52 pm, Johnson benf...@gmail.com wrote:
 The Acceptable Use policy has changed, and no longer lists
 pornography:

 Do we have a thumbs-up to go ahead with Adult content?

--
You 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
mailto:google-appengine%2bunsubscr...@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
mailto:google-appengine%2bunsubscr...@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: New Acceptable Use: Porn?

2011-11-14 Thread James Broberg
We already built one. However we don't encode on GAE obviously...

Once we update our Ts and Cs to reflect the new GAE AUP we should be
ready for your lascivious videos:
http://www.metacdn.com/

On 15 November 2011 13:57, Brandon Wirtz drak...@digerat.com wrote:
 Time to start building my competitor running on Google’s own hardware :-)
 Now if only I could only get a video manipulation library for GAE….

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



Re: [google-appengine] 1.6.0. Python2.7 How to import lxml in App engine SDK ?

2011-11-14 Thread Brian Quinlan
Hi JPF,

On Mon, Nov 14, 2011 at 7:19 AM, JPF jfi...@gmail.com wrote:
 I did not find info in the documentation

I made a note to add this to the documentation: you have to install
lxml in the Python distribution that you use to run dev_appserver.py

Cheers,
Brian

 --
 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/-/8NI4pERj9D0J.
 To post to this group, send email 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] HRD migration tool now available!

2011-11-14 Thread Brian Quinlan
On Mon, Nov 14, 2011 at 8:13 AM, Joshua Smith joshuaesm...@charter.net wrote:
 Cool. And that will be OK to use in Python 2.7 (I recall reading something
 about not using environment variables there)?

Environment variables are thread-local in Python 2.7 so this pattern
will work there as well.

Cheers,
Brian

 On Nov 13, 2011, at 2:54 PM, Alfred Fuller wrote:

 full_app_id = os.getenv('APPLICATION_ID')

 On Fri, Nov 11, 2011 at 12:24 PM, Joshua Smith joshuaesm...@charter.net
 wrote:

 Another question. I have this code in my app, so that when someone comes
 in with an old key, my code will quietly convert it to the new app-id:
 from google.appengine.api.app_identity import get_application_id
 appname = get_application_id()
 @monkeypatch_method(webapp.Request)
 def get_db(self, key_attr):
   k = self.get(key_attr)
   if not k:
     return None
   key = db.Key(k)
   if key.app() == appname:
     return db.get(key)
   logging.info(Fixing up key from old app %s (%s=%s) % ( key.app() ,
 key_attr , k ))
   fixed_key = db.Key.from_path(*key.to_path())
   return db.get(fixed_key)
 So what's happening is it is fixing up every key, because
 get_application_id() doesn't have s~ on the front.
 What should I call to get the app id used in Keys? (The one with the s~ in
 front?)
 (BTW: This approach turned out to be a real time-saver for migrating my
 blobs. I could pass the old version keys from the new HR version, and it
 fixed them up into its own namespace without my having to even think about
 it.)
 -Joshua
 On Nov 11, 2011, at 1:16 PM, Joshua Smith wrote:

 OK, so the migration from MS to HR was really fast, and I ran into no
 problems.  Woo hoo!
 I didn't do the alias step, because I now need to figure out how to move
 my old blobs into the new app, and I suspect that if I did the alias that
 would get really, really hard. Right?
 So instead, I changed the mapping of my www.myapp.com to point to the HR
 version using google apps domain management.  Seems to have worked.  Woo hoo
 again!
 How do I get my post-migration email budget back up to 2000?  App ID of
 the new app is towngovernment-hr
 Now to move the blobs...
 On Nov 10, 2011, at 9:49 AM, Joshua Smith wrote:

 Guess I know what I'll be doing on my day off tomorrow.
 In case anyone didn't notice this in the docs:
 Currently, the HRD Migration Tool does not support copying data from
 Blobstore. If you use Blobstore, you need to manually copy that data over.
 Ugh.  That's a pretty huge hole in the tool.
 Perhaps I know what I'll be doing all weekend…
 -Joshua
 On Nov 9, 2011, at 4:33 PM, Stacy (Google) wrote:

 We’ve just released a new self service HRD migration tool.  This tool
 copies all of your data to HRD minimizing read-only times by using a
 multi-phase approach.  Please see the documentation for details on how to
 use this.  This tool is still considered experimental, please report
 problems you experience here in the forum or to the external issue
 tracker.We are still working on solutions for users of blobstore.
 Using HRD makes your app eligible for our SLA, and will lead to much
 better availability and more consistent performance.  We think every app
 will benefit from the switch to HRD.

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


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


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


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


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

Re: [google-appengine] getaddrinfo failed using urlfetch and python 2.7 (dev server)

2011-11-14 Thread Brian Quinlan
Hi,

I wasn't able to reproduce this problem with the same URL. It is
likely that there is something odd in your environment that is
preventing Python from being able to find the host.

Cheers,
Brian

On Thu, Nov 10, 2011 at 2:13 PM, DurhamG durham.go...@gmail.com wrote:
 I'm trying to migrate my app to python 2.7 but when I do a
 urlfetch.fetch to facebook for some data, it throws the following
 exception:

  File C:\workspace\DjangoServer\src\mycode.py, line 167, in request
    urlfetch.fetch(url=https://graph.facebook.com/me?
 access_token=zfields=id%2Cemail)
  File C:\Program Files (x86)\Google\google_appengine\google\appengine
 \api\urlfetch.py, line 263, in fetch
    return rpc.get_result()
  File C:\Program Files (x86)\Google\google_appengine\google\appengine
 \api\apiproxy_stub_map.py, line 592, in get_result
    return self.__get_result_hook(self)
  File C:\Program Files (x86)\Google\google_appengine\google\appengine
 \api\urlfetch.py, line 365, in _get_fetch_result
    raise DownloadError(str(err))
 DownloadError: ApplicationError: 2 [Errno 11003] getaddrinfo failed

 The url in question looks like this: 
 https://graph.facebook.com/me?access_token=zfields=id,email
 , and works fine in the browser, but fails from the dev server.  The
 code I'm calling is dead simple:

    file = urlfetch.fetch(url=https://graph.facebook.com/me?
 access_token=zfields=id%2Cemail)

 and it worked fine in python 2.5.  The only suggestion I found when
 googling it was to turn off my fire wall, which didn't help, and some
 stuff about proxies, which I'm not behind one.

 Any ideas?

 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] Dev server, channel, change files

2011-11-14 Thread Timofey Koolin
When I open channel on dev-server - it stop detect changes in source file
of my project.

For detect changes in project I must close page with channel before change
project or restart dev-server after change.

-- 
Blog: www.rekby.ru

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



[google-appengine] Running queries on data already stored in datastore

2011-11-14 Thread Zak
Hello all,

This is my first time using google app engine and the datastore so
this is all still pretty new to me. But I have successfully (using the
bulk loader tool) loaded my data from csv files into the datastore. I
am writing my program in Python and have now run into the issue of
retrieving data from the datastore using python. I understand how to
create Classes using db.Model in python, load information into them,
store them and then run queries on them. But how do you run quries on
the data that is stored in the datastore already?  When I run a query
for a Kind that I know is in my datastore it says Kind not found. Do I
still need to define a class (db.Model) to hold the data? If so, how
do I transfer the data from the datastore into my class object?

Any clarification would be much appreciated!

Zak

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



[google-appengine] Memcache Auto Eviction Performance

2011-11-14 Thread stevep
Did not see this in a thread search. Pretty sure I would be safe
making this assumption, but thought best to check.

Question (background if you're interested is below):
If a few thousand items are added to memcache each with a 30 second
life, will this volume of time-based auto-evict items cause any
performance / instance-increasing issues?? I'm assuming no, however:
Whenever you assume, you...

Thanks,
stevep

Background:
I want to avoid consistency errors when selecting tasks from a query
list. When a task is assigned it is checked out by incrementing a
checkOut count on my Task class (checkOut count is a query filter
item). Unfortunately the Task class has one somewhat large composite
index to support the query, so my put() updates will be a bit resource
intensive. I had thought that each time a checkOut count put() update
is done, I would add an memcache value with the key_name of the entity
being put() and specify something like a 30 second duration. When the
query result of available tasks is iterated, a memcache call that
successfully gets the key_name for the current iteration would
indicate a consistency issue, and that entity would be skipped. Does
not have to be perfect -- can live with some double assignments, but
would like to catch most. Not a high-volume app, so worst case might
be a few thousand such active memcache values living some part of
their short lives.

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