[appengine-java] Exact JVM version
Hi App Engine team, Would you be able to provide information about the exact JVM version that App Engine is running? I ask because I believe I might be the victim of an XML-parsing bug that only affects JVM versions: 1.6.0_06, 1.6.0_13, and 1.6.0_17. However, on App Engine, whenever I print out System.getProperty(java.vm.version), it only gives me the very non- specific 1.6.0 instead of the usual format: 16.0-b13 (on a desktop JVM). I've tried searching around but I couldn't find a definitive answer. So I thought I'd ask here: what is (or how can I find out) the exact JVM version you guys are running? If it's a custom version, can you at least tell me if it's forked from one of the three versions I listed above? Thanks! -Adrian -- 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-j...@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: mapreduce - passing filters
I know, but I would prefer to discuss it first (offline is OK). I don't want to start submitting patches without first confirming that * I got the concepts correctly (there are a lot of possible implementations). * The design is coherent with whatever direction the project is taking. * The project is open to submissions of this kind. Otherwise, it's a waste of time for everyone. On Wed, Nov 10, 2010 at 6:58 PM, Maxim Veksler ma...@vekslers.org wrote: Don't think Google would mind if you submit a patch, you have the source code under SVN available from here http://code.google.com/p/appengine-mapreduce/source/browse/ On Wed, Nov 10, 2010 at 6:08 PM, Nacho Coloma icol...@gmail.com wrote: Is there any option to contribute to this project? I am using hacks to do the filtering, and it seems easy to implement. I would love to discuss things first, but appengine-mapreduce seems like a read-only project to me. It's fine but I would like to help it move forward. On Nov 8, 10:11 pm, Ikai Lan (Google) ikai.l+gro...@google.comikai.l%2bgro...@google.com wrote: There was talk about supporting it, but the priority is getting out the shuffle/reduce steps first. appengine-mapreduce is an open source project. You can probably just edit/subclass DatastoreInputFormat.java and add the filter functionality: http://www.google.com/codesearch/p?hl=en#XwsseYUY0Ps/trunk/java/src/c. .. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger:http://googleappengine.blogspot.com Reddit:http://www.reddit.com/r/appengine Twitter:http://twitter.com/app_engine On Mon, Nov 8, 2010 at 12:28 PM, Brad bseef...@finallythebasics.com wrote: Ikai, Are there any plans to support filter functionality in the future? I have a similar situation where I want to iterate over a collection that is big enough to be used by the mapper framework, but much smaller than the actual collection size of all entities of that kind. Brad On Nov 8, 11:56 am, Ikai Lan (Google) ikai.l+gro...@google.comikai.l%2bgro...@google.com ikai.l%2bgro...@google.com ikai.l%252bgro...@google.com wrote: No, the mapper will go over everything. If the number of entities is small, you are better off placing an indexed property on ONLY these fields, then just iterating over them with a cursor and either a local client making multiple HTTP calls to your App Engine app or chained task queues. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger:http://googleappengine.blogspot.com Reddit:http://www.reddit.com/r/appengine Twitter:http://twitter.com/app_engine On Sun, Nov 7, 2010 at 5:58 AM, aswath satrasala aswath.satras...@gmail.com wrote: Hello, I want to perform few aggregations on entities of a kind that are filtered by the property. The entities I want to perform the aggregation is small compared to the complete entity set. Is there any way to pass the filters to the mapper, so that only those entities are retrieved and aggregation is performed *Regards -Aswath http://vs-accounting.appspot.com Accounting for Indian markets.* -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.comgoogle-appengine-java%2B 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.comgoogle-appengine-java%2B 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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
[appengine-java] Sas70 certification for Google App Engine
Hi, I read that Google Apps successfully went through SAS 70 Type II audit (http://googleenterprise.blogspot.com/2008/11/sas-70-type-ii-for- google-apps.html) Is there an equivalent certifications for App Engine ? Where can I find infos ? It's important for some business-critical applications to be migrated to App Engine to get such a guarantee. Thanks didier -- 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-j...@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: Auto generating datastore-indexes.xml during unit tests
Hi Didier, thanks for your reply. Those instructions are for generating an index file while running the dev server and hitting it locally with your browser. What I am talking about is during running JUnit test cases using the LocalServiceTestHelper. That helper lets you write unit tests against the datastore and seems ideal to be able to generate indexes from since your unit tests should hit every kind of query you have. G On Nov 10, 11:03 pm, Didier Durand durand.did...@gmail.com wrote: Hi George, Did you follow the instructions ofhttp://code.google.com/appengine/docs/java/config/indexconfig.html#Us... ? That should be the answer to your question regards didier On Nov 10, 8:26 pm, gholler georgehol...@gmail.com wrote: Is it possible to auto-generate the datastore-indexes.xml while running JUnit tests that use the LocalServiceTestHelper (with LocalDatastoreServiceTestConfig)? It seems like it would be great to have the file automatically generated and then deployed with maven. Unfortunately I don't see the file being generated. Thanks, George -- 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-j...@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: Auto generating datastore-indexes.xml during unit tests
Hi Didier, thanks for your reply. Those instructions are for generating an index file while running the dev server and hitting it locally with your browser. What I am talking about is during running JUnit test cases using the LocalServiceTestHelper. That helper lets you write unit tests against the datastore and seems ideal to be able to generate indexes from since your unit tests should hit every kind of query you have. G On Nov 10, 11:03 pm, Didier Durand durand.did...@gmail.com wrote: Hi George, Did you follow the instructions ofhttp://code.google.com/appengine/docs/java/config/indexconfig.html#Us... ? That should be the answer to your question regards didier On Nov 10, 8:26 pm, gholler georgehol...@gmail.com wrote: Is it possible to auto-generate the datastore-indexes.xml while running JUnit tests that use the LocalServiceTestHelper (with LocalDatastoreServiceTestConfig)? It seems like it would be great to have the file automatically generated and then deployed with maven. Unfortunately I don't see the file being generated. Thanks, George -- 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-j...@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] Why can't i persist a BitSet
I am trying to store a BitSet to my data store but when I try to use it I get the following error: java.lang.IllegalArgumentException: thisRuleSet: java.util.BitSet is not a supported property type. Can I not store a BitSet even though it is serializable and if I can't, what is the suggested work around? -- 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-j...@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] Are Text properties still not lazy loaded?
Hi, Is a Text property lazy loaded when I query for an instance of that class? It seems to not be lazy loaded as of 2008, wondering if that's still the case?: http://groups.google.com/group/google-appengine/browse_thread/thread/81ac0c2bba6e37c8/291625c1099711b0?lnk=gstq=text+lazy#291625c1099711b0 I ask because I'm wondering if a query for a class is spending time deserializing my large Text properties, or waiting until I actually access them (if ever) after the query is already performed, Thanks -- 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-j...@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] AppEngine Inquiries
hi , now i have mobile application need to communicate with AppEngine Account to store Data retrieve it whenever need it . another appEngine need this Data to make statistics about this Data . now the Question : what is the perfect way to Do That : 1 - make the mobile App Send This Data To both of AppEngine accounts . 2 - make the mobile App send the data to the first AppEninge Account and make communication between the two AppEngine Accounts. what is the perfect solutions to do that ?? Thanks -- 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-j...@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] how to send DataStore Between To Java AppEngine Accounts
hi , is there a direct way to send dataStore from on appEngine Account to another one ??? how can i do this ?? thanks . -- 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-j...@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] App Engine Really Slow after certain time of no requests
Hi all, I have had a number of performance issues on initial loading of my app engine application. Part of it is already solved by using Caching. However, my application is still very slow when first loading a servlet after a certain amount of time of inactivity (I think about 1 minute). After this period of inactivity it takes from 3 to 6 seconds to load. Next requests take typically 400 MS. The initial load time is not acceptable for the actual application. Anyone any experience with this? How can I avoid this? I already considered implementing following solutions to keep application / servlet in memory 1/ call application every minute from external application 2/ setup a cron job performing a request every minute to actual servlet I think both are a solution but honestly not my preferred solution as I expect performance from this platform. BRL -- 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-j...@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: Why can't i persist a BitSet
You can serialize the BitSet into a ByteArrayOutputStream, then persist a Blob wrapper around resulting byte array On Nov 11, 11:21 am, WillSpecht willspe...@gmail.com wrote: I am trying to store a BitSet to my data store but when I try to use it I get the following error: java.lang.IllegalArgumentException: thisRuleSet: java.util.BitSet is not a supported property type. Can I not store a BitSet even though it is serializable and if I can't, what is the suggested work around? -- 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-j...@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: Auto generating datastore-indexes.xml during unit tests
Something like the following will setup the datastore helper and create the datastore-indexes-auto.xml: LocalDatastoreServiceTestConfig dsConfig = new LocalDatastoreServiceTestConfig(); File location = new File(war/WEB-INF/appengine-generated/ local_db.bin); dsConfig.setBackingStoreLocation(location.getAbsolutePath()); // And it seems that for the local ds service to be able to load the local_db.bin file, the local // environment must match the app id and version as stored in the file. String xml; try { xml = FileUtils.readFileToString(new File(war/WEB-INF/ appengine-web.xml)); } catch (IOException e) { throw new RuntimeException(e); } String application = StringUtils.substringBetween(xml, application, /application); String version = StringUtils.substringBetween(xml, version, /version); // Default behavior is to keep everything in RAM. Tell the local services to use the file system dsConfig.setNoStorage(false); // Create the local services. gaeDatastoreHelper = new LocalServiceTestHelper(dsConfig); gaeDatastoreHelper.setEnvAppId(application); gaeDatastoreHelper.setEnvVersionId(version); // Calling setUp() will start the local ds service and load the local_db.bin file. gaeDatastoreHelper.setUp(); This way, you can even write tests against a previously generated local_db.bin if you want. -- 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-j...@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] Session GAE
Read this: http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions Though if you have that disabled and attempt to use sessions locally, it will throw an error. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Wed, Nov 10, 2010 at 10:30 PM, idnoob ironand...@gmail.com wrote: Hi all! Session enable in eclipse but error happen in GAE. I know that GAE has session disable, how to enable session with GAE? Many thanks! :) -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@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] Are Text properties still not lazy loaded?
Text properties were never actually lazy loaded. We only lazy loaded them to match the JDO/JPA spec. In practice, the entire entity was being read and we just weren't populating the entity. Try running AppStats - though I suspect the deserialization shouldn't be *that* slow. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Thu, Nov 11, 2010 at 8:38 AM, Mark mar...@gmail.com wrote: Hi, Is a Text property lazy loaded when I query for an instance of that class? It seems to not be lazy loaded as of 2008, wondering if that's still the case?: http://groups.google.com/group/google-appengine/browse_thread/thread/81ac0c2bba6e37c8/291625c1099711b0?lnk=gstq=text+lazy#291625c1099711b0 I ask because I'm wondering if a query for a class is spending time deserializing my large Text properties, or waiting until I actually access them (if ever) after the query is already performed, Thanks -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@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] Problem with session
If i try to use my application on localhost, i haven't problem. But if i deploy my app, and then i try to use my app, i meet somw problem with session. In a nutshell, the app need login to accessing the homepage, with logging user object is memorized in session. So i sign-in in the app, and i am redirected on the homepage. And unitl now all is ok. But if i from the homepage click on link to the same page (homepage) it seems that the user, that is memorized in session, isn't in session, so i am redirected to the login page. Why this? Why on localhost the app work, but the same app on google app engine doesn't work as i want? PS: Java code for getting or memorizing a user object is right (on localhost it's work) PS2: user object is not Google user object, but it's object defined by me -- 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-j...@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] Session GAE
I solved my problem this night, enabling session in eclipse in xml permit the use of session locally but When you deploy your project on GAE , session scope doesn't run . Then i solve my problem using this guide : http://idnoob.altervista.org/blog/how-toenable-session-in-google-app-engine/ Many Thanks ! Bye! -- 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-j...@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: Are Text properties still not lazy loaded?
Yeah, you might want to break it up in that case. If you don't use bigChunkOfJson frequently, put it in a different object that you can generate the key for on the fly (so you can use a get by key instead of needing to use a query). -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Thu, Nov 11, 2010 at 1:55 PM, Mark mar...@gmail.com wrote: Thanks Ikai. I have an entity that has a bunch of Text properties, they can each be quite large. I wanted to avoid loading them if they're not going to be used for a specific query. For example, I have a list of GameRoom objects: class GameRoom { String gamename; String mapname; Text bigChunkOfJson1; Text bigChunkOfJson2; Text bigChunkOfJson3; } If a user wants to get a listing of games my service is hosting, it's probably not wise for me to deserialize each bigChunkOfJson property to give them a simple game listing. Only if they join a game do I need to touch those Text properties. I read the Relationships page again and it seems that child objects are lazy loaded: Child objects are loaded from the datastore when they are accessed for the first time. If you do not access the child object on a parent object, the entity for the child object is never loaded. If you want to load the child, you can either touch it before closing the PersistenceManager (e.g. by calling getContactInfo() in the above example) or explicitly add the child field to the default fetch group so it's retrieved and loaded with the parent So I figure I could split my class up like: class Game { String gamename; String mapname; MoreInfo more; } So if I query for Game instances, so long as I don't access the MoreInfo object, that data won't be fetched (if I understand correctly). Then I can put all my Text objects in that class, Thanks http://code.google.com/appengine/docs/java/datastore/relationships.html On Nov 11, 3:56 pm, Ikai Lan (Google) ikai.l+gro...@google.comikai.l%2bgro...@google.com wrote: Text properties were never actually lazy loaded. We only lazy loaded them to match the JDO/JPA spec. In practice, the entire entity was being read and we just weren't populating the entity. Try running AppStats - though I suspect the deserialization shouldn't be *that* slow. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger:http://googleappengine.blogspot.com Reddit:http://www.reddit.com/r/appengine Twitter:http://twitter.com/app_engine On Thu, Nov 11, 2010 at 8:38 AM, Mark mar...@gmail.com wrote: Hi, Is a Text property lazy loaded when I query for an instance of that class? It seems to not be lazy loaded as of 2008, wondering if that's still the case?: http://groups.google.com/group/google-appengine/browse_thread/thread/. .. I ask because I'm wondering if a query for a class is spending time deserializing my large Text properties, or waiting until I actually access them (if ever) after the query is already performed, Thanks -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.comgoogle-appengine-java%2B 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@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: App Engine Really Slow after certain time of no requests
I definitely experience this problem to. I have a cron job that runs every 15 minutes to alleviate the problem but it annoys me. On Nov 11, 12:48 pm, GeneralSlaine lennart.ben...@gmail.com wrote: Hi all, I have had a number of performance issues on initial loading of my app engine application. Part of it is already solved by using Caching. However, my application is still very slow when first loading a servlet after a certain amount of time of inactivity (I think about 1 minute). After this period of inactivity it takes from 3 to 6 seconds to load. Next requests take typically 400 MS. The initial load time is not acceptable for the actual application. Anyone any experience with this? How can I avoid this? I already considered implementing following solutions to keep application / servlet in memory 1/ call application every minute from external application 2/ setup a cron job performing a request every minute to actual servlet I think both are a solution but honestly not my preferred solution as I expect performance from this platform. BRL -- 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-j...@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: deploy failures
I'm also getting this error. It's very frustrating because my app has lots of modules and it takes 15 minutes to compile, so I end up wasting 20 minutes before I receive an error. On Nov 7, 6:39 am, Nick Renny nickre...@gmail.com wrote: been getting constant deploy failures for the last week. No issues are being reported on system status, but syncdb is the most common failure point. Is anyone else experiencing this behaviour? Is there a way to mitigate? Is it a known issue? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Only one property per query may have inequality filters?
Robert, Following your post saying that there's a maximum of 30 datastore queries for any GQL query, I was a bit worried as we perform a query with an IN filter that may have an arbitrary number of values (though in general not more than about 20-30 values, depending on how the user works with the system). What we actually do: o Java o low-level API o Query class, Query.addFilter, Query.FilterOperator.IN o the values for the IN filter are Key instances Although we do not use GQL directly, I was assuming that GQL itself only maps to the low-level API which would perform the split into underlying queries and hence be responsible for the limit. I have now performed a test with 36 values in the IN filter, which worked fine (I also made sure that it delivers actually at least one value for each Key, and I ran it online in prod GAE). So, it looks like there's not a limit of 30 in the number of values for an IN filter that is effective in our case. Also, I have not encountered such a limit in the documentation so far (I may not have dug deep enough). Can you please elaborate a bit more where exactly this limit applies (i.e. only GQL/including ll-API/only py/also java) and possibly give a pointer to the documentation? thx and best regards, Remigius. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] HardDeadlineExceededError and Request was aborted after waiting too long
I'm getting quite a few of these errors this morning. Anyone else having the same problems ? Francois -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Only one property per query may have inequality filters?
Robert, Lazy me - I have now looked at the links in your post, and there's a description of the limit, it can also be found in the Java documentation: A single query containing != or contains() operators is limited to 30 sub-queries. (in: http://code.google.com/appengine/docs/java/datastore/queriesandindexes.html ) The documentation of the ll-API is a bit sparse (only the javadoc available), and there's no mention of such a limit, but it's still a little mystery to me why this limit should apply only for higher level apis... Cheers, Remigius. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] SSL for my App
Hi Appspot supports SSL for anyone's app by default. i.e. https://applicationID.appspot.com Problem is I want to use any number of subdomains https://subdomain.applicationID.appspot.com (I want to set a NameSpace per subdomain. A subdomain will represent a client.) Firefox gives me This connection is untrusted Any solutions ? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Mapper problem
After 4 hours, things still seemed to be stuck. Sometime after that, things seemed to fix themselves with no intervention from me. Weird. Stuff still gets stuck in the task queue for a bit, but seem to complete on tneir own eventually. On Nov 10, 4:30 am, songs coca.c...@gmail.com wrote: Looking back at my MapReduce status page, things started acting up about 1.5 hours ago, but were running fine for at least the 4-5 hours before that. On Nov 10, 4:14 am, songs coca.c...@gmail.com wrote: Hi, I'm running into a weird issue with my mappers. If I kick them off manually, they run fine. When they get kicked off from cron, I get the errors below in my logs and they're stuck retrying in the task queue. === Property mapreduce_spec must be convertible to a class 'google.appengine.ext.mapreduce.model.MapreduceSpec' instance (mapreduce.model.MapreduceSpec object at 0xa473749d9e4f49b8) === I thought this had been running fine for weeks and I haven't touched anything related to the mapper creation/definition/kick-off stuff. Any ideas? Thanks, Steve -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Problems pointing my GoDaddy domain to App Engine (no other posts have been able to help!)
If you follow the instructions on the page which Dar linked to, it explains that you need to prove your hosting using Google Apps. Having just been through the process myself, it basically went: 1) Create a standard Google Apps account, which is free. 2) Add your domain and prove your ownership, either through altering a CNAME entry or by adding a page to your content. 3) Once the domain ownership has been proved, add this domain to your GAE app through the admin console. 4) Add the custom URL to the Google Apps account, under the domains section 5) Add the CNAME entry through your DNS admin You don't need to use Google's DNS servers. On Nov 10, 7:54 pm, Kevin M kvnsmo...@gmail.com wrote: Yes I have On Nov 10, 8:31 am, dar dher...@gmail.com wrote: You do not need to transfer the domain to google apps. However, it sounds like you have not configured appengine to know about the cname you created at godaddy. Have you followed the instructions at this link?http://code.google.com/appengine/docs/domain.html On Nov 9, 8:45 pm, Kevin M kvnsmo...@gmail.com wrote: The domain was not purchased through Google Apps, nor is it currently managed by Google Apps. I bought it and configure it at GoDaddy. Do I need to transfer management of this domain to Google Apps? I'd rather not. I set the CNAME entry at GoDaddy, but do I need to set the Nameservers to be something google specific? I only set up CNAME entries and MX entries. But it's still not working and it's been 24 hours. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Cron jobs not getting executed
Hi, one of my customers has problems with his app: trecontacts We have cron jobs scheduled for every minute, but they have not run for the last hours. Can someone please check? Thanks, Daniel -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: SSL for my App
Johan, I had posted a solution to this problem a while ago: http://blog.earlystageit.com/2010/07/14/gae-proxy/ In the past I've been ambivalent about providing it as a service rather than just posting instructions for DIY folks. Lately warming up to the idea again. On Nov 11, 6:10 am, Johan Pretorius johanpretorius2...@gmail.com wrote: Hi Appspot supports SSL for anyone's app by default. i.e.https://applicationID.appspot.com Problem is I want to use any number of subdomainshttps://subdomain.applicationID.appspot.com (I want to set a NameSpace per subdomain. A subdomain will represent a client.) Firefox gives me This connection is untrusted Any solutions ? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Anyone getting occasional bad responses from the app engine?
We have an app that we use Pingdom to hit every 5 minutes to check for downtime and about twice a day the service is getting back bad content (control characters). If we look in our app engine logs the requests are not even logged, so something is happening earlier. Anyone else seeing something like this? George -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Cron jobs not getting executed
I'v had problems as well, 1-minute crons were not being called starting around 2:26:am EST. They started working again around 5am EST, then stopped again a couple of hours later. Currently they are not working. I changed my cron config to 2-minutes and those are working. I had other crons that were at 5 and 10 minute intervals, those had no issues. chris On Nov 11, 10:55 am, dflorey daniel.flo...@gmail.com wrote: Hi, one of my customers has problems with his app: trecontacts We havecronjobs scheduled for every minute, but they have not run for the last hours. Can someone please check? Thanks, Daniel -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Cron jobs not getting executed
Yes, my 5-minute cron job is working. The two 1-minute jobs are not working. On Nov 11, 6:06 pm, Chris Prinos chrispri...@gmail.com wrote: I'v had problems as well, 1-minute crons were not being called starting around 2:26:am EST. They started working again around 5am EST, then stopped again a couple of hours later. Currently they are not working. I changed my cron config to 2-minutes and those are working. I had other crons that were at 5 and 10 minute intervals, those had no issues. chris On Nov 11, 10:55 am, dflorey daniel.flo...@gmail.com wrote: Hi, one of my customers has problems with his app: trecontacts We havecronjobs scheduled for every minute, but they have not run for the last hours. Can someone please check? Thanks, Daniel -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] image get_serving_url performance
hi there, we are experimenting with the get_serving_url. first we had amazing performance. this was off hours. now during the day the results seem to very alot. see the ab test on one image below. this is the worst result we got 2day. not sure what todo against this. :( $ ab -n 100 -c 10 http://lh3.ggpht.com/RmhQ4_tW9HxksXzHpOt8H2MfuVNYr1RI0XVfUkgtJzQAjc445ci-YLu58nwknWqDtesb8XTbbw0KgqTNvrbO5Q=s800 This is ApacheBench, Version 2.3 $Revision: 655654 $ Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking lh3.ggpht.com (be patient).done Server Software: fife Server Hostname: lh3.ggpht.com Server Port: 80 Document Path: /RmhQ4_tW9HxksXzHpOt8H2MfuVNYr1RI0XVfUkgtJzQAjc445ci-YLu58nwknWqDtesb8XTbbw0KgqTNvrbO5Q=s800 Document Length: 173599 bytes Concurrency Level: 10 Time taken for tests: 96.017 seconds Complete requests: 100 Failed requests: 0 Write errors: 0 Total transferred: 17395100 bytes HTML transferred: 17359900 bytes Requests per second: 1.04 [#/sec] (mean) Time per request: 9601.682 [ms] (mean) Time per request: 960.168 [ms] (mean, across all concurrent requests) Transfer rate: 176.92 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 19 226 431.4 20 2267 Processing: 126 7313 11040.7 2140 54497 Waiting: 22 73 194.6 26 1577 Total: 145 7540 11154.2 2169 54517 Percentage of the requests served within a certain time (ms) 50% 2169 66% 4669 75% 10057 80% 15309 90% 25098 95% 33798 98% 42182 99% 54517 100% 54517 (longest request) -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] 1-minute cron jobs are not getting executed on all apps
Renamed the subject to clarify the issue On Nov 11, 6:13 pm, dflorey daniel.flo...@gmail.com wrote: Yes, my 5-minute cron job is working. The two 1-minute jobs are not working. On Nov 11, 6:06 pm, Chris Prinos chrispri...@gmail.com wrote: I'v had problems as well, 1-minute crons were not being called starting around 2:26:am EST. They started working again around 5am EST, then stopped again a couple of hours later. Currently they are not working. I changed my cron config to 2-minutes and those are working. I had other crons that were at 5 and 10 minute intervals, those had no issues. chris On Nov 11, 10:55 am, dflorey daniel.flo...@gmail.com wrote: Hi, one of my customers has problems with his app: trecontacts We havecronjobs scheduled for every minute, but they have not run for the last hours. Can someone please check? Thanks, Daniel -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: Architecture approaches for puts
Hi Steve, Some follow-up responses are inline. On Wed, Nov 10, 2010 at 13:34, stevep prosse...@gmail.com wrote: Thanks for the response. We are not very write intensive, so new records occur infrequently. As I read the allocate_ids documentation, it appears more oriented toward batch processes. Also, Google's recommended shard process for generating unique, sequential integers is a very nice bit of flexible, fast kit that we like. allocate_ids can be used to generate a single id, just like doing SomeKind().put() will generate an id automatically. I am not aware of any recommended way to use sharded counters to generate a unique sequence of sequential numbers. The whole point of sharding is to let you partially mitigate issues with transactions and contention; but without transactions you could easily generate duplicate id values. I would suggest using the Google provided infrastructure to generate unique id, why reinvent the wheel? Eli brought up a good point regarding this issue. I assume the reason for this 'complicated' process is to return an id to the client as quickly as possible, that way if the client re-submits the request you do not get duplicated data? I also use a very similar processing sequence for error checking: once I get a save request I generate a new key, then process the data for errors. If the errors are 'fatal' I return the key and the error information for the client to fix without saving the entity. If the errors are 'acceptable' (ie more like warnings) I will save the entity before returning to the client. In either case I always return a key for the new entity. We use an client async URL call for the new record post which allows us to define a time limit on the server response. If we do not get a response within a few seconds, the call itself generates an error which we handle same as a server error response. If the response comes after this, it will be ignored. I was more curious about the case when you make a request then the internet connection fails (or the user hits 'submit' twice really fast). The server will still successfully completes the write, but the client will not know. So how do you prevent the client from re-submitting the request, which might result in a duplicate record. If we do end up having to save the user data, the id will be saved with it. Logic for the resend will check first to see if the record did eventually get posted by the Task Queue. If not, it will send it. The client will always check the local store for un-posted records each time the user opens the web page. However, we certainly cannot expect every user presented with a try again later message will return, so holes in the key number sequence are certain. I totally agree with this approach, I think it is very similar to my process. I do not use the task-queue to write the initial record though, it is put during the request I return the key in. Your approach should be safe because you return the key in the first request, but there could be cases that result in lots of unneeded re-submits. For instance if the task-queue is backed up. This too late task queue may be a more common error than a total failure, so it may make sense to add something like email follow-up. However, the overall risk (based on recent GAE performance) is a situation where an app suddenly starts throwing Deadline Exceeded errors due to GAE infrastructure issues rather than developer- contolled code issues. In that case, the ability to post the record for email follow-up will likely fail also. Down the road, I've thought to run an AWS / MySql server for backup. If a specific high need GAE post fails, then it would be relatively simple to use redirect to AWS. Its a good bit of redundancy work at this point though- and only works for a specific type of record), so we will put that off until we start to get out into the real word and see some volume**. Odds of both clouds sources having internal infrastructure issues at the same time hopefully will be very low. Again, totally agree with this. I've been working on using TyphoonAE to keep a 'hot-copy' running that I can fail-over to. This lets me run the same code in both places, just need a little sync-logic. My app has good service points, and the core business data comes from a single kind. So I am able to simply fire tasks with 'update' requests to the fail-over app. Everything stays in sync and gives me emergency fail-over ability. Again, thanks for your response. stevep ** GAE clearly wins against AWS for low-volume apps because there is no hourly charge. However, as an app increases its use, the constant kill/start of instances after n transactions (~10K right now) appears to me as achieving an hourly change based on CPU cycles overhead. However, need a lot more data before understanding this. On Nov 9, 11:39 pm, Robert Kluin robert.kl...@gmail.com wrote: Why not use allocate_ids to
[google-appengine] Re: 1-minute cron jobs are not getting executed on all apps
I have exactly the same problem, 1 minute cron jobs not working on apps. Others seem to be working fine. Grant On Nov 11, 5:24 pm, dflorey daniel.flo...@gmail.com wrote: Renamed the subject to clarify the issue On Nov 11, 6:13 pm, dflorey daniel.flo...@gmail.com wrote: Yes, my 5-minute cron job is working. The two 1-minute jobs are not working. On Nov 11, 6:06 pm, Chris Prinos chrispri...@gmail.com wrote: I'v had problems as well, 1-minute crons were not being called starting around 2:26:am EST. They started working again around 5am EST, then stopped again a couple of hours later. Currently they are not working. I changed my cron config to 2-minutes and those are working. I had other crons that were at 5 and 10 minute intervals, those had no issues. chris On Nov 11, 10:55 am, dflorey daniel.flo...@gmail.com wrote: Hi, one of my customers has problems with his app: trecontacts We havecronjobs scheduled for every minute, but they have not run for the last hours. Can someone please check? Thanks, Daniel -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] 10 apps is too limiting
I have developed a few apps for clients and is like to increase exponentially The spinoff is that i get more client and more of them are becoming aware and using Google Apps Engine (obviously when it surpasses the quota) more revenue for Google. How can i get more apps as i move along 10 apps is brilliant for personal use etc. Not when you are promoting GAE in a consulting capacity. Desperately need more apps... -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] how to *not* use _ah/queue/deferred?
Dear All app id: bigmarch2010 We are running a very simple app on the appengine. We're using django- nonrel, but the app is not very complicated. In particular, there seems to be no need to use the task queue, so I have commented out the relevant line in our app.yaml: # - url: /_ah/queue/deferred # script: djangoappengine/deferred/handler.py # login: admin However, the logs show that the task queue is still active --- or rather, it exists, but in a broken state: tasks pile up in the queue, and 404s pile up in the logs, e.g.: 11-11 04:42AM 26.081 /_ah/queue/deferred 404 313ms 0cpu_ms 0kb AppEngine-Google; (+http://code.google.com/appengine) Please could somebody help with the following questions: - I am not sending any task queue requests, so where can they be coming from? - The deferred system doesn't seem to be doing anything useful (or at all): how can I switch it off properly? With thanks and best wishes Ivan -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Python and Java AppEngine data types
Hey, Recently I've been involved with a project which had version 1 of an app in Java and version 2 in Python - using the same datastore... Others may wish to do the same in future, so I feel there is some need for a Python - Java datastore types comparison? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Google datastore index stuck rebuilding
Hi all we are having a problem on our appengine instance 'platformplaygroundportfolio', 'oneraywhiteportfolio' and 'arclightlabsportfolio', whereby the indexes are all 'stuck' on building and have been for over 2 days after doing vacuums and reuploads of data (can't get the app up there). the stats for Queued, Running, Completed, and Total dont appear the Datastore Indexes Status box just building. We did a vacuum on them before normally it takes up to an hour to all rebuild, but so far none of our indexes have started to rebuild at all and all our development nodes are unusable. Cheers N -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Cron jobs not getting executed
I have been having the same problem today. I thought it was something in my code but clearly not. On Nov 11, 3:55 pm, dflorey daniel.flo...@gmail.com wrote: Hi, one of my customers has problems with his app: trecontacts We have cron jobs scheduled for every minute, but they have not run for the last hours. Can someone please check? Thanks, Daniel -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Cron jobs not getting executed
I have been having the same problem today. On Nov 11, 3:55 pm, dflorey daniel.flo...@gmail.com wrote: Hi, one of my customers has problems with his app: trecontacts We have cron jobs scheduled for every minute, but they have not run for the last hours. Can someone please check? Thanks, Daniel -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Cron jobs not getting executed
Same problem happening on my app. On Nov 11, 3:55 pm, dflorey daniel.flo...@gmail.com wrote: Hi, one of my customers has problems with his app: trecontacts We have cron jobs scheduled for every minute, but they have not run for the last hours. Can someone please check? Thanks, Daniel -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] 10 apps is too limiting
http://groups.google.com/group/google-appengine/browse_thread/thread/99cacadf79c56260/7cc8b4b37dcb1fbf?hl=enlnk=gstq=10+apps#7cc8b4b37dcb1fbf On 11 November 2010 03:42, mukesh optimumcons...@gmail.com wrote: I have developed a few apps for clients and is like to increase exponentially The spinoff is that i get more client and more of them are becoming aware and using Google Apps Engine (obviously when it surpasses the quota) more revenue for Google. How can i get more apps as i move along 10 apps is brilliant for personal use etc. Not when you are promoting GAE in a consulting capacity. Desperately need more apps... -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Architecture approaches for puts
On Nov 10, 11:28 am, Eli Jones eli.jo...@gmail.com wrote: How big is the average entity for this Model that you are putting to? (Are you just putting one entity at a time?) The data will vary based on user input. For the model in question, the size is generally 3k or less. However, we have a large number of custom indices to support user searches on multiple combinations of properties. Pretty sure the index updates are the real resource cost for the new record put(). If you create a separate Model with the same properties but no indexes, how long and how much CPU does it use up on a put (in comparison to your fully indexed model)? Also, what do you mean by puts run too close to the 1,000 ms limit? Do you just mean that your app uses up 1,000 CPU MS or 1,000 API_CPU MS? If I look at the appstats detail for my POST function the api-cost cost for the most recent put is approximately 585 ms. There are some other DB accesses in the full function call, so I segmented out this data. This 585 ms is the bulk of the total api-cpu cost for the full function. I am sorry, but right now I do not have anything set up to test a write a similar model entity without any indices. To be honest, I am not sure what the throttling due to 1,000 cpu ms response really means relative to CPU or API_CPU ms, whether it involves any smoothing across multiple handler functions. Just looking at the 585 ms api put() resource indicates we would likely have throttling issues should the infrastructure slow down due to overall load. So, we're moving the put()s to the task queue. This is in accordance to what I believe Google engineers' comments to this forum about the 1,000 ms throttling affect (some posts perhaps suggesting 800 ms is a more practical limit vs. the 1,000 ms theoretical limit -- the latter being my term). The TQ approach also allows us to break up some of the overhead in the current single function. Overall, we'll be much better off re: throttling risk, and task separations, but it does impose the overhead of not being able to respond to the client that the everything related to the function was complete in response to a client's single POST request. Why are you generating a custom integer id instead of using the one that the datastore would create (I am not saying you should not do this, but I am wondering what the requirement is that makes you need to do it.)? In retrospect, using our own generated integer key value may not have been needed when the put() is done by the handler function called by the client POST call. However, as we look to use the task queue for executing the post, it will prove beneficial because it allows us to quickly stage the task queue update, and provide information to the client about what key value to request when it seeks to confirm the task queue function using GETs subsequent to the initial POST. Also, you mention that you are not very write intensive and new records occur infrequently.. so what is the main reasoning for this complicated put process (does the processing leading up to the put place you near the 30 second limit)? The current process is pretty simple. If we did not face the issue with our handler being throttled because we have a transaction or two going through over 1,000 ms, then I'd leave it as is. However (again according to my reading of their comments) Google's engineers advocate moving logic that can take over 1,000 ms to the task queue. I'm ok with that quite honestly. As I think through the TQ step we will need to use, I am not sure how a client can with a single POST to the on-line handler can be assured that the new record TQ put() is completed. So that leads me to the complicated process of the initial client POST being followed by a GET to ensure completion. If I am missing something, and the client can simply send the POST data to the Task Queue and assume 100% of the TQ tasks sent will be completed, then please advise. Just having the client send the current single POST call is so much easier. We are no where near 30 seconds for anything, even with a cold start. No client URL calls currently take more that few seconds when combined with a cold start. Prior to the Nov 6th update, all the new record puts for this model were between 1-2 seconds, but are now coming in lower than 1 sec. Again, this is all to avoid being throttled due to a the new record put()s should: 1) current gains from Nov 6th maintenance not hold, or 2) variability in infrastructure load even with the Nov 6th gains push our 585 ms api-cpu over 1,000. (Getting throttled when the infrastructure overall is running slow is a double whammy for which users might not wait!) Depending on what your restrictions are.. there are different recommendations that can/could be made. I'll happily try to clarify the restrictions, but am not sure what is being asked here. Again, many thanks for your help. stevep -- You received this message because you are subscribed to the
Re: [google-appengine] Working with Query results
This is unrelated but you will probably want to read the Python coding style guide: http://www.python.org/dev/peps/pep-0008/ It's bad form to name your instance variables the way they're named in your sample code. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Wed, Nov 10, 2010 at 4:53 PM, djidjadji djidja...@gmail.com wrote: RESULTS = QUERY.fetch(10) RESULTS.sort(key=lambda x: x.mDATE.toordinal() * x.mCOUNT) What is a list of model instances? You can start by learning some basic python. Read the tutorial on the python.org website, or in the help file (on windows platform) 2010/11/10 Zeynel azeyn...@gmail.com: Can someone help me understand how to access the results of a query? This is my model: class Rep(db.Model): mAUTHOR = db.UserProperty(auto_current_user=True) mUNIQUE = db.StringProperty() mCOUNT = db.IntegerProperty() mDATE = db.DateTimeProperty(auto_now=True) mDATE0 = db.DateTimeProperty(auto_now_add=True) mWEIGHT = db.IntegerProperty() The app has a textarea form and user submits repetitions. mCOUNT is the number of repetitions. I use this query to display top ten reps: QUERY = Rep.all() QUERY.filter(mAUTHOR =, user) QUERY.order(-mCOUNT) RESULTS = QUERY.fetch(10) I display the results with Mako template: % for result in RESULTS: p${result.mUNIQUE} (${result.mCOUNT})/p % endfor Instead of sorting by mCOUNT I want to sort by mWEIGHT so that an old item with high count should be lower than a new item with lower count. But the precise weighing formula is not important at this point. For instance, it may be mWEIGHT = mDATE * mCOUNT What I do not understand is, how do I access mDATE and mCOUNT to put them in the formula? I am having difficulty, in general, visualizing the result of a query. The tutorial http://code.google.com/appengine/docs/python/datastore/creatinggettinganddeletingdata.html#Getting_Entities_Using_a_Query says that the query returns the requested results as a list of model instances. What is a list of model instances? And how to access them as a variables in this context. Thanks for your help. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-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-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-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-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] jars in WEB-INF/lib for deployment
That looks right to me. Anything you want in production MUST be in this directory. There's no production classpath because we may be running GAE 1.3.8, while your application may be running 1.3.4, for instance. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Wed, Nov 10, 2010 at 3:00 PM, haole mejoe...@gmail.com wrote: i'm wondering which jars are required to be in the WEB-INF/lib directory when i deploy. i have a bunch that were automatically added when i created an appengine project in eclipse, but it seems like the app should already have a lot of these jars in the production classpath. am i supposed to add these to the project in some other way than to just add them to the WEB-INF/lib directory? here's what's in my WEB-INF/lib: appengine-api-1.0-sdk-1.3.8.jar appengine-api-labs-1.3.8.jar appengine-jsr107cache-1.3.8.jar datanucleus-appengine-1.0.7.final.jar datanucleus-core-1.1.5.jar datanucleus-jpa-1.1.5.jar gdatacore10.jar geronimo-jpa_3.0_spec-1.1.1.jar geronimo-jta_1.1_spec-1.1.1.jar gwt-servlet.jar jdo2-api-2.3-eb.jar jsr107cache-1.1.jar mail.jar recaptcha4j-0.0.7.jar -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-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-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: Architecture approaches for puts
Steve, No problem. Hopefully some of our / questions are beneficial. :) By the way, as an economist I totally agree with your last remark; I've had the same thoughts as you (re performance) many times. In this case I think Google incentive is competition -- predominately from AWS, and possibly from Azure. If the platform is too unstable or poor performing people will find a better solution. If you are using the total from the counter as your id, you might want to think rethink using a sharded counter to generate your id values. If you get two requests sufficiently close together you will get a duplicate id. Each shard is in its own entity group, you can not read from other groups within a transaction. That means you are getting your id value outside a transaction. Of course if you are actually using the shard_id + the shard's current value as a key_name your fine, provided you get the value in a transaction. Robert On Thu, Nov 11, 2010 at 15:36, stevep prosse...@gmail.com wrote: Robert, Overall let me say thanks. Your comments really helped for this subject. allocate_ids can be used to generate a single id, just like doing SomeKind().put() will generate an id automatically. I am not aware of any recommended way to use sharded counters to generate a unique sequence of sequential numbers. We are using this code (suggested for for incrementing counters, but works for sequential key values as well): http://code.google.com/appengine/articles/sharding_counters.html To be honest, I was not aware of allocate_ids when setting this up (started coding as noobie_levelZero, now have advanced to noobie_levelOne :-) There seems to be very little overhead for this approach, so will stick with it for now. We do download this model's data for some analytics processing. Sequential numeric keys are not necessary for this, but they prove beneficial anytime we eyeball the analytics. Not sure if the allocate_id key values would be numerically sequenced. Once everything else is done, I'll look deeper into comparing these two approaches, and will post a thread at that time. That's surely a don't hold your breath schedule though. Eli brought up a good point regarding this issue. I assume the reason for this 'complicated' process is to return an id to the client as quickly as possible, that way if the client re-submits the request you do not get duplicated data? The bigger issue (as per my response to Eli) is to avoid throttling of the client response handler. Unless we screw up the handling of the generated key value from the initial POST call, a resend will simply cause a duplicate put() costing us cpu cycles, but not a duplicate record. I was more curious about the case when you make a request then the internet connection fails (or the user hits 'submit' twice really fast). The server will still successfully completes the write, but the client will not know. So how do you prevent the client from re-submitting the request, which might result in a duplicate record. Right now we're using an Adobe AIR app for the client using keys generated by the client. Process first posts the data to the local AIR sqlite DB, then, if the user is on-line, it attempts the GAE POST. If the response works, the returned key value goes into the sqlite DB as a reference field. GUI is disabled while this happens (with an appropriate dialog showing). This is all going to be changed with the new browser only version, so these issues will need to be addressed. I totally agree with this approach, I think it is very similar to my process. I do not use the task-queue to write the initial record though, it is put during the request I return the key in. Your approach should be safe because you return the key in the first request, but there could be cases that result in lots of unneeded re-submits. For instance if the task-queue is backed up. Thanks -- nice to know I am not missing something obvious. Writing the new rec during the initial POST call is much preferred as I noted in my response to Eli, but I just think we will have too much double whammy risks when GAE infrastructure is under load -- see end of my response to Eli.** My thanks again, stevep ** Wouldn't it be nice if the throttling limit was dynamic according to how well GAE infrastructure was running -- something we cannot control, so why do we end up paying for it. There is IMHO a perverse, reverse incentive in current setup where profit and revenues will maximize at the point where GAE infrastructure investments are minimized to yield maximum under load conditions without causing customers to decide other other cloud services are clearly superior. Note that this also applies to cold start cpu overhead costs. A dynamic throttling algo and a standard cold-start charge (based on standard infrastructure performance, not varying due to load) would go a very long way to correct this perversion.
Re: [google-appengine] Authentication options
Not sure what is currently 'state-of-the-art' (aka the new-shiny-thing) but you might want to look at tipfy (http://www.tipfy.org/docs/api/tipfy.ext.auth.html). Robert On Thu, Nov 11, 2010 at 17:08, GAEfan ken...@gmail.com wrote: Hi. I want to make a universal user authentication system, where users can log in using their email address and password, without having a Google or other OpenID account. I did this last year using App Engine Patch, but that has been discontinued. So, my question is: What is the state-of-the-art for normal user authentication system? I'd hate to have to roll my own. 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-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Urgent: 1 minute cron jobs are still not getting executed
Hi, please have a look at trecontacts, the 1-minute cron jobs are still not getting executed. ~500 apps of our customers are affected and stopped working ~12 hours ago. Daniel -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Size of any particular entity in datastore
Is there any way to get the size of any particular entity in datastore that counts toward the Stored Data? For example I'd like to limit users storage or bill depending on stored data size. May be approximate size because of indexes. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Google apps engine for Business pricing Q
Thanks for the feedback. You're right that the numbers don't work out for you. We'll have to revisit your needs at some point in the future. Be optimistic that GAE4B is not the be-all-end-all product for enterprise customers - we've stated before that it's just a first step towards having more product offerings that will satisfy customers with different needs. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Thu, Nov 11, 2010 at 3:52 PM, Maximillian Dornseif m.dorns...@hudora.dewrote: On Oct 21, 6:48 pm, Ikai Lan (Google) ikai.l+gro...@google.comikai.l%2bgro...@google.com wrote: The pricing is meant to be extremely competitive against private cloud offerings by other providers in this space. [...] a decent systems administrator certainly wouldn't cost $800. I see your point but for my use case it seems more expensive than I dare to spend. To my understanding pricing will be PER APPLICATION. 1) We are big into Mashups. So we created not ONE application for our business needs but half a dozen mashed up via http. Unless we merge them GAEfB will be prohibitively expensive. Merging will be interesting not only because of Open Source (GPLv3 anyone?) Application parts. It will reduce maintainability and eat up programmer time. 2) We are about 80 People on Google Apps. Upgrading our applications to GAEfB would cost us an additional 46.000 U$ per year. Since every Google Apps user would result in additional costs of 576 US per year we would be forced to police our Google Apps domain and aggressively remove accounts of alumni, warehouse staff and the like. But I think its VERY Enterprise 1.0 to begin issuing who REALLY needs, Internet, Email, a Computer, a telephone, electrical power queries. Access to computing and communication resources should be even available to the cleaning staff. An (expensive) per user pricing makes this impossible. Especially because the users which would have their accounts revoked (warehouse workers, cleaning staff, etc.) are only using marginal amounts of resources. 3) Additional 46.000 U$ per year. We already own servers. We already manage EC2 and Rackspace servers. And its all to complex and we want to reduce that. Thats why we like AppEngine. And because in typical Google style the product is nice but the customer support is barely existent we would like to pay for better service (and for TLS in our Domain). But our resource needs are all in all modest. I assume we could run the dozen Apps we currently run on AppEngine on 10.000 $ of hardware if we had to buy everything new and want 99 % uptime (probably even 5000 $ would be enough). If I add the same amount for networking, power, etc. and amortize it all over tree years. I'm at around 550 $ for all my Applications and all my users. Factor in Administration and we are not that far away from the 1000 $ is demanding max per Month - for a single application. To conclude: * For the Enterprise with hundreds or thousands of users your pricing is certainly very aggressive. * For the SME with 50-100 there seems to be a weak spot but still acceptable. * For companies which followed best web-development and deployment practices and have broken down their technology in many separate applications the pricing model is very unattractive. At least unless they are very large and profit from the 1000 U$ cap. * I actually hate per user pricing because usually results in people which would need to improve their computer skills most not being provided with access. I liked usage based pricing much more. http://bit.ly/cC4MOl Regards Maximillian Dornseif -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Cron jobs not getting executed
Thank you for the reports and apologies for the cron problems you saw today. We made some changes yesterday to improve performance for task queues and this negatively impacted cron jobs that are running very frequently, e.g. every minute. We've reverted these changes and confirmed that cron jobs are running normally again. If you continue to see problems with cron, please post additional details to this thread. Thanks. On Nov 12, 3:54 am, Ste stecoo...@gmail.com wrote: Same problem happening on my app. On Nov 11, 3:55 pm, dflorey daniel.flo...@gmail.com wrote: Hi, one of my customers has problems with his app: trecontacts We havecronjobs scheduled for every minute, but they have not run for the last hours. Can someone please check? Thanks, Daniel -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Urgent: 1 minute cron jobs are still not getting executed
On Fri, Nov 12, 2010 at 8:27 AM, dflorey daniel.flo...@gmail.com wrote: Hi, please have a look at trecontacts, the 1-minute cron jobs are still not getting executed. ~500 apps of our customers are affected and stopped working ~12 hours ago. Daniel It seems it was out for us as well from 22:17 to 08:12 Japan time. About 10 hours. It seems it started working again about 15 minutes before your message arrived. -- Ian http://www.ianlewis.org/ -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: 1-minute cron jobs are not getting executed on all apps
This issue has been resolved. It was the result of a configuration push we did to attempt to increase background worker throughput. We've rolled back the change. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Thu, Nov 11, 2010 at 10:01 AM, Grant grant.klop...@gmail.com wrote: I have exactly the same problem, 1 minute cron jobs not working on apps. Others seem to be working fine. Grant On Nov 11, 5:24 pm, dflorey daniel.flo...@gmail.com wrote: Renamed the subject to clarify the issue On Nov 11, 6:13 pm, dflorey daniel.flo...@gmail.com wrote: Yes, my 5-minute cron job is working. The two 1-minute jobs are not working. On Nov 11, 6:06 pm, Chris Prinos chrispri...@gmail.com wrote: I'v had problems as well, 1-minute crons were not being called starting around 2:26:am EST. They started working again around 5am EST, then stopped again a couple of hours later. Currently they are not working. I changed my cron config to 2-minutes and those are working. I had other crons that were at 5 and 10 minute intervals, those had no issues. chris On Nov 11, 10:55 am, dflorey daniel.flo...@gmail.com wrote: Hi, one of my customers has problems with his app: trecontacts We havecronjobs scheduled for every minute, but they have not run for the last hours. Can someone please check? Thanks, Daniel -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-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-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Size of any particular entity in datastore
Hi Vladimir, You could fetch the entity, then try something like: entity = db.get(your_key) est_size = len(db.model_to_protobuf(entity).Encode()) I am not honestly sure exactly how this encoded size translates to what is stored, but I suspect it is in the ballpark. You could also try to come up with an estimate based on the info in the datastore statistics, and/or using the info in the 'How Entities and Indexes are Stored' article. http://code.google.com/appengine/articles/storage_breakdown.html In either case your are going to be taking a WAG at what the indexes are actually using. Just some ideas. Robert On Thu, Nov 11, 2010 at 19:40, Vladimir Prudnikov pru...@gmail.com wrote: Is there any way to get the size of any particular entity in datastore that counts toward the Stored Data? For example I'd like to limit users storage or bill depending on stored data size. May be approximate size because of indexes. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Python and Java AppEngine data types
The basic types should be the same: int, bool, string, etc. But Python can dynamic combine these attributes, because in low level api, an entity is represent as a dict object; while Java didn't give you such freedom to change its schema. -- keakon -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] how to *not* use _ah/queue/deferred?
The status was 404, means GAE tried to execute this task, but failed since it couldn't find the request page. So the task will run forever until the status become 2xx, that's why it always active. -- keakon -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.