Re: [google-appengine] Stability of Java 8 on Standard Environment
I noticed that my app is 0.5mb smaller but takes longer to load and uses more memory. This is simply by comparing data from GCP console (open new tab of same console page, refresh, see what's different). -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/ccd06ada-b326-41ce-b3a2-d33d9b9c2da9%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Re: Endpoints v2 InconsistentApiConfigurationException
Hi Nick, Thanks! I have completed the migration, including the stuff needed so I can see fancy graphs in https://console.cloud.google.com/endpoints. Some feedback: * The Errors graph is showing some 4xx, but drilling down just gives me log in json, and it doesn't show what the error is. <https://lh3.googleusercontent.com/-7KeGunf9aiQ/WB6bOWbrAbI/P_M/_kYqQTd0BSk9Rd_H2azt9iP_7Y8WKUKQQCLcB/s1600/error_log.gif> * The Total Latency graph is not too useful nor actionable. I see some spikes, great. Are they caused by my code? How do I fix them? Can't even click to drill down. <https://lh3.googleusercontent.com/-ZYeXTaCx9zA/WB6b2i1uapI/P_Q/u7GwKTi5FW4s37yaDOm45hkNJvrbr9c8gCLcB/s1600/Screen%2BShot%2B2016-11-06%2Bat%2B10.52.30%2BAM.png> I'm sorry I complain a lot. Just to be clear, I love what you guys doing. Please keep up the good work! Regards, Thomas Wiradikusuma On Saturday, November 5, 2016 at 12:16:57 AM UTC+8, Nick (Cloud Platform Support) wrote: > > Hey Thomas, > > Just an update, in the Public Issue Tracker thread > <https://code.google.com/p/googleappengine/issues/detail?id=13373>, we > appear to have found another workaround as well. > > Cheers, > > Nick > Cloud Platform Community Support > > On Friday, October 28, 2016 at 10:30:26 AM UTC-4, Nick (Cloud Platform > Support) wrote: >> >> Hey Thomas, >> >> Thanks for your persistent reporting here. I've now managed to reproduce >> the behaviour and I've made a Public Issue Tracker thread >> <https://code.google.com/p/googleappengine/issues/detail?id=13373> to >> follow this for anybody along with you who is also interested in its >> progress. >> >> As a workaround for now, simply renaming one of the APIs will remove the >> issue. Of course your pattern of using ApiClass for differentiated >> properties in a multiclass API should be defined as the docs say >> <https://cloud.google.com/appengine/docs/java/endpoints/multiclass#using_apiclass_for_properties_that_can_differ_between_classes>, >> >> for now this will allow you to circumvent the issue. >> >> In future, don't hesitate to make a post like this to the Public Issue >> Tracker <https://code.google.com/p/googleappengine/issues/list> if you >> suspect the error is not in your code but the platform. We'll be happy to >> assist! >> >> Cheers, >> >> Nick >> Cloud Platform Community Support >> >> On Wednesday, October 12, 2016 at 9:39:06 AM UTC-4, Thomas Wiradikusuma >> wrote: >>> >>> Sorry I forgot to attach the project. >>> >>> I'm sorry for not making it clear. The sample code is _working_, you >>>> need to migrate it to Endpoints v2 as mentioned in the README.md to make >>>> it >>>> not working. Anyway, for your convenience, I've attached the migrated >>>> version (which is not working). >>>> >>>> >>> Regards, >>> Thomas Wiradikusuma >>> >> -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/2eecfb24-e594-4912-bc28-c8c658caef7f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Re: Endpoints v2 InconsistentApiConfigurationException
Hi Nick, > Could you try to add the same @ApiClass annotation that you have on ApiV2.java to ApiV2Public.java and see if that prevents the error message? Yes, making the annotations identical in both classes prevents the error message. But, it means both must be authenticated, which defeats my purpose of separating it. > I'm unable to replicate the issue using your code and keeping all the API names in web.xml, even regardless of whether I add the @ApiClass annotation to ApiV2Public. I'm sorry for not making it clear. The sample code is _working_, you need to migrate it to Endpoints v2 as mentioned in the README.md to make it not working. Anyway, for your convenience, I've attached the migrated version (which is not working). > I don't see any "issuers" field defined in your API. Is this correct? Yes, that field is a new field, which I think the documentation doesn't clearly explain what it is. Regards, Thomas Wiradikusuma -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/66f0e887-0050-4706-9714-d400cc5e3823%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Re: Endpoints v2 InconsistentApiConfigurationException
Hi Nick, I've been using API Explorer (built-in tool from Cloud Endpoints), which does not require client library. Or should I use other tools? Regards, Thomas Wiradikusuma On Friday, October 7, 2016 at 5:54:50 AM UTC+8, Nick (Cloud Platform Support) wrote: > > Hey Thomas, > > Thanks for uploading. I'll be sure to take a look at this project and see > if I can manage to deploy it. However, in the mean time, I think there's a > possible solution on your end that hasn't been investigated so far, as far > as I can tell. The issue appears to me to be caused by compiling and > deploying a new version of the API, while still using the old generated > client library in the clients. If you could not only generate the new > client library (which should not have errors, as you observed), but also > put it into the clients and have them send requests, to see whether the > errors persist, that could short-circuit the process of testing on our end. > > Cheers, > > Nick > Cloud Platform Community Support > > On Wednesday, October 5, 2016 at 7:47:05 AM UTC-4, Thomas Wiradikusuma > wrote: >> >> Hi Nick, >> >> Attached is my Gradle-based project stripped to the simplest to reproduce >> the issue. I'm unclear with what you meant, but hopefully my project can >> help on your side! >> >> Regards, >> Thomas Wiradikusuma >> >> >> On Wednesday, October 5, 2016 at 4:36:55 AM UTC+8, Nick (Cloud Platform >> Support) wrote: >>> >>> Hey Thomas, >>> >>> The issue wouldn't be that generation would fail - the idea is that due >>> to having recompiled the API against different classes for V2, the old >>> client might not be sending requests in the way expected. Could you try to >>> load the updated client library into a client machine and see if the same >>> error persists with the new version of the library? I'm continuing to work >>> on reproducing this issue on my own side. >>> >>> Cheers, >>> >>> Nick >>> Cloud Platform Community Support >>> >>> On Tuesday, October 4, 2016 at 12:30:47 AM UTC-4, Thomas Wiradikusuma >>> wrote: >>>> >>>> Hi Nick, >>>> >>>> The web.xml snippet I gave earlier is the one before I take one out: >>>> >>>> com.bla.ApiV2,com.bla.ApiV2Public >>>> >>>> Notice class ApiV2 and ApiV2Public. >>>> >>>> Also, I'm testing this from API explorer, which I think doesn't require >>>> the generation of client libraries. But, for curiosity sake, I did try it ( >>>> https://cloud.google.com/endpoints/docs/frameworks/java/generate-client-libraries-android >>>> ): >>>> >>>> endpoints-framework-tools get-client-lib --war=target/war -bs gradle >>>> com.bla.ApiV2 >>>> endpoints-framework-tools get-client-lib --war=target/war -bs gradle >>>> com.bla.ApiV2Public >>>> >>>> No error in the generation (but doesn't fix my issue). >>>> >>>> >>>> Regards, >>>> Thomas Wiradikusuma >>>> >>>> >>>> On Tuesday, October 4, 2016 at 3:18:59 AM UTC+8, Nick (Cloud Platform >>>> Support) wrote: >>>>> >>>>> Hey Thomas, >>>>> >>>>> Could you show what the web.xml file looks like before you take one >>>>> out? I'm not sure how you've included both of them and it appears you >>>>> uploaded a section from web.xml with only one Api class present. >>>>> >>>>> Also, just for testing's sake, have you managed to check whether >>>>> recompiling the client against the new API version resolves the issue? >>>>> >>>>> Cheers, >>>>> >>>>> Nick >>>>> Cloud Platform Community Support >>>>> >>>>> On Sunday, October 2, 2016 at 11:24:21 PM UTC-4, Thomas Wiradikusuma >>>>> wrote: >>>>>> >>>>>> Hi Nick, >>>>>> >>>>>> The error happens when receiving requests. I don't think it's >>>>>> necessary to update the client, as the update doesn't change the server. >>>>>> >>>>>> I'm posting here since I think it's either a bug of, or lack of >>>>>> documentation for, the V2 implementation @ApiClass. Let me explain. >>>>>> >>>>>> I have 2 classes that share @Api ( >>>>>> https://
[google-appengine] Re: Endpoints v2 InconsistentApiConfigurationException
Hi Nick, The web.xml snippet I gave earlier is the one before I take one out: com.bla.ApiV2,com.bla.ApiV2Public Notice class ApiV2 and ApiV2Public. Also, I'm testing this from API explorer, which I think doesn't require the generation of client libraries. But, for curiosity sake, I did try it (https://cloud.google.com/endpoints/docs/frameworks/java/generate-client-libraries-android): endpoints-framework-tools get-client-lib --war=target/war -bs gradle com.bla.ApiV2 endpoints-framework-tools get-client-lib --war=target/war -bs gradle com.bla.ApiV2Public No error in the generation (but doesn't fix my issue). Regards, Thomas Wiradikusuma On Tuesday, October 4, 2016 at 3:18:59 AM UTC+8, Nick (Cloud Platform Support) wrote: > > Hey Thomas, > > Could you show what the web.xml file looks like before you take one out? > I'm not sure how you've included both of them and it appears you uploaded a > section from web.xml with only one Api class present. > > Also, just for testing's sake, have you managed to check whether > recompiling the client against the new API version resolves the issue? > > Cheers, > > Nick > Cloud Platform Community Support > > On Sunday, October 2, 2016 at 11:24:21 PM UTC-4, Thomas Wiradikusuma wrote: >> >> Hi Nick, >> >> The error happens when receiving requests. I don't think it's necessary >> to update the client, as the update doesn't change the server. >> >> I'm posting here since I think it's either a bug of, or lack of >> documentation for, the V2 implementation @ApiClass. Let me explain. >> >> I have 2 classes that share @Api ( >> https://cloud.google.com/endpoints/docs/frameworks/java/multiclass): >> >> @Api(name = "api", version = "v2", namespace = @ApiNamespace(ownerDomain >> = "bla.com", ownerName = "bla.com")) >> @ApiClass(authenticators = {AccountManager.class}, scopes = >> {EMAIL_SCOPE}, clientIds = {API_V2_ANDROID_CLIENT_ID, API_V2_WEB_CLIENT_ID, >> API_EXPLORER_CLIENT_ID}, audiences = {API_V2_ANDROID_AUDIENCE}) >> public class ApiV2 { .. } >> >> @Api(name = "api", version = "v2", namespace = @ApiNamespace(ownerDomain >> = "bla.com", ownerName = "bla.com")) >> public class ApiV2Public { .. } >> >> This is how they're defined in web.xml: >> >> >> api >> com.google.api.server.spi.EndpointsServlet >> >> services >> >> com.bla.ApiV2,com.bla.ApiV2Public >> >> >> >> >> If I take out one from web.xml, it works. >> >> This used to work in V1. It could be due to this new property "issuers" >> that's poorly documented (compare >> https://cloud.google.com/appengine/docs/java/endpoints/annotations vs >> https://cloud.google.com/endpoints/docs/frameworks/java/annotations, >> Ctrl+F for "issuers"). >> >> Looking forward for a solution! >> >> Regards, >> Thomas Wiradikusuma >> >> >> On Saturday, October 1, 2016 at 4:54:42 AM UTC+8, Nick (Cloud Platform >> Support) wrote: >>> >>> Hey Thomas, >>> >>> This is just a guess, but it could be that it's necessary to update the >>> client as well. Does that error occur when you deploy, or when you receive >>> a request? That would be the way to determine if the issue is in the client >>> needing to be updated or another issue (not clarified as yet) in the server >>> code. >>> >>> As a quick side-note, this forum is meant for general high level >>> discussion of the platform and services, design patterns, etc. So a thread >>> like this should actually be a Stack Overflow <http://stackoverflow.com> >>> post. Not to worry as we watch that forum as well. You are more likely to >>> find more users who can help, though, with a technical question in that >>> forum. >>> >>> Cheers, >>> >>> Nick >>> Cloud Platform Community Support >>> >>> On Tuesday, September 27, 2016 at 9:29:27 PM UTC-4, Thomas Wiradikusuma >>> wrote: >>>> >>>> Hi guys, >>>> >>>> I'm a longtime user of Cloud Endpoints (v1), and decided to give v2 a >>>> try. So I followed >>>> https://cloud.google.com/appengine/docs/java/endpoints/migrating and >>>> here's my diff: >>>> >>>> - compile 'com.google.appengine:appengine-endpoints:1.9.42' >>>> >>>> + compile 'com.google.endpoints:endpoints-framework:2.0.0-beta.8' >>>> >>>> >>
[google-appengine] Re: Endpoints v2 InconsistentApiConfigurationException
Hi Nick, The error happens when receiving requests. I don't think it's necessary to update the client, as the update doesn't change the server. I'm posting here since I think it's either a bug of, or lack of documentation for, the V2 implementation @ApiClass. Let me explain. I have 2 classes that share @Api (https://cloud.google.com/endpoints/docs/frameworks/java/multiclass): @Api(name = "api", version = "v2", namespace = @ApiNamespace(ownerDomain = "bla.com", ownerName = "bla.com")) @ApiClass(authenticators = {AccountManager.class}, scopes = {EMAIL_SCOPE}, clientIds = {API_V2_ANDROID_CLIENT_ID, API_V2_WEB_CLIENT_ID, API_EXPLORER_CLIENT_ID}, audiences = {API_V2_ANDROID_AUDIENCE}) public class ApiV2 { .. } @Api(name = "api", version = "v2", namespace = @ApiNamespace(ownerDomain = "bla.com", ownerName = "bla.com")) public class ApiV2Public { .. } This is how they're defined in web.xml: api com.google.api.server.spi.EndpointsServlet services com.bla.ApiV2,com.bla.ApiV2Public If I take out one from web.xml, it works. This used to work in V1. It could be due to this new property "issuers" that's poorly documented (compare https://cloud.google.com/appengine/docs/java/endpoints/annotations vs https://cloud.google.com/endpoints/docs/frameworks/java/annotations, Ctrl+F for "issuers"). Looking forward for a solution! Regards, Thomas Wiradikusuma On Saturday, October 1, 2016 at 4:54:42 AM UTC+8, Nick (Cloud Platform Support) wrote: > > Hey Thomas, > > This is just a guess, but it could be that it's necessary to update the > client as well. Does that error occur when you deploy, or when you receive > a request? That would be the way to determine if the issue is in the client > needing to be updated or another issue (not clarified as yet) in the server > code. > > As a quick side-note, this forum is meant for general high level > discussion of the platform and services, design patterns, etc. So a thread > like this should actually be a Stack Overflow <http://stackoverflow.com> > post. Not to worry as we watch that forum as well. You are more likely to > find more users who can help, though, with a technical question in that > forum. > > Cheers, > > Nick > Cloud Platform Community Support > > On Tuesday, September 27, 2016 at 9:29:27 PM UTC-4, Thomas Wiradikusuma > wrote: >> >> Hi guys, >> >> I'm a longtime user of Cloud Endpoints (v1), and decided to give v2 a >> try. So I followed >> https://cloud.google.com/appengine/docs/java/endpoints/migrating and >> here's my diff: >> >> - compile 'com.google.appengine:appengine-endpoints:1.9.42' >> >> + compile 'com.google.endpoints:endpoints-framework:2.0.0-beta.8' >> >> >> - >> com.google.api.server.spi.SystemServiceServlet >> >> + >> com.google.api.server.spi.EndpointsServlet >> >> >> - /_ah/spi/* >> >> + /_ah/api/* >> >> >> I did *not* run the "generating client lib" as documented in >> https://cloud.google.com/endpoints/docs/frameworks/java/generate-client-libraries-android >> as I thought, "from the client perspective it should be the same". >> >> >> I hit this error in the server: >> >> >> SEVERE: javax.servlet.ServletContext log: unavailable >> >> com.google.api.server.spi.config.validation.InconsistentApiConfigurationException: >> >> api: API-wide configuration does not match between the classes >> com.foobar.ApiV2Public and com.foobar.ApiV2. All API classes with the same >> API name and version must have the exact same API-wide configuration. >> Differing property: issuers >> (com.google.api.server.spi.config.model.ApiIssuerConfigs@0 vs >> com.google.api.server.spi.config.model.ApiIssuerConfigs@d03e1481). >> >> at >> com.google.api.server.spi.config.validation.ApiConfigValidator.validate(ApiConfigValidator.java:89) >> >> at >> com.google.api.server.spi.SystemService.registerLoadedService(SystemService.java:218) >> >> at >> com.google.api.server.spi.SystemService.registerService(SystemService.java:193) >> >> >> How do I fix this? >> > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/e16f44d8-02ee-405a-b5a7-03f68585578e%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Endpoints v2 InconsistentApiConfigurationException
Hi guys, I'm a longtime user of Cloud Endpoints (v1), and decided to give v2 a try. So I followed https://cloud.google.com/appengine/docs/java/endpoints/migrating and here's my diff: - compile 'com.google.appengine:appengine-endpoints:1.9.42' + compile 'com.google.endpoints:endpoints-framework:2.0.0-beta.8' - com.google.api.server.spi.SystemServiceServlet + com.google.api.server.spi.EndpointsServlet - /_ah/spi/* + /_ah/api/* I did *not* run the "generating client lib" as documented in https://cloud.google.com/endpoints/docs/frameworks/java/generate-client-libraries-android as I thought, "from the client perspective it should be the same". I hit this error in the server: SEVERE: javax.servlet.ServletContext log: unavailable com.google.api.server.spi.config.validation.InconsistentApiConfigurationException: api: API-wide configuration does not match between the classes com.foobar.ApiV2Public and com.foobar.ApiV2. All API classes with the same API name and version must have the exact same API-wide configuration. Differing property: issuers (com.google.api.server.spi.config.model.ApiIssuerConfigs@0 vs com.google.api.server.spi.config.model.ApiIssuerConfigs@d03e1481). at com.google.api.server.spi.config.validation.ApiConfigValidator.validate(ApiConfigValidator.java:89) at com.google.api.server.spi.SystemService.registerLoadedService(SystemService.java:218) at com.google.api.server.spi.SystemService.registerService(SystemService.java:193) How do I fix this? -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/781164b3-e4d9-4c7d-999f-e64ae32d6468%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] my projects suspend
Do you use debit card? I had this issue, and fixed it by changing to credit card (but still had to go through support). -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/4c0d6ff5-b345-43f4-8b5b-e5cb2d33d550%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Java SDK 1.9.28 - The Files API is disabled
Hi guys, This code used to work, before upgrading to Java SDK 1.9.28: gcs.createOrReplace( new GcsFilename("myapp.appspot.com", "/gs/myapp.appspot.com/foo/bar.jpg"), new Builder().mimeType("image/jpeg").build()) This is the exception: Oct 31, 2015 6:28:32 PM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: /foo/bar com.google.appengine.tools.cloudstorage.NonRetriableException: com.google.apphosting.api.ApiProxy$FeatureNotEnabledException: The Files API is disabled. Further information: https://cloud.google.com/appengine/docs/deprecations/files_api at com.google.appengine.tools.cloudstorage.RetryHelper.doRetry(RetryHelper.java:120) at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:166) at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:156) at com.google.appengine.tools.cloudstorage.GcsServiceImpl.createOrReplace(GcsServiceImpl.java:70) at com.hohero.servlet.AnnouncementImageUploadServlet.doPost(AnnouncementImageUploadServlet.scala:32) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) ... Caused by: com.google.apphosting.api.ApiProxy$FeatureNotEnabledException: The Files API is disabled. Further information: https://cloud.google.com/appengine/docs/deprecations/files_api at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.callInternal(ApiProxyLocalImpl.java:515) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:484) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:461) at java.util.concurrent.Executors$PrivilegedCallable$1.run(Executors.java:493) What needs to be changed? FYI I'm following https://cloud.google.com/appengine/docs/java/googlecloudstorageclient/getstarted - Writing a Byte Array to a Cloud Storage File. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/45ec020b-374d-4403-9b34-ad5d05688c7e%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Re: Feedback to Google Technical Support on their contribution in this list
Hi Kaan, I agree with you that the community here is no longer as active as the "good old days" (I've been here since GAE first introduced Java). But! I think this is also because the "veterans" are used to GAE and now they're busy building stuff! I'm a satisfied customer and I prefer that GAE becomes the boring stable platform :) -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/6c982790-ca81-4f53-b399-6f03ea71f5b3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [google-appengine] Re: Why are cloud endpoints so slow ?
Hi guys, Any news on this? It's almost a year since last discussion here and Google Cloud Endpoints is still very slow. Regarding suggestion to hit the rpc 50x to warm it up, how do you know when? I mean, hit rpc from time to time, and when it's slow, hit it 50x doesn't sound like a good solution for me. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/993a30b4-c896-4bf3-add4-54418b364bf1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [google-appengine] Naked domain has stopped working
How do you handle both naked and www, esp in regards to SSL? At the moment, I set *both* in Console, so both http://bla.com and http://www.bla.com are valid but won't redirect to each other. Not a big deal (I can use canonical url meta tag for search engine crawlers), but if SSL doesn't work for naked, it makes me worried. Regards, Thomas On Tuesday, April 21, 2015 at 5:39:28 AM UTC+8, Qian Qiao wrote: Instead of redirecting, you appengine app can now serve naked domain directly. Go to console.cloud.google.com, choose your project, under Computer - Appengine - Settings, click on the Custom domains tab, and you can add the naked domain directly. SSL doesn't seem to work for naked domains just yet, but HTTP traffic works fine. HTH. -- Joe On Mon, 20 Apr 2015 at 09:12 Paul Canning pa...@drawandcode.com javascript: wrote: I have just checked today and it seems like the naked domain for my app is no longer working. Previously, I could go to http://mydomain.com and it would load up http://www.mydomain.com (this isn't my actual domain!) BUT, now, going to http://mydomain.com simply shows This web page is not available Has anything changed in the past few days about naked domains? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com javascript:. To post to this group, send email to google-a...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/d252a7fe-0929-4c55-8aa1-b171e44f6d5d%40googlegroups.com https://groups.google.com/d/msgid/google-appengine/d252a7fe-0929-4c55-8aa1-b171e44f6d5d%40googlegroups.com?utm_medium=emailutm_source=footer . For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/8c31369b-5516-47f2-977c-2cecfed7ad52%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [google-appengine] Re: Announcing a credit for App Engine applications with new custom domains
Hi Andrew, The implementation of naked domain seems to conflict with naked domain redirection in Google Apps: https://code.google.com/p/googleappengine/issues/detail?id=10798 Regards, Thomas Wiradikusuma -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/d/optout.
[google-appengine] Re: Endpoints, missing something?
Posted to SO: http://stackoverflow.com/questions/16984231/google-cloud-endpoints-files-generated-server-not-working Regards, Thomas Wiradikusuma On Jun 7, 10:24 am, Thomas Wiradikusuma wiradikus...@gmail.com wrote: Hi guys, Last night I played with Endpoints[1], successfully generated the 2 .discovery files, 1 .api file and 1 .zip file. I ran endpoints.sh get-client-lib com.my.app.FooService. I looked at my war folder, the script doesn't add anything there. I assumed server-side is already handled by magic configured in web.xml and @Api annotations (a'la Spring). Then I ran the server, but I couldn't test[2] it.http://localhost:8080/_ah/api/explorer redirected me to blank Google cloud console. I uploaded my app, still the same. Am I missing something? I think the documentation is a bit lacking, it doesn't even explain what the files it generates are for. Regards, Thomas Wiradikusuma [1]https://developers.google.com/appengine/docs/java/endpoints/gen_clients [2]https://developers.google.com/appengine/docs/java/endpoints/test_deploy -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[google-appengine] Endpoints, missing something?
Hi guys, Last night I played with Endpoints[1], successfully generated the 2 .discovery files, 1 .api file and 1 .zip file. I ran endpoints.sh get-client-lib com.my.app.FooService. I looked at my war folder, the script doesn't add anything there. I assumed server-side is already handled by magic configured in web.xml and @Api annotations (a'la Spring). Then I ran the server, but I couldn't test[2] it. http://localhost:8080/_ah/api/explorer redirected me to blank Google cloud console. I uploaded my app, still the same. Am I missing something? I think the documentation is a bit lacking, it doesn't even explain what the files it generates are for. Regards, Thomas Wiradikusuma [1] https://developers.google.com/appengine/docs/java/endpoints/gen_clients [2] https://developers.google.com/appengine/docs/java/endpoints/test_deploy -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[google-appengine] Re: SSL configuration issue (GAE/Java)
Hi Mike, SSL for MYAPP.appspot.com is automatic, you don't need to do anything (just open https://MYAPP.appspot.com). For custom domain (e.g. MYAPP.com) the doc is https://developers.google.com/appengine/docs/ssl. For both cases, to force user to use https, handle in your code (e.g. if request.notsecure then redirect to https version of the same URL). The link you gave is about securing url with Google Account (or whatever you specify in Authentication Type in Application Settings in control panel). Regards, Thomas Wiradikusuma On Sunday, 26 May 2013 04:06:55 UTC+8, Mike Dougherty wrote: I'm having a little trouble getting SSL to work correctly with my Java application. I've configured it according to the information found here: https://developers.google.com/appengine/docs/java/config/webxml#Secure_URLs And it appears to work, however it is requiring the user login with a Google account before redirecting back to the SSL URL. How in the world do I configure this application to force SSL without requiring the user be logged in to a Google Account? Thanks, Mike -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[google-appengine] Enable suspended Google Apps user used for transactional email
Hi guys, I built a website that's been running in autopilot for months (billing enabled). Recently I realize that the Google Apps user used for transactional email (info@MYAPP) has been suspended for abuse (according to Google Admin Control Panel). I can't even login (This account has been disabled). According to http://support.google.com/a/bin/answer.py?hl=enanswer=33326, Administrators can contact Support for more information, but apparently both phone and email support are *not* available for Free Google Apps (I have this long before they close it). My website is a dating website. I never use info@MYAPP other than notification email for signups in LaunchRock (we've launched, register here), welcome email (please confirm your email) and new message email (somebody sent you a message). I have SPF and DKIM properly set up. I suspect the reason for suspension is because some of my users register with invalid email account, so those transactional emails bounced (I know from implementing Email Bounce Handler recently). What should I do? The website is still not making money (I don't put ads, and everything there is free), so I'm really hesitant to upgrade to Google Apps for Business just to raise support, esp. if it's not guaranteed to enable the user. I'm also not ready to use dedicated 3rd party email service, as I want to keep cost to minimum (not to mention MailChimp doesn't accept dating websites). Has anyone had this problem? How did you solve this? What's the next thing forward to avoid this again? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [google-appengine] giving up with GAE
I use Scala, which has slower startup time compared to Java, but I stick to barebone JSP+Servlet (and Objectify for a dozen of domain classes, everything else use direct datastore) and my startup time is acceptable. My app has 2-3k pv/day, so it's low traffic and most likely subject to cold start. http://www.ngajakjalan.com in case you want to test it yourself. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[google-appengine] java.lang.IndexOutOfBoundsException: fromIndex = -1
Hi guys, I'm using Objectify and have a model like this: @Entity(name = D) @Indexed public class Detail extends AbstractString implements Serializable { private static final long serialVersionUID = 1L; @Parent private KeyUser user; private Date dob; private double ordering; private int contactable; // Just added // Tons of other fields // Getters and setters } With the following index: datastore-index kind=D ancestor=false source=manual property name=contactable direction=desc/ !-- Just added -- property name=gender direction=asc/ property name=province direction=asc/ property name=ordering direction=desc/ property name=dob direction=desc/ /datastore-index And here's my code snippet: val query = new Query(D) query addSort(contactable, DESCENDING) // Just added query addSort(ordering, DESCENDING) query addSort(dob, DESCENDING) Now, if I *dont* use contactable field (i.e. remove all just added stuff), everything works. But as soon as I add that field, an exception is thrown: WARNING: /_/search.json java.lang.IndexOutOfBoundsException: fromIndex = -1 at java.util.SubList.init(AbstractList.java:600) at java.util.RandomAccessSubList.init(AbstractList.java:758) at java.util.AbstractList.subList(AbstractList.java:468) at java.util.Collections$UnmodifiableRandomAccessList.subList(Collections.java:1226) at com.google.appengine.api.datastore.CompositeIndexManager.minimumCompositeIndexForQuery(CompositeIndexManager.java:197) at com.google.appengine.api.datastore.dev.LocalCompositeIndexManager.minimumCompositeIndexForQuery(LocalCompositeIndexManager.java:598) at com.google.appengine.api.datastore.dev.LocalCompositeIndexManager$IndexCache.verifyIndexExistsForQuery(LocalCompositeIndexManager.java:355) at com.google.appengine.api.datastore.dev.LocalCompositeIndexManager$IndexCache.access$300(LocalCompositeIndexManager.java:334) at com.google.appengine.api.datastore.dev.LocalCompositeIndexManager.manageIndexFile(LocalCompositeIndexManager.java:251) at com.google.appengine.api.datastore.dev.LocalCompositeIndexManager.processQuery(LocalCompositeIndexManager.java:199) at com.google.appengine.api.datastore.dev.LocalDatastoreService$9.run(LocalDatastoreService.java:1082) at java.security.AccessController.doPrivileged(Native Method) at com.google.appengine.api.datastore.dev.LocalDatastoreService.runQuery(LocalDatastoreService.java:1079) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.callInternal(ApiProxyLocalImpl.java:527) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:481) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:458) at java.util.concurrent.Executors$PrivilegedCallable$1.run(Executors.java:461) at java.security.AccessController.doPrivileged(Native Method) at java.util.concurrent.Executors$PrivilegedCallable.call(Executors.java:458) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:680) TL;DR: I want to add an indexable int field for inequality filter into an existing previously-working code, but I get java.lang.IndexOutOfBoundsException: fromIndex = -1. Is this a limitation of GAE where sorted fields 3? Or what am I missing? -- 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/-/hIby2OBWL54J. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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 No Longer Free
Hi Greg (of Google), I agree of what the other Greg said. It's very common to send transactional emails from a dedicated address (e.g. noreply). It's not professional (and even raise suspicion) if the Click here to reset your password email comes from j...@startupname.com for example. If it's not possible to increase the account from 1 to n, at least please allow the use of alias. On Friday, 7 December 2012 10:42:42 UTC+8, Greg wrote: Just saw that Google Apps is no longer free for businesseshttp://googleenterprise.blogspot.co.nz/2012/12/changes-to-google-apps-for-businesses.html . I have no problem paying for a Google Apps account where I actually use Google apps, but at the moment you have to have a Google Apps account to link a domain to an Appengine app. Some of our apps have two or three domains showing the same app, and because you need to have an account for each email address that Appengine sends email from, we have three or four accounts per domain. So this is potentially going to add $600 per year to our costs - all for virtual accounts that don't actually use Google Apps at all. Can someone from Google comment please? Either Google Apps accounts need to remain free if they are associated with Appengine apps, or there needs to be another way to link domains (and authorise email addresses) for Appengine. -- 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/-/ZT_jCupVdQEJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Distinct Recipients Emailed Quota limit ?
Maybe they should call it Emails sent instead. On Wednesday, 28 November 2012 03:51:54 UTC+8, Michael Hermus wrote: That is by design, although the terminology is confusing: 1 message to 1 recipient = 1 recipient emailed. 1 message to 2 recipients = 2 recipients emailed. 2 messages to 1 recipient = 2 recipients emailed. -- 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/-/CU8kVVpAriUJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: What is Recipients Emailed quota limit?
The Recipients Email quota is set to 100 for free apps. To remove the limit, enable billing and wait until you're billed (so you can't start sending tons of email right after enabling billing). Then if you disable your billing, the cycle repeats. On Sunday, 25 November 2012 22:07:47 UTC+8, yydeals99 wrote: What is Recipients Emailed quota limit?? I am wondering why my application(yydeals99) recently always run out of quota? I saw the problem before, but after I posted the question here, it was solved. Now, it happened again. 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/-/1K4wuL8Dqk0J. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] Frequent NPE on Objectify.get
Hi guys, I'm using Java and Objectify 3, but I'm thinking this problem I'm experiencing is probably more related to GAE. // Snippet from ProfilePhoto.java @Entity(name = PP) @Unindexed public class ProfilePhoto implements Serializable { private static final long serialVersionUID = 1L; @Id private String id; @Parent private KeyUser user; private Blob object; // getters and setters } // Snippet from PhotoServlet.scala val username = getUsername(req) val pp = objectify.get[ProfilePhoto](new Key[ProfilePhoto](new Key[User](classOf[User], username), classOf[ProfilePhoto], username)) val image = makeImage(photo.getObject.getBytes) That val pp line, with same username, *sometimes *throws NPE from datastore. I'm using HRD. Anyone experiencing datastore get with this kind of problem? Full cause stacktrace: Uncaught exception from servlet java.lang.NullPointerException at mywebsite.servlet.PhotoServlet.doGet(PhotoServlet.scala:60) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390) 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 org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) at gae.LocalizedRequest$$anon$1.forward(LocalizedRequest.scala:24) at mywebsite.filter.FirstFilter.obtainContent(FirstFilter.scala:143) at mywebsite.filter.FirstFilter.process(FirstFilter.scala:119) at mywebsite.filter.FirstFilter.doFilter(FirstFilter.scala:73) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:102) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35) 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 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.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:266) 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.headerComplete(HttpConnection.java:923) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:146) at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:447) at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454) at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461) at com.google.tracing.TraceContext.runInContext(TraceContext.java:703) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330) at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458) at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251) at java.lang.Thread.run(Thread.java:679) -- 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/-/fVWJ6_cdGpkJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Creating a Million dollar application
Submitted this to HN to help it get traction. http://news.ycombinator.com/item?id=4643603 On Friday, 12 October 2012 10:00:33 UTC+8, James Broberg wrote: A googol amount of dollars isn't cool, you know what's cool? A googolplex amount of dollars. On 12 October 2012 04:56, Vinny P vinn...@gmail.com javascript: wrote: Why stop there? Let's make it an application worth a googol amount of dollars (for the innumerate out there, that's 1 times 10 to the 100th power)! -Vinny P On Thursday, October 11, 2012 12:38:59 PM UTC-5, Jon Stevens wrote: yea... one million, that's nothing... i've got a TWO million dollar application... who's in? (this is a joke) jon On Thursday, October 11, 2012 7:15:42 AM UTC-7, Geoffrey Spear wrote: On Wednesday, October 10, 2012 2:34:27 PM UTC-4, Big Project wrote: I have a really brilliant idea for a mobile application and I am looking for a few developers to help me create it -- 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/-/oIoRMyWY8QoJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: SSL VIP pricing changed to $39/mo
Could you report your finding here? :) On Tuesday, 18 September 2012 19:51:50 UTC+8, barryhunter wrote: On Tue, Sep 18, 2012 at 10:30 AM, Richard Watson wrote: However, with CF you ... you can add extra domains for $5 each. I have a couple of apps on GAE and CF's saving will add up quickly. You can host multiple sites/domains on one VIP. No extra charge (from Google). You just need to purchase a certificate that works for all your domains. One VIP = one certificate, but a certificate can represent multiple domains. Will need to shop around to find a good deal on MDCs thos. -- 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/-/EJ4SoBTzTzoJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: APP DOWN: App suddenly no longer starts, no code changes
Hi Jeff, I feel sorry for your loss. I agree completely with your message and your recommendation to Google. Hi GAE team, at the very least, please let us know when you want to roll out upgrades and stuff. It might not break stuff, but we need to know so we can be prepared (at least we won't send newsletter to thousands of people, Hey check our website now or schedule a pitch to investor). On Thursday, 13 September 2012 08:35:39 UTC+8, Jeff Schnitzer wrote: On Wed, Sep 12, 2012 at 3:12 PM, Kaan Soral kaan...@gmail.comjavascript: wrote: This is why I love App Engine, when a problem occurs instead of having a heart attack or committing suicide, you can just wait for it to be resolved. Hmmm. This really unfortunately timed incident may have cost us an important client, so I'm not feeling the love. I have quite a lot of experience building and running large online systems prior to embracing GAE and my products have never had as much downtime as I've had over the last year. It hasn't always been Google's fault (the entire .st registry going down for 8+ hours really sucked[1]) but it usually has been. See: * Instance startup time ballooning by 3X and hitting deadlines (multiple occasions) * GAE blocking CloudFlare with an undocumented security system * This incident, where Java instances started mysteriously failing Would waiting have fixed these issues? I'm not convinced. Google may have smart people running GAE but they aren't watching _my_ app, they're just watching for an uptick in the number of complaints. If you're doing something slightly unusual (say, running a CF reverse proxy), you might be statistical noise. Apparently this Java problem _was_ widespread, but I had no way of knowing that. GAE's value proposition is that it's better to have Google's smart engineers building and maintaining your infrastructure. But my site would be more reliable if I had one dumb person (possibly me) who cares specifically about _my_ infrastructure. I've screwed up deployments and upgrades in production before, but at least I'm aware when changes happen, get immediate feedback, and can fix the problem right then and there. With GAE, the only thing I can do when my alarms go off is to whine as loudly as possible. But there is no feedback! I have no way of knowing if Google is working on the problem or if they're still waiting for more complaints that will never materialize. Will I be down for 15 minutes, 1 hour, 2 hours, 8 hours, forever? How long do you want to wait? This feels like a fundamental flaw in the PaaS concept, destined to produce multiple-hour downtimes at irregular intervals. The feedback loop is too slow (and lossy if the problem is not widespread). There's no amount of QA or testing that will prevent failures in a system as big as complicated as GAE. So the only reasonable option is to get that feedback loop shorter. How can that happen? Some ideas: * Google could announce when they are rolling out changes. I don't need release notes (although it would be nice to know what to watch for) but I'd like to know when I should pay extra attention. Or not schedule client demos. Facebook does something like this, rolling out platform changes on specific days of the week (which I long ago stopped caring about). * Google could make extra support channels available during this time. Hell, use twitter. Think of us as your QA staff - if we see something amiss, we'd like to let you know. * Google could be more transparent about problems as they happen. When you know there is an issue, let us know. Since I must assume that any problem which Google hasn't acknowledged is a problem Google doesn't know about, I can stop spamming @google.com addresses. * Google could monitor our apps, and compare error rates before rollout to error rates after rollout. Ideally you'd break this down by component; figure out which apps use the search api, so when you roll out changes to the search system, you're specifically watching for an uptick in 500 errors from those apps. Something like that. Any other ideas? I really like GAE and I really like the PaaS concept. But reliability is really a problem. It's probably going to be an even bigger problem going on into the future as GAE (hopefully) adds new features and gets a bigger footprint. More moving parts means more failures. Jeff P.S. Paying $6k/yr for Premier Support is not the answer. Whether or not that would solve my problem, that doesn't solve GAE's problem. [1]: http://blorn.com/post/29851770158/beware-cutesy-two-letter-tlds-for-your-domain-name -- 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/-/OsO531fxrSAJ. To post to this group,
Re: [google-appengine] Re: Frameworks on GAE
Hi Brandon, I use both Objectify and low-level access. Objectify for most fixed-field entities, and low-level for small entities (for session, as i override GAE's Java session) and entities where it can have 30+ fields but only 5+ filled in average (but need to store them in 1 entity since people often query them together). On Monday, 23 July 2012 11:29:15 UTC+8, Brandon Wirtz wrote: Thomas, How do you access the datastore? -- 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/-/oYYMWhDXEIMJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] Naked https (SSL) domain?
Hi guys, I'm using GAE's official SSL SNI support in my app. Opening https://www.temanmudik.com is fine. But opening https://temanmudik.com (naked domain) gives warning (in Chrome) that essentially says, Hey, the cert is not for temanmudik.com, it's Google's. Non-SSL (http://temanmudik.com) properly redirects to www. My appid is neytap. So I got creative, I logged in to enom (from Google Apps) then removed all A mappings (@ - google IPs) and replaced them with one URL Redirect (@ - http://www.temanmudik.com). Non-SSL naked domain is still working, but now Chrome gives me This webpage is not available. Google Chrome's connection attempt to temanmudik.com was rejected. The website may be down, or your network may not be properly configured. when I try to access https://temanmudik.com. Anyone know how to properly redirect naked https domain in GAE? I notice there is similar question in this forum (https://groups.google.com/forum/?fromgroups#!newtopic/google-appengine/google-appengine/A-8I1X9vouk), but it's 2009 and uses unofficial SSL support. -- 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/-/BtUQJeGPVCcJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Frameworks on GAE
Hi Phil, Coming from Java world, I'm very much spoiled with frameworks. When I first created an app for GAE, I used Spring. But due to unacceptable start-up time, I ditched it and just use Servlet+JSP. I miss a lot of convenience (esp. Spring Security), but luckily GAE provides other goodies, things like sending email, cron, persistence, are now taken for granted. I still use a handful of 3rd party components: joda time, SiteMesh, Scala (I'm talking from JAR point of view, an extra 8MB), and some other small libraries. Oh, and you can always-on your instances. On Sunday, 22 July 2012 17:32:41 UTC+8, glimmung wrote: Hi All, I've been reading, initially with amusement but more recently with concern, the dialogue (for want of a better word) between Brandom Wirtz and Jeff Schnitzer re. startup time/optimisation. Brandom has now made the following very strong statement: NO FRAMEWORKS. NONE. Deal with it. This leads me to ask the Google team for their position on this: Is it your position that GAE is an unsuitable platform for framework-driven apps? I'm using a framework, and trust the framework's authors to optimise their part of the piece as much as possible, but I'm paid to solve business problems, and am not about to dive into that timesink of esoterica. It's outside my skill-set, and properly so in my view. I've only really tinkered with GAE so far, and this is putting me off investing more time in what is starting to look like a risky platform for me. So Google peeps, if I want to write B2B apps using a framework, am I your market or not? Or is it your position that the low-level optimisation to balance start-up time and hosting cost will always be required? -- Cheers, PhilK -- 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/-/3SVruDN4gUUJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] appengine with spring mvc and sitemesh
Sure, I'll send it to you tonight when I reach home. On Tuesday, 17 July 2012 01:36:28 UTC+8, Slawek wrote: Unfortunately i can't compile this project. Could you share your compilated jar file? Best Regards sw On Monday, July 16, 2012 3:32:56 AM UTC+2, Thomas Wiradikusuma wrote: I also use SiteMesh for www.neytap.com. AFAIK you must use SiteMesh 2.5+ to be compatible with GAE. Grab it from https://github.com/sitemesh/sitemesh2/. On Sunday, 15 July 2012 18:44:42 UTC+8, Slawek wrote: Yes, I have checked - there is nothing. Best Regards sw On Sunday, July 15, 2012 8:04:16 AM UTC+2, rerngvit yanggratoke wrote: Have you try check the logs on admin console? On Sun, Jul 15, 2012 at 12:24 AM, Slawek s.wojciechow...@gmail.comwrote: Hello, I have created simple application using spring mvc and it works well both my local computer and app engine. Next I have added sitemesh framework and it work well only on my local machine, on app engine is only empty page without code. I used spring mvc 3.1.1 and sitemash 2.4.2. I haven't idea what should do to start application on app engine. Best Regards sw -- 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/-/tzu-kFjy1VAJ. To post to this group, send email to google-appengine@googlegroups.com . To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- Best Regards, Rerngvit Yanggratoke -- 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/-/ooIT87drjbkJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] appengine with spring mvc and sitemesh
I also use SiteMesh for www.neytap.com. AFAIK you must use SiteMesh 2.5+ to be compatible with GAE. Grab it from https://github.com/sitemesh/sitemesh2/. On Sunday, 15 July 2012 18:44:42 UTC+8, Slawek wrote: Yes, I have checked - there is nothing. Best Regards sw On Sunday, July 15, 2012 8:04:16 AM UTC+2, rerngvit yanggratoke wrote: Have you try check the logs on admin console? On Sun, Jul 15, 2012 at 12:24 AM, Slawek s.wojciechow...@gmail.comwrote: Hello, I have created simple application using spring mvc and it works well both my local computer and app engine. Next I have added sitemesh framework and it work well only on my local machine, on app engine is only empty page without code. I used spring mvc 3.1.1 and sitemash 2.4.2. I haven't idea what should do to start application on app engine. Best Regards sw -- 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/-/tzu-kFjy1VAJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- Best Regards, Rerngvit Yanggratoke -- 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/-/Te2NGjg5kngJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Java instance startup time out of control
I went further by JARring everything (classes+small JARs, except Scala JAR and GAE Labs JAR). But i don't see big difference :( From ~18sec to ~15sec. On Monday, 25 June 2012 08:00:47 UTC+8, Jeff Schnitzer wrote: Experiment #1: JARing my classes. Times are measured by shutting down instance, hitting a URL, looking at request time in logs. Repeat until bored. First, the control. My app (sandbox appid), normally deployed (classes in WEB-INF/classes): 21118ms 23849ms 35995ms 20556ms 21620ms 23718ms 34446ms 42948ms 22487ms 32722ms 34511ms 31883ms Redeployed, same code but with classes JARed instead of in WEB-INF/classes: 19240ms 19386ms 19912ms 27517ms 20400ms 20483ms 20186ms 19517ms 20352ms 19528ms 20856ms What's interesting is that this change didn't improve the best-case load times by much, but it almost eliminated the crazy variance. This is a huge win. Conclusion: Use this ant script for deployment: target name=deploy delete dir=${staging.dir} / mkdir dir=${staging.dir} / copy todir=${staging.dir} fileset dir=war exclude name=WEB-INF/classes/** / exclude name=WEB-INF/appengine-generated/** / /fileset /copy jar destfile=${staging.dir}/WEB-INF/lib/classes.jar basedir=${classes.dir} / appcfg action=update war=${staging.dir} / /target -- 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/-/usSiMQqNz_wJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Java instance startup time out of control
I have updated http://code.google.com/p/googleappengine/issues/detail?id=7706 with this information. On Monday, 18 June 2012 11:44:29 UTC+8, Takashi Matsuo (Google) wrote: On Mon, Jun 18, 2012 at 9:57 AM, Thomas Wiradikusuma wiradikus...@gmail.com wrote: Just my 2 cents, If indeed our app needs to be single-JARred and obfuscaticated (at least removing unused code), IMO that feature should be baked in the tool. Probably triggered with extra flag. I think this is also a good feedback especially if creating the single JAR contributes the performance. I'd appreciate it if you could file an issue. -- 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/-/xuDU5X1KmnwJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Java instance startup time out of control
Just my 2 cents, If indeed our app needs to be single-JARred and obfuscaticated (at least removing unused code), IMO that feature should be baked in the tool. Probably triggered with extra flag. -- 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/-/DX5yI2GRG9YJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] Happy birthday?
Happy belated bday GAE and team! On Monday, 16 April 2012 09:12:38 UTC+8, Brian Quinlan wrote: We did cake :-) https://plus.google.com/111039891542127786416/posts/hN4PMZ4QqmU Cheers, Brian On Sun, Apr 15, 2012 at 3:48 AM, alex a...@cloudware.it wrote: I meant to post this a few days back. Correct me if I'm wrong but April 8th or 11th is the day App Engine was announced as a limited preview. If it is correct, well here it is: happy birthday app engine! alex. -- 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/-/DZmq8ZLjg1YJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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 view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/MD_PyN9i_3UJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] Inefficient Session Implementation on Google App Engine / Java GAE Critics
I end up setting session to false and implementing HttpSession myself which uses memcache (and +datastore for selected props). On Tuesday, 17 April 2012 05:51:22 UTC+8, Jeff Schnitzer wrote: There isn't a straight-up answer to that. The question to ask is: Why do you think you need a server-side session? Depending on the answer, there are various solutions. For example, if you're storing the authentication state of a user in the session, store it as a signed cookie instead. Easy. If you have some kind of per-user server-side state you are maintaining, stash it in memcache (if it is not essential) or the datastore (if it is). This is what the session does, except that with sessions you don't have granular control. You end up struggling with the performance profile because the behavior of sessions in a cluster is poorly defined - some people need super transactional robust behavior, others don't care if the data expires randomly. Jeff On Mon, Apr 16, 2012 at 3:27 PM, andrew andrew.macken...@bcntouch.com wrote: As an ignorant, can I genuinely ask: What is the recommended equivalent implementation for apps with high scalability needs (available in Java and NOT using a GAE API directly)? -- 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/-/OxttnQjWGMEJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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 view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/k849D6UBAjQJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Understanding The App Engine Way
Is there any documentation mentioning the max size of memcache for an app? -- 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/-/inXxqs5q9kMJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Understanding The App Engine Way
I haven't actually used it other than the one provided by Objectify :D I'm thinking of putting more (mostly rendered pages, recently accessed items, lookups), but afraid memcache will become full and evicting more important cache objects. What kind of misuse that you're talking? If I know I would avoid it. -- 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/-/lQgcuPRdWgIJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: 1.6.3 Prerelease SDK Available
This might be a solution looking for problem for me, but I'm curious, why would I need that? -- 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/-/TRZVzlyXrmEJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] Uneven instance load
Hi guys, I'm seeing this: QPS*Latency*Req Err Age Memory Availability 0.000 0.0 ms 3 0 20:03:1462.8 MBytes Resident 0.000 0.0 ms 1 0 1:22:39 57.5 MBytes Resident 0.000 0.0 ms 399 2 19:50:1369.8 MBytes Dynamic -- Why? 0.000 0.0 ms 32 0 2:32:28 67.7 MBytes Dynamic 0.000 0.0 ms 11 0 5:37:17 64.1 MBytes Dynamic And sometimes, opening my website results in: Error: Server Error The server encountered an error and could not complete your request. If the problem persists, please report your problem and mention this error message and the query that caused it. Here's what the log says: 2011-12-10 22:45:49.606 / 500 10202ms 0kb Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0.2) Gecko/20100101 Firefox/6.0.2 xxx.xxx.xxx.xxx - - [10/Dec/2011:06:45:49 -0800] POST / HTTP/1.1 500 0 https://apps.facebook.com/propertyads/; Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0.2) Gecko/20100101 Firefox/6.0.2 neytap.appspot.com ms=10203 cpu_ms=0 api_cpu_ms=0 cpm_usd=0.68 pending_ms=10179 W 2011-12-10 22:45:49.606 Request was aborted after waiting too long to attempt to service your request. This may happen sporadically when the App Engine serving cluster is under unexpectedly high or uneven load. If you see this message frequently, please contact the App Engine team. Are the graph and the error related? What should I do? -- You 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: a happy developer
Couldn't agree more! Outstanding work guys! PS: When can we see 1.6.1? On Dec 2, 1:11 am, Vivek Puri v...@vivekpuri.com wrote: +1 On Nov 30, 4:59 pm, alex a...@cloudware.it wrote: I've seen many people bashing GAE dev team, especially lately. What I want to say here is, I've been using it for years now and it's pretty awesome what you guys have been doing and where you've gone today. Of course there are bugs and stuff you need to find workarounds for but it is nowhere near compared to the burden of managing a cluster of EC2 on AWS or pay a double to Heroku or RackSpace even if they're great platforms too. -- You 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.
[appengine-java] Show project: Neytap (classifieds)
Hi guys, Last night I launched my pet project to public, www.neytap.com. It's a (very) simple classifieds for room rentals inside Facebook. It runs on GAE/Java and written in Scala, using just Servlet/JSP in the server. I tried Spring but given up. Other than that, it uses: Objectify, StringTemplate, SiteMesh, jQuery (and some plugins), Backbone.js. Man, I'm really standing on the shoulders of giants. My design sucks, so the website looks plain. Anyway looking forward for some suggestion :) @ikai this is the website I was working on in Google Hackaton in KL :) -- 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.
[google-appengine] Re: New Acceptable Use: Porn?
Suddenly GAE cost looks cheap compared to its potential ;-) On Nov 11, 8:14 am, Gregory D'alesandre gr...@google.com wrote: 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. -- You 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: What happened to the promised reliability improvement for email delivery?
+1 with me. This sort of thing gives GAE a bad name. Better implement it good or not at all. But of course people would wonder, aint email one of Google's strength? (Gmail) On Nov 13, 1:50 am, Adrian Scott adr...@coderbuddy.com wrote: As far as email goes - personally, I'd rather Appengine shut down the email API and put those developers to work on something else. Email I agree, completely... -- You 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 have to leave App Engine platform, feeling really bad and sad
1. build an app with the most rapid way (forget about best coding practices etc) 4. pay someone smarter to refine the code and make it scale Good luck with that. If you cannot do #4 on your own then I don't believe you will be able to hire someone else who can. Especially not in this market. Hi Jeff, I agree with you completely. But let's see a hypothetical scenario: You and Mr. Joe just happen to work on the same idea, at roughly the same time. For simplicity sake, both of you are competent Java programmers with same skills. He decides to use AWS and you go with GAE. Since AWS uses good old technologies, he's faster to deliver. Of course, yours is more scalable, but probably you won't get to the point where it is required, because Mr. Joe already grab the market. Being scalable is a requirement.. at later stage. But before everyone sees anything, being *first* is more important. Even if you are able to deliver at the same time, as Adrian pointed out, his unoptimized version would probably has better performance than yours (and no deadline exception). There is an acclimatization period to working with GAE. It's much shorter than the acclimatization period required to work with Spring/Hibernate/SQL, except that perhaps you've already gone through the later. After you work with GAE for long enough, most architectural issues become pretty obvious. I find that I am now *much* faster developing GAE apps than J2EE apps, and I never find myself scratching my head wondering why some query isn't performing the way I expect. I think many GAE developers are corporate programmers who use GAE on the side (it's rare to find someone who quit his job to focus on a platform that's still on preview). As such, their acclimatization to GAE is slow(er than their existing experience). But I agree with you. Until that happen, I'll still scratch my head when some framework doesn't work :) -- You 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 have to leave App Engine platform, feeling really bad and sad
Typical startup flow is like this: 1. build an app with the most rapid way (forget about best coding practices etc) 2. get traction 3. get funding 4. pay someone smarter to refine the code and make it scale Even in the 'right way' scenario, people often defer optimization as premature optimization is the root of all evil. But developing in GAE forces us to optimize from the beginning (e.g. must use index, must denormalize, must make program startup fast). That's not all bad, but I think it's making us slow. Partly because we' accustomed to develop normal apps (use SQL with all its bells and whistles, use Spring for Java, freedom of framework/stack, etc). What do you guys think? On Nov 4, 6:29 am, Sun Jing kea...@gmail.com wrote: I think there must be a way to optimize, but I agree with you that it's not worth redesigning and rewriting your site. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: data just a bit over free quota
Hi Brandon, could you elaborate more on that? Do you zip all fields? Or put in 'shared field' (e.g JSON it) then zip it? For savings, I'm all ears :) On Nov 3, 4:06 am, Brandon Wirtz drak...@digerat.com wrote: You should consider the Zip, unzip thing... It made my app faster and significantly smaller. About 40% smaller. I even zip my memcache because I can get more into it that way. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: data just a bit over free quota
My app name has 6 chars (although it means i have to add extra chars to register for Fb app name, ouch). Models are 1 char (e.g. U for User, P for Page), and fields are 1-2 chars. Lucky I use Objectify so I can use getEmail() instead of e :) But for savings, I'm not sure, as I never have same app with expanded field names to compare. But I'm sure it will save a bit as GAE stores entity+field name in each record+index (CMIIW). On Nov 2, 8:08 am, Jeff Schnitzer j...@infohazard.org wrote: Rumor has it that short appids, short kind names, and short field names have an effect. I'd be curious to know exactly how much. 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.
[appengine-java] Re: Serious Performance Issues Due To Constant Startup of New Instances
I was using Spring, Spring Security, Sitemesh, JSP and Objectify. Sometimes I experienced deadline exception (remember last time request timeout was set to 30sec). Now that I use JSP, Servlet, Objectify and custom Sitemesh, it takes less than 5secs to warmup. On Oct 24, 3:16 am, Miroslav Genov mge...@gmail.com wrote: We had a similar issue with JDO, so we switched to twig-persist which starts faster then JDO and has a really nice API. About spinning, you can specify how long GAE can wait for new request to complete, until start a new instance of the application to handle it. You can check this options in the Application Settings page in the admin panel of your application under label Performance. -- 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.
[google-appengine] can't get appId from remote api; status code = 302
Hi guys, I keep getting 302 when uploading data to my Java app, and I'm already using Google Accounts API as Authentication Options. Exception in thread main java.io.IOException: can't get appId from remote api; status code = 302 at com.google.appengine.tools.remoteapi.RemoteApiInstaller.getAppIdFromServer(RemoteApiInstaller.java: 313) at com.google.appengine.tools.remoteapi.RemoteApiInstaller.loginImpl(RemoteApiInstaller.java: 276) at com.google.appengine.tools.remoteapi.RemoteApiInstaller.login(RemoteApiInstaller.java: 237) at com.google.appengine.tools.remoteapi.RemoteApiInstaller.install(RemoteApiInstaller.java: 106) at com.google.appengine.tools.remoteapi.RemoteApiInstaller $install.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java: 42) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java: 108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java: 116) Any clue? -- You 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't get appId from remote api; status code = 302
Yep, I did everything in the book: - Set Google Accounts API as Authentication Options - Don't login as administrator with Google Apps account - Set the /remote_api servlet Anything that I miss? On Oct 18, 5:16 am, Muneer Malik tutti...@gmail.com wrote: did you deploy the remote servlet on the 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: Announcing SSL for Custom Domains Trusted Tester Program
Wow this is big news! I currently don't need it, but will eventually use it. Congrats guys! On Oct 17, 4:13 pm, Cayden Meyer cay...@google.com wrote: Hey everyone, I am pleased to announce that we are accepting signups for the SSL for custom domains Trusted Tester Program. This will allow you to serve secure traffic for your App Engine application from your own domain(https://your.domain.com) rather than your appspot.com domain (https://your-app-id.appspot.com). We will be offering two types of SSL service, Server Name Indication (SNI) and Virtual IP(VIP). SNI will be significantly less expensive than VIP when this service is fully launched, however unlike VIP it does not work everywhere SSL is supported, notably it is not supported by IE and Safari on Windows XP. Multiple certificates are supported by SNI, while the VIP service only supports a single certificate per virtual IP address. Wildcard certificates and certificates with alternate names are supported by both SNI and VIP. -- You 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: Google App Engine service
Hi Kevin, Sorry OOT, I'm interested to know whether App Engine apps can be opened from China, or are you targeting other countries? On Oct 9, 11:09 am, kevin yang kevinyang.bi...@gmail.com wrote: I am a Chinese python coder and I want to use Google App Engine service. However, my cell phone cannot receive the SMS verification code because I am now in China. phone code:+8613532992995 -- You 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] Entity name vs property
Hi guys, I have this entity: House { - country - state - address - owner - ... } Since I will *always* limit queries to be inside specific country +state combo, would it be more efficient (faster, smaller datastore, smaller index) if I just shard them into different entities? E.g.: HouseBaId (for houses in Bali, Indonesia), HouseTxUs (for houses in Texas, US), etc. Query-wise, it is shorter, e.g. select * from HouseUsTx instead select * from House where country = 'us' and state = 'tx. -- You 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: Best practice to save entity avoiding duplicate
Hi Ikai, yeah I'm that Thomas :D Thanks for your suggestion. I can't use lat/lang since postings from one apartment will result in unnecessary false positives. They are indeed located in the same place, just different house number. I will probably normalize the address and hash on that. It doesn't need to be sophisticated since my intention is to handle scenario where 2 or more people who happen to stay at the same house decide to find a housemate (can't blame them, I use Gtalk to chat with my housemate who is just next door). OOT: Why is web safe cursor string very long? Can I make it shorter? On Sep 8, 5:00 am, Ikai Lan (Google) ika...@google.com wrote: Thomas, another problem with the hash solution is that it doesn't deal with weird things like spacing or casing. Also - Ave/avenue, Street, st., st, and so forth. If you're the same Thomas I think you are, also remember how many ways someone can write Jalan. -- You 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] Best practice to save entity avoiding duplicate
Hi guys, I'm working on something like AirBnB but much simpler. I want to hint user whenever he/she tries to submit duplicate entry. Currently, my model looks like: House { Id Username Address State Country } The id is made of address+state+country MD5. Is this the correct way to do it? Or, should I go with auto-generated Id and add extra field named 'hash', or how? -- You 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: Our new performance tuning best practices document
+1 for the Wiki idea. On Aug 28, 10:26 am, James Broberg jbrob...@gmail.com wrote: Great stuff Per - and you have an interesting application there. It makes me wonder whether it would be worthwhile setting up a central shared wiki somewhere so we could all contribute our best practices. -- You 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.
[appengine-java] Re: Upload attachments Google Sites
Hi Ikai, Just wondering, is it possible if instances are given limited space temp dir where programs can write to it? It will greatly help 3rd party frameworks which use file system for temp data. On Aug 24, 5:53 am, Ikai Lan (Google) ika...@google.com wrote: Hah, I should have looked at the code. Yeah, my example writes the thing to disk. Thanks for the catch, Stephen! -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Java PaaS shoutout
Hi guys, I just stumbled upon this article: http://www.ibm.com/developerworks/java/library/j-paasshootout Are these constraints/limitations still valid? (the article date is April 2011) GAE forces any application-initiated connection to close after 5 to 10 seconds But its raw performance is often slow.. ..GAE often takes 1 to 3 seconds to respond to database-related requests. One tip: Set up a cron job inside GAE to load your own website every 2 to 3 minutes to keep the JVM active. GAE limits the returned dataset of each query to 1,000 rows GAE allows only 100 indexes per table GAE provides no easy way to delete indexes that are no longer in use doesn't support free text search in the database no standard API for directly accessing BigTable, you must write data- import and data-export logic into servlets inside your own application, and use your own web interface to import or export data some of the components in GAE still feel experimental rather than production-ready -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Gaelyk 1.0 is here, the lightweight Groovy toolkit for Google App Engine
Guillaume, congrats to Gaelyk and all its developers! Glad to hear it's now version 1.0! I'm currently developing admin console for my app, so far so good :) On Aug 6, 10:00 am, Guillaume Laforge glafo...@gmail.com wrote: Hi all, I'm very happy to announce the *final release of Gaelyk 1.0*, the lightweight Groovy http://groovy.codehaus.org toolkit for Google App Engine! -- 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: When to use a String as ID? (using Objectify and GWT)
Sorry for the stupid question, but in what scenarios would we need to allocate id? Usually if I need the id to be something, i just use string (e.g. email address), otherwise, just let datastore set it for me (when persisting). On Jun 15, 6:26 pm, Drew Spencer slugmand...@gmail.com wrote: Just one question - the DatastoreService.allocateIdRange() - when would this -- 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.
[google-appengine] GAE Hackaton in KL, anyone?
Hi guys, Any of you attending GAE Hackaton in KL, Malaysia, this weekend? I reserved my spot. Any of you attended it anywhere else before? How's the experience? Is this similiar with Startup Weekend? -- You 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.
[appengine-java] AccessControlException java.io.FilePermission
Hi guys, I don't know why, recently I always get this error everytime I run GAE/ J. HTTP ERROR 500 Problem accessing /index.jsp. Reason: Request processing failed; nested exception is java.security.AccessControlException: access denied (java.io.FilePermission /Users/wiradikusuma/Documents/code/myapp/ web/target/classes/context.xml read) Caused by: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.security.AccessControlException: access denied (java.io.FilePermission /Users/wiradikusuma/Documents/code/myapp/ web/target/classes/context.xml read) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java: 656) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java: 549) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 390) 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.servlet.Dispatcher.forward(Dispatcher.java:327) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java: 706) at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java: 677) at org.apache.jsp.index_jsp._jspService(index_jsp.java:54) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java: 377) at org.apache.jasper.servlet.JspServlet._serviceJspFile(JspServlet.java: 313) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at com.google.appengine.tools.development.PrivilegedJspServlet.access $101(PrivilegedJspServlet.java:23) at com.google.appengine.tools.development.PrivilegedJspServlet $2.run(PrivilegedJspServlet.java:59) at java.security.AccessController.doPrivileged(Native Method) at com.google.appengine.tools.development.PrivilegedJspServlet.service(PrivilegedJspServlet.java: 57) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1166) at myapp.CustomFilter.obtainContent(CustomFilter.java:190) at myapp.CustomFilter.doFilter(CustomFilter.java:150) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at org.springframework.security.web.FilterChainProxy $VirtualFilterChain.doFilter(FilterChainProxy.java:368) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java: 109) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java: 83) at org.springframework.security.web.FilterChainProxy $VirtualFilterChain.doFilter(FilterChainProxy.java:380) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java: 97) at org.springframework.security.web.FilterChainProxy $VirtualFilterChain.doFilter(FilterChainProxy.java:380) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java: 100) at org.springframework.security.web.FilterChainProxy $VirtualFilterChain.doFilter(FilterChainProxy.java:380) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java: 78) at org.springframework.security.web.FilterChainProxy $VirtualFilterChain.doFilter(FilterChainProxy.java:380) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java: 54) at org.springframework.security.web.FilterChainProxy $VirtualFilterChain.doFilter(FilterChainProxy.java:380) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java: 35) at
[appengine-java] Re: AccessControlException java.io.FilePermission
Btw this is the console output (I'm using IntelliJ): /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/bin/java - javaagent:/java/appengine-java-sdk-1.4.3/lib/agent/appengine-agent.jar -XstartOnFirstThread -javaagent:/java/JRebel/jrebel.jar -noverify - Dfile.encoding=MacRoman -classpath /java/appengine-java-sdk-1.4.3/lib/ appengine-tools-api.jar com.google.appengine.tools.development.DevAppServerMain -- address=0.0.0.0 -p 8080 --disable_update_check /Users/wiradikusuma/ Documents/code/myapp/web/war May 11, 2011 2:13:47 AM com.google.apphosting.utils.jetty.JettyLogger info INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger May 11, 2011 2:13:47 AM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml INFO: Successfully processed /Users/wiradikusuma/Documents/code/myapp/ web/war/WEB-INF/appengine-web.xml May 11, 2011 2:13:47 AM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml INFO: Successfully processed /Users/wiradikusuma/Documents/code/myapp/ web/war/WEB-INF/web.xml May 11, 2011 2:13:47 AM com.google.apphosting.utils.jetty.JettyLogger info INFO: jetty-6.1.x May 11, 2011 2:13:48 AM com.google.appengine.tools.development.ApiProxyLocalImpl log INFO: javax.servlet.ServletContext log: Initializing Spring root WebApplicationContext May 11, 2011 2:13:51 AM com.google.appengine.tools.development.ApiProxyLocalImpl log INFO: javax.servlet.ServletContext log: Initializing Spring FrameworkServlet 'dispatcher' May 11, 2011 2:13:52 AM com.google.appengine.api.datastore.dev.LocalDatastoreService load INFO: Time to load datastore: 107 ms May 11, 2011 2:13:52 AM com.google.apphosting.utils.jetty.JettyLogger info INFO: Started SelectChannelConnector@0.0.0.0:8080 May 11, 2011 2:13:52 AM com.google.appengine.tools.development.DevAppServerImpl start INFO: The server is running at http://localhost:8080/ Connected to server May 11, 2011 2:14:16 AM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: /index.jsp org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.security.AccessControlException: access denied (java.io.FilePermission /Users/wiradikusuma/Documents/code/myapp/ web/target/classes/context.xml read) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java: 656) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java: 549) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 390) 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) ... same exception as previous post -- 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.
[google-appengine] Re: Using App Engine as a server for an Android game.
Hi Ikai, Sorry I'm hijacking this thread, but I'm curious, this under 1000ms thing, is it for all requests including startup (cold start), or excluding that? This is a concern for me as I'm using Java. On May 4, 1:48 am, Ikai Lan (Google) ika...@google.com wrote: You're going to exceed free quotas before you hit 500 QPS. The system is set up to autoscale if your requests finish under 1000ms. The faster the better. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Using App Engine as a server for an Android game.
Hi Ikai, Sorry I'm hijacking this thread, but I'm curious, this under 1000ms thing, is it for all requests including startup (cold start), or excluding that? This is a concern for me as I'm using Java. On May 4, 1:48 am, Ikai Lan (Google) ika...@google.com wrote: You're going to exceed free quotas before you hit 500 QPS. The system is set up to autoscale if your requests finish under 1000ms. The faster the better. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[appengine-java] SystemProperty.environment.value() throws NPE: Name is null in Play Framework
Hi guys, I was playing with Play Framework and Objectify, then I hit this problem. Whenever I add @Cached to any entity, the entity can't be put. The detail is here: http://groups.google.com/group/objectify-appengine/browse_thread/thread/de298fe07741cd53 Jeff Schnitzer suggested me to try executing plain SystemProperty.environment.value() in my Play code. And it indeed throws: Internal Server Error (500) for request GET / Execution exception (In /app/controllers/Application.java around line 14) NullPointerException occured : Name is null play.exceptions.JavaExecutionException: Name is null at play.mvc.ActionInvoker.invoke(ActionInvoker.java:228) at Invocation.HTTP Request(Play!) Caused by: java.lang.NullPointerException: Name is null at java.lang.Enum.valueOf(Enum.java:236) at com.google.appengine.api.utils.SystemProperty$Environment $Value.valueOf(SystemProperty.java:70) at com.google.appengine.api.utils.SystemProperty $Environment.value(SystemProperty.java:91) at controllers.Application.index(Application.java:14) at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java: 541) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:499) at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java: 475) at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java: 470) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:158) ... 1 more I want to submit this to Play community, but I think it's more to GAE. Or should I post this there? -- 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.
[google-appengine] Re: GAE Hauling the Freight
Man this is awesome, thanks for sharing with us! It makes us who choose GAE feel good, after these OMG cloud is falling stuff :) On Apr 29, 3:44 pm, Brandon Wirtz drak...@digerat.com wrote: 900 Megabytes per second Burst for about 10 minutes, with 375 MBps for about 9 hours. That's 7.2Gigabits burst. To do that on a traditional hosting provider would be 8 Dedicated machines serving Gigabit each, and a 10 gig load balancer. Would have been about $15k a month with a traditional hosting provider for this capacity. Client will spend about $1500 this month instead, after our markup of the service. This is partly me bragging, but more it was a great demonstration of the elasticity of the product. Look at the traffic before and after the spike. GAE really shines on sites where you only need 100x the capacity 10 minutes a week. And 50x for 6 hours a week. image001.png 45KViewDownload -- You 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.
[appengine-java] Re: Which one is best for development...Spring Framework or Servlet Jsp....
I'm also using Spring MVC and Spring Security. I tried to ditch Spring in favor of Guice, but in the end I couldn't live without it. Form handling, i18n, security, etc, everything make me go back to Spring :) I use manual wiring, so performance is acceptable. I no longer get timeout when first loading. On Apr 20, 11:30 am, Nick Rudnik nrud...@gmail.com wrote: Spring MVC 3 works very well inside App Engine. I have a fairly small and simple application and see a load time of around 20 seconds also. -- 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] How to model object with lots of small properties
Hi guys, I want to model an object with lots of small properties, e.g.: House { boolean hasAirCond, boolean hasInternet, boolean nearSchool, etc; } Is this naive way the best way to model it? Is there any better GAE- way to do this? -- 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: Happy Birthday Google App Engine !!
I agree with Rajkumar, GAE/J is a very important service, especially for indie Java developers like me. The service is getting better, and the developer groups are vibrant. Happy Birthday GAE! regards, Thomas Wiradikusuma On Apr 7, 12:17 pm, Rajkumar Radhakrishnan r.rajku...@gmail.com wrote: Hi, It is now 3 years since Google App Engine was first released. *Happy Birthday Google App Engine !!* -- 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.
[google-appengine] Re: Redirect from naked domain preserving full path
Hi Giacinto, I'm having exactly the same problem. Can you get into more detail (step-by-step, starting from https://www.google.com/a/cpanel/MYDOMAIN/DomainSettingsDomains probably?) on how you get it done? I understand your post, but I'm afraid I might click/delete the wrong stuff. On Mar 31, 2:31 am, Giacinto decata...@gmail.com wrote: Well, i solved the problem! None of the previous solutions is really the good solution, or better, none is complete. The real problem of the lost request's full path is the google autosetting for www redirect! -- You 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: gae needs a counter service
But by saying that, you agree that it's indeed difficult and it can be implemented in various ways, which actually only lead to one thing: a counter. If GAE has it built-in, lazy people like me don't have to scratch head to implement one that works efficiently (and keep wondering whether there's better implementation elsewhere), because the wheel is already invented. But I agree that covering all use cases are hard. On Mar 17, 10:49 am, Robert Kluin robert.kl...@gmail.com wrote: Implementing a scalable counter is pretty hard, and different uses have different requirements on the behavior of counters. Some will apps might demand sequential numbers, others monotonically increasing (but not necessarily sequential) numbers, some might also need to support decrementing the counter. There are several techniques you can use to create a counters, depending on your needs and the traffic your app gets. I suspect that's why Google does not provide it as service -- it won't satisfy everyone's needs. Robert On Wed, Mar 16, 2011 at 22:38, Thomas Wiradikusuma wiradikus...@gmail.com wrote: I agree with David. It's a bit higher level compared to other GAE services, but from application perspective, it's just another plumbing. Just like MapReduce in GAE and AppStats, they sit on top of existing services, yet they are considered low level for the rest of us. Just my 2 cents :) On Mar 17, 2:52 am, Ikai Lan (Google) ika...@google.com wrote: So there are different schools of thoughts on this issue. There are those of us who think that App Engine should be as bare metal as possible,there are those of us who think App Engine should provide every single possible API, and there are people who argue for various positions in between. I personally think this makes sense as a configurable option or a library, but then that requires that we have a better place to surface App Engine libraries. There are a lot of great libraries today, but even now, it's not obvious to developers how to find Googler maintained projects like App Engine Mapper (http://code.google.com/p/appengine-mapreduce/) or the Pipeline API (http://code.google.com/p/appengine-pipeline/). Don't even get me started on non-Googler maintained projects like Fantasm (http://code.google.com/appengine/articles/fantasm.html). Ikai Lan Developer Programs Engineer, Google App Engine Blog:http://googleappengine.blogspot.com Twitter:http://twitter.com/app_engine Reddit:http://www.reddit.com/r/appengine On Tue, Mar 15, 2011 at 10:25 PM, David Keyes keyes...@gmail.com wrote: Been using gae/j for a while now. One big missing piece IMO is a service that would allow me to manage global distributed counters. Yes I know that there are patterns for doing this (e.g. sharding), but it is such a common use case that I think a highly optimized service would be ideal. The perfect solution would allow me to have read-only access to the counters via the datastore. Thoughts? -- You 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 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: gae needs a counter service
I agree with David. It's a bit higher level compared to other GAE services, but from application perspective, it's just another plumbing. Just like MapReduce in GAE and AppStats, they sit on top of existing services, yet they are considered low level for the rest of us. Just my 2 cents :) On Mar 17, 2:52 am, Ikai Lan (Google) ika...@google.com wrote: So there are different schools of thoughts on this issue. There are those of us who think that App Engine should be as bare metal as possible,there are those of us who think App Engine should provide every single possible API, and there are people who argue for various positions in between. I personally think this makes sense as a configurable option or a library, but then that requires that we have a better place to surface App Engine libraries. There are a lot of great libraries today, but even now, it's not obvious to developers how to find Googler maintained projects like App Engine Mapper (http://code.google.com/p/appengine-mapreduce/) or the Pipeline API (http://code.google.com/p/appengine-pipeline/). Don't even get me started on non-Googler maintained projects like Fantasm (http://code.google.com/appengine/articles/fantasm.html). Ikai Lan Developer Programs Engineer, Google App Engine Blog:http://googleappengine.blogspot.com Twitter:http://twitter.com/app_engine Reddit:http://www.reddit.com/r/appengine On Tue, Mar 15, 2011 at 10:25 PM, David Keyes keyes...@gmail.com wrote: Been using gae/j for a while now. One big missing piece IMO is a service that would allow me to manage global distributed counters. Yes I know that there are patterns for doing this (e.g. sharding), but it is such a common use case that I think a highly optimized service would be ideal. The perfect solution would allow me to have read-only access to the counters via the datastore. Thoughts? -- You 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: Unable to remove a GAE app from my Google Apps dashboard.
Hi Gary, How did you solve this? It's been days and I still have *two* GAE apps in my Google Apps. One the M/S version, the other one the HR version. On Mar 7, 8:31 am, Gary Eberhart g...@animalengine.org wrote: I went back two minutes later and animalengineorg was gone. It looks like sometime after the app has been deleted from GAE and disabled on Google Apps it will finally be removed from the dashboard. Thank you. On Sun, Mar 6, 2011 at 5:26 PM, Gary Eberhart happycatmad...@gmail.comwrote: Hello, How do you permanently remove a Google App Engine App from the dashboard? I've already deleted the GAE app for animalengineersorg. I've disabled the app from by clicking on the link on the dashboard. Any suggestions would be greatly appreciated. Thank you. Gary https://lh6.googleusercontent.com/_A9MwIRoKlwE/TXQlWTlElkI/AE... -- You 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: Please reset my index
Hi Robert, Thanks! I'll bookmark it :) I didn't know such tool exist. On Mar 5, 12:07 pm, Robert Kluin robert.kl...@gmail.com wrote: Thomas, http://code.google.com/appengine/docs/python/tools/uploadinganapp.htm... Remove the index from index.yaml, then appcfg.py vacuum_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-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Please reset my index
@Wim den Ouden Thanks, I will bookmark this :) @Ikai If you look at my index (appid: lelanggokil-hr), Payment has 2 indices, but the first one (with ancestor) is no longer valid. Initially I made Payment child of Member, now I remove the relationship. But the index is still there. Is this harmless? On Mar 5, 3:11 am, Ikai Lan (Google) ika...@google.com wrote: Your indexes are serving. What are you asking 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] Please reset my index
Hi App Engine team, Can you please reset index for my app lelanggokil-hr? Thanks in advance :) -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Manage new releases on App Engine
I'm sorry, I might be missing something, but isn't (from docs) Warmup requests are enabled by default for all Java applications? Basically you don't need to enable anything right? On Feb 26, 2:18 am, footy anuj.hoo...@gmail.com wrote: We do have warmup requests enabled for the app. Sahid Orentino Ferdjaoui wrote: Hello, I think you need to to implement Warmup Request http://code.google.com/appengine/docs/java/config/appconfig.html#Warm... That can help you. --sahid . ..: On Fri, Feb 25, 2011 at 5:53 PM, footy anuj.hoo...@gmail.com wrote: I was wondering what is the best to manage a new release on App Engine. Say for example we have a live version (default) as 1.0.0 and we make changes to our code and deploy to a new version as 1.0.1. When I change the default from 1.0.0 to 1.0.1 it takes GAE to propogate changes across the cluster. During this period all of our users recieve 'Server Error' I was wondering how can this managed in a better way. 1. Is there a way to have some sort of 'Down for maintenance' page? 2. Is there a possibility to control the propogation? Looking forward to your answers and help. Cheers -- You 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: love letter to appengine team (see attached)
Hi Ikai, what if my app is clean? (i.e. I dont mind deleting everything *but* want to keep the ID). Is there any button/anything to make the switch? On Feb 19, 6:54 am, Ikai Lan (Google) ikai.l+gro...@google.com wrote: Nope, you'll have to create a new application ID. Once you have a migration plan, if you open a billing ticket, we can create an application alias from your old app ID to your new ID as well as give you more App Engine apps. -- 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 Fri, Feb 18, 2011 at 12:38 PM, Brandon Wirtz drak...@digerat.com wrote: Is there a way to convert existing apps to HR? I was hoping to not create new app names for all my apps, or burn through my app allocation… *From:* google-appengine@googlegroups.com [mailto: google-appengine@googlegroups.com] *On Behalf Of *Ikai Lan (Google) *Sent:* Friday, February 18, 2011 12:05 PM *To:* Google App Engine *Subject:* Re: RE: [google-appengine] love letter to appengine team (see attached) Thanks guys! We're working hard on the reliability picture, but you can take yourself 95% of the way there if you switch to High Replication datastore. -- 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, Feb 17, 2011 at 11:54 AM, Philippe Beaudoin philippe.beaud...@gmail.com wrote: +1 I love working with AppEngine -- the design choices are sensible, the speed is great (esp. with the latest additions), and it's dirt cheap. Thanks!!! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You 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: Sending to non-existent channel
It will cause overhead to remove dead channels in the loop, because I must update both memcache and datastore. Right now I do the loop like my first message, and then set cron every 30min to remove dead channels. I think this is a very common use case and should be handled at lower level (i.e. the Channel API itself). I think lots of app will use Channel API to broadcast message, so there's a need to: - have the list both in memcache and datastore - keep it updated (if channel no longer valid, remove from list) On Feb 6, 5:23 pm, Remigius remigius.stal...@gmail.com wrote: Having no personal experience with channels so far, the only thing I can suggest is the following small improvement: for each channelId in list { try { send } catch { remove the affected channel from the list } } See also channel wish list above... Best regards, Remigius. On Feb 3, 6:59 pm, Thomas Wiradikusuma wiradikus...@gmail.com wrote: Hi guys, I learn that (at least in Java) ChannelService.sendMessage will throw exception when sending to non-existent channel (i.e. channelId no longer valid). Now assume this situation: Every time someone opens your website, clientId token is generated and kept in a list in the server, so you can push them messages. Some of them may close the website shortly after visiting. But of course our server app doesn't know how to update the list, so it will have some dead channelIds. I can handle that by: for each channelId in list { try { send } catch (ignore it) } But isn't that slow? Is there any better way to handle this situation? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] [Channel API] Sending to non-existent channel
Hi guys, I learn that (at least in Java) ChannelService.sendMessage will throw exception when sending to non-existent channel (i.e. channelId no longer valid). Now assume this situation: Every time someone opens your website, clientId token is generated and kept in a list in the server, so you can push them messages. Some of them may close the website shortly after visiting. But of course our server app doesn't know how to update the list, so it will have some dead channelIds. I can handle that by: for each channelId in list { try { send } catch (ignore it) } But isn't that slow? Is there any better way to handle this situation? -- You 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: Disconnect notification via Channel API?
Hi guys, any news on this? I'm maintaining a set of active channel tokens in the server so I can push message to them. I need a way to evict dead tokens (due to either expired per Channel API spec or abandoned page). What is the best way to do that eviction without disconnect notification? On Dec 21 2010, 10:29 pm, ajaxer calid...@gmail.com wrote: great!. i am waiting. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Channel API from mobile
Hi guys, I tried Channel API from BlackBerry 8900 and 9700, doesn't work. jQuery can run there so I thought Channel API can run too. Anyone tried with other BlackBerry with positive result? Anyone successfully tried from Android/iPhone/other? -- You 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: Memcache expirity and get-for-update
Hi Ikai, Thanks for your answer. 1. From what I remember, no. The initial expiry time is the set expiration. I tested and confirmed. So I simply: obj = memcache.get(key) if (obj not null) memcache.put(key, obj, 30min) 2. If I understand you correctly, the operation you're looking for is probably CAS - Memcache check-and-set. Unfortunately, we don't support this operation right now. There are ways to implement similar functionality with INCR/DECR (atomic operations). I want to keep a list of recipients for channel api purpose. Every time somebody logs in, the list will be fetched from memcache, put the user inside and push back the list to memcache. Is there any better way to do this since memcache doesn't support check-and-set? -- You 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] Memcache expirity and get-for-update
Hi guys, Is memcache's expire strategy work like http session's? In http session, if you set it to expire in 30 minutes and you access a page in minute 29th, it will be prolonged for another 30 minutes. Is this also the case for memcache? If not, is there any atomic way to do it? (i.e. not by doing get-and-put) Second question, I have an entry that will be updated by lots of users, is there any get-for-update for memcache? -- You 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.
[appengine-java] Tic Tac Toe not there
I just read 1.4.0 release announcement, congrats to GAE team! Btw the sample project doesn't seem to exist http://code.google.com/p/java-channel-tac-toe/ -- 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] Sync datastore between server and local
Hi, Is there any way to sync data in datastore between server (live) and local (localhost)? I have some test data that I want to make available to both environments. Another question: I'm splitting the web to front-facing webapp and admin panel webapp: web.latest.myapp.appspot.com and admin.latest.myapp.appsot.com. I'm aware that both share the same datastore in the server (live). Can I do that (share same datastore) in local (localhost)? I.e. Can I make two (or more) Java webapps to access the same datastore file? (this is a repost from google app engine group) -- 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: Gaelyk 0.5 released, with images, urlfetch, capabilities services enhancements
Hi Guillaume, congrats on the release! On Sep 27, 10:33 pm, Guillaume Laforge glafo...@gmail.com wrote: Hi all, This is with great pleasure that I'd like to announce the *release of Gaelyk 0.5*. Gaelyk 0.5, the *lightweight Groovy toolkit for Google App Engine*, is a significant release adding a lot of new features into the mix: -- 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] Appstats for Java not working
Hi guys, I followed instructions from http://code.google.com/appengine/docs/java/tools/appstats.html, basically just copy-pasting the whole thing. When I tried from Chrome, after login using my one-and-only admin account, I got Error: User not in required role. Trying from Safari gave me Error: NOT_FOUND. Anybody have an idea? Thanks in advance. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-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 App Engine final release?
But the mentality is different. From user perspective, it's like assurance that this is production-quality, we can totally depend on it, and from Google perspective, we can't hide behind 'it's a preview' excuses. The same reason why some businesses stayed away from GMail because it was beta. On Feb 26, 5:32 pm, Barry Hunter barrybhun...@googlemail.com wrote: Does it really matter? It would just be a tag. And would just be decided by someone. It wont make a big difference to the service (IMHO of course) -- You 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 App Engine final release?
Hi guys, just wondering, when will Google App Engine come out from preview release and reach 1.0? Sorry for the one-liner. -- You 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.
[appengine-java] appcfg.sh update suddenly doesn't work
Hi all, I created a new project, tested it in localhost, everything was OK. So I uploaded it: Reading application configuration data... Beginning server interaction for myapp... 0% Creating staging directory 5% Scanning for jsp files. 8% Compiling jsp files. 11% Compiling java files. 20% Scanning files on local disk. 25% Initiating update. 28% Cloning 1 static files. 31% Cloning 56 application files. 40% Uploading 0 files. 90% Deploying new version. 95% Will check again in 1 seconds 98% Will check again in 2 seconds 99% Will check again in 4 seconds 99% Will check again in 8 seconds 99% Closing update: new version is ready to start serving. 99% Uploading index definitions. Details: Jan 24, 2010 3:15:22 PM org.apache.jasper.JspC processFile INFO: Built File: /_default.jsp Jan 24, 2010 3:15:22 PM org.apache.jasper.JspC processFile INFO: Built File: /_pane_footer.jsp Jan 24, 2010 3:15:22 PM org.apache.jasper.JspC processFile INFO: Built File: /_pane_howitworks.jsp Jan 24, 2010 3:15:22 PM org.apache.jasper.JspC processFile INFO: Built File: /index.jsp Note: /var/folders/CA/CAoAFlp6Ex8Ce58TO7dOuU+++TI/-Tmp-/ appcfg129071456909907182.tmp/WEB-INF/classes/org/apache/jsp/ _005fdefault_jsp.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. Update completed successfully. Success. Cleaning up temporary files... Man that's fast, considering ~12MB of jars (Spring 3.0, Sitemesh, JSTL, App Engine). But when I opened it in my browser, the page loaded (redirection worked from index.jsp - /spring/index) but the page was blank. I checked the log, no error. What's going on? Here's the web directory structure (for appcfg.sh update web): WEB-INF/ classes/ META-INF/applicationContext.xml com/foo/bar/*.class lib/*.jar appengine-web.xml decorators.xml dispatcher-servlet.xml web.xml _default.jsp _pane_footer.jsp _pane_howitworks.jsp news.html index.jsp And the appegine-web.xml: ?xml version=1.0 encoding=utf-8? appengine-web-app xmlns=http://appengine.google.com/ns/1.0; applicationmyapp/application version1-snapshot/version static-files include path=/**.cod/ include path=/**.css/ include path=/**.jad/ include path=/**.jar/ include path=/**.js/ include path=/images/**/ include path=/scripts/**/ include path=/styles/**/ exclude path=/**.groovy/ exclude path=/**.html/ /static-files /appengine-web-app -- 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] AccessControlException on OutputStream#write(byte b[], int off, int len)
Hi, The following Groovy snippet throws exception: byte[] responseData = byteOut.toByteArray() response.setContentLength(responseData.length) response.setContentType(application/octet-stream) response.outputStream.write(responseData, 0, responseData.length) -- this one The exception is: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader) at com.google.appengine.runtime.Request.process-e40a07dff3b6f2fc (Request.java) at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.init (ClassLoaderForClassArtifacts.java:22) at org.codehaus.groovy.runtime.callsite.CallSiteClassLoader.init (CallSiteClassLoader.java:40) at org.codehaus.groovy.reflection.CachedClass$5$1.run (CachedClass.java:144) at org.codehaus.groovy.reflection.CachedClass$5$1.run (CachedClass.java:143) at java.security.AccessController.doPrivileged(AccessController.java: 34) at org.codehaus.groovy.reflection.CachedClass$5.initValue (CachedClass.java:141) at org.codehaus.groovy.reflection.CachedClass$5.initValue (CachedClass.java:140) at org.codehaus.groovy.util.LazyReference.getLocked (LazyReference.java:33) at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:20) at org.codehaus.groovy.reflection.CachedClass.getCallSiteLoader (CachedClass.java:472) at org.codehaus.groovy.runtime.callsite.CallSiteGenerator.compilePojoMethod (CallSiteGenerator.java:222) at org.codehaus.groovy.reflection.CachedMethod.createPojoMetaMethodSite (CachedMethod.java:240) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.createCachedMethodSite (PojoMetaMethodSite.java:158) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.createPojoMetaMethodSite (PojoMetaMethodSite.java:147) at groovy.lang.MetaClassImpl.createPojoCallSite(MetaClassImpl.java: 2978) at org.codehaus.groovy.runtime.callsite.CallSiteArray.createPojoSite (CallSiteArray.java:114) at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite (CallSiteArray.java:148) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall (CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call (AbstractCallSite.java:117) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call (AbstractCallSite.java:133) Any idea why it happened and how to fix it? --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[google-appengine] Re: How to apply an unique constrain to a field of a class using JDO annotations?
AFAIK you can't App Engine doesn't support unique unless it's a key. On Sep 14, 2:42 am, Artem Kuroptev kurop...@gmail.com wrote: I'have tried to make a field of a class unique using different combinations of JDO annotations. Never successfully. Here is one of my variations: --- @Uniques({...@unique(name=MYCONST_1, members={userJID})}) @Unique(name=MYCONST_2, members={userJID}) @PersistenceCapable(identityType = IdentityType.APPLICATION) public class User { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long id; @Persistent @Unique(name=MYUSERJID_IDX) private String userJID; [..] --- Is there any way to apply unique constrain to a field of a class using JDO annotations? --~--~-~--~~~---~--~~ You 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 -~--~~~~--~~--~--~---
[appengine-java] Re: Simplest web framework + ORM for GAE/J?
you mean more to the web framework thing? try Grails or Gaelyk. On Sep 8, 12:02 am, Chris xop...@gmail.com wrote: What's the simplest web framework + ORM combination that works well on GAE/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 -~--~~~~--~~--~--~---
[google-appengine] Combining Python and Java
I was wondering, can I develop application in AppEngine using both Python and Java? E.g. Python in the backend and GWT in the frontend. What approach would I take? --~--~-~--~~~---~--~~ You 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: How to integrate Payment module with google app engine
Hi neal, do they apply to international merchants? (e.g. AFAIK Google Checkout does not available for merchants in Asia). And regarding PayPal, is it ok to use Personal(?) account? On Aug 12, 12:55 am, NealWalters nealwalt...@nealwalters.com wrote: Your basic choices are: 1) Google Checkout 2) Paypal 3) Get your own merchant account with your bank and then find a company that does online processing such as Authorize.Net or PayFloPro (from Paypal). Usually you will get Visa/MC with your bank, then have to apply with Amex/Discover separately. 4) 2CheckOut.com --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Google Checkout for international merchants
Hi guys, I know this is not the right place to ask, but I'm sure some developers using AppEngine are interested with this too. I wanted to register a Checkout account, but my country is not listed. Given that AppEngine+Checkout pretty much a match made in heaven for ecommerce platform, how do international merchants subscribe to Google Checkout? To put it another way, what cloud/outsourced ecommerce solution (beside PayPal) do you guys (planning to) use with AppEngine? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Knowing which app belong to who
unless, of course, the app name is your own username. the first time i registered for GAE, i secured my username :) On Jun 10, 11:33 am, pranny pra...@gmail.com wrote: Because of unknown reasons, the app name can not be the name of any gmail user. So, say someone has an email like 'foo.bar[AT]gmail[DOT] com, then you can not create an app with the name foo.bar. So, in your case, i fear someone has the email id you are trying to register your app with. --~--~-~--~~~---~--~~ You 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 -~--~~~~--~~--~--~---