[appengine-java] Re: Change from String to Integer , now can't rid of Zombie instances... what is the right procedure to do so?
You might want to implement an alternative procedure of the following stages to change the data type of your data mamber = field: 1. Add the data member quantityToAddNew of data type Integer. Use this in your code instead of quantityToAdd. Deploy. 2. After a suitable delay (at least 24 hours?): change the data type of the data member quantityToAdd to Integer. Use this in your code instead of quantityToAddNew. Deploy. 3. After a suitable delay (at least 24 hours?): remove the data member quantityToAddNew. Deploy. You're done. Enjoy? On Oct 29, 11:44 pm, Ronoaldo José de Lana Pereira rpere...@beneficiofacil.com.br wrote: Sine you are talking about _ah_SESSION stuff I suppose you are serializing ToBuyBeans to the sessions. On AppEngine, sessions are implemented using a combination of datastore and memecache. When you deleted your old session data from the datastore, the memcache was still there, and only when they got flushed your problem was automatic solved. Sadly, I was having this trouble too previously, and the only way to get rid of it was to deploy a versions that was trying to fetch data from session and convert to new format or invalidate the session. This is very odd, tought, so I started to store only unchanged data, like a JSON representation of you objects, that will never stop your app when you change your code and redeploy. Gson and flex-json are good start points, apart from the fact that they add some small conversion overhead before store data in session. Hope this helps (sorry for typos ... I'm sleepy) -Ronoaldo -- 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] Best way to disable settings from appengine_config during tests
Hi all, I have set up local unit tests for a Python app according to the documentation on the App Engine site [1]. The app has appstats configured as a WSGI middleware through appengine_config.py by using the webapp_add_wsgi_middleware() directive: def webapp_add_wsgi_middleware(app): app = recording.appstats_wsgi_middleware(app) return app When running the tests I want to disable appstats. appstats needs REQUEST_ID_HASH environment variable which isn't set during tests, but recording data doesn't make much sense at all during tests. The current idea is to monkey-patch appengine_config.webapp_add_wsgi_middleware when it's first imported by the test runner - before any test is actually executed: import appengine_config appengine_config.webapp_add_wsgi_middleware = lambda app: app But I wonder if there are better (or more documented) alternatives to modify settings from appengine_config.py during tests. --Andi [1] http://code.google.com/appengine/docs/python/tools/localunittesting.html -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Best way to disable settings from appengine_config during tests
You can try: def webapp_add_wsgi_middleware(app): if not appos.environ['APPLICATION_ID'].startswith('dev~'): app = recording.appstats_wsgi_middleware(app) return app -- keakon My blog(Chinese): www.keakon.net Blog source code: https://bitbucket.org/keakon/doodle/ On Sun, Oct 30, 2011 at 2:18 PM, Andi Albrecht albrecht.a...@googlemail.com wrote: Hi all, I have set up local unit tests for a Python app according to the documentation on the App Engine site [1]. The app has appstats configured as a WSGI middleware through appengine_config.py by using the webapp_add_wsgi_middleware() directive: def webapp_add_wsgi_middleware(app): app = recording.appstats_wsgi_middleware(app) return app When running the tests I want to disable appstats. appstats needs REQUEST_ID_HASH environment variable which isn't set during tests, but recording data doesn't make much sense at all during tests. The current idea is to monkey-patch appengine_config.webapp_add_wsgi_middleware when it's first imported by the test runner - before any test is actually executed: import appengine_config appengine_config.webapp_add_wsgi_middleware = lambda app: app But I wonder if there are better (or more documented) alternatives to modify settings from appengine_config.py during tests. --Andi [1] http://code.google.com/appengine/docs/python/tools/localunittesting.html -- You 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: illegal seek - error
Not disk space error - its a new Mac. Permissions? Not sure, no idea where to start with that. At present I am doing App Engine stuff on an old Windows machine. On Oct 3, 1:36 pm, Joshua Smith joshuaesm...@charter.net wrote: Have you tried deleting and re-installing the launcher? This could be as simple as having run out of disk space when you installed, or a permissions issue. On Oct 3, 2011, at 3:42 AM, Droid wrote: I am getting an illegal seek error on a MacBook Air Lion OS. Did not happen with everything the same but on Windows. Anyone know anything about this error? Here is the log: ERROR 2011-10-03 07:40:28,943 dev_appserver.py:4200] Exception encountered handling request Traceback (most recent call last): File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 4143, in _HandleRequest self._Dispatch(dispatcher, self.rfile, outfile, env_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 4049, in _Dispatch base_env_dict=env_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 616, in Dispatch base_env_dict=base_env_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 3120, in Dispatch self._module_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 3024, in ExecuteCGI reset_modules = exec_script(handler_path, cgi_path, hook) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 2896, in ExecuteOrImportScript sys.stdout.seek(0) IOError: [Errno 29] Illegal seek -- You 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: Extremely slow db.get([keys])
Source: logging.debug('Fetching ' + str(len(m.keys())) + ' entities') items = db.get(m.keys()) logging.debug('Done fetching items') Log: D 2011-10-30 22:46:41.495 Fetching 238 entities D 2011-10-30 22:46:50.009 Done fetching items W 2011-10-30 22:46:54.407 Full proto too large to save, cleared variables. -- 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/-/XrWUO-NF374J. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] how to make AJAX call using Java (using Struts 2)
When I make the AJAX call (app engine Java Environment) - I am getting a 404, the same action if I put on the browser is working. Do I need to add any additional params in app.yaml Is there any additional configurations needed for RPC to work in Java environment. Any help would be appreciated. Best, Muneer -- You 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] Slightly Off Topic: Adsense Issues?
I had to clients inform me they didn't think they would be able to pay their bills on time because Google didn't issue them payments for September earnings. If it had been just one, I'd have thought nothing of it, and assumed it was a the dog ate the check in the mail kind of excuse, but with two of them it seemed less likely. Then I noticed I also didn't get my September earnings either. The forums seem pretty full of people with this issue and no word from Google on if they are aware of the issue, if there is a time to resolution, or how to make sure the account is on the list to be checked in to. I apologize for spamming this forum with this, but these are clients who if they don't get paid, they don't make their rent checks, not big businesses, and realistically, I'm pretty annoyed that do $30-50k a year with Google can't get so much as an email address for support issues. And when their experience is poor, it makes them Anti-Google which makes it harder for me to peddle my wares to them as well. -Brandon -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Users Service and 2-step verification
Lucian, Yes, it does. -Amy On Sat, Oct 29, 2011 at 1:56 AM, Lucian Baciu lucianba...@gmail.com wrote: Does the Users Service(configured as Federated Login under Application options) works if the Google Account used to login is configured to use 2-step verification? http://www.google.com/support/accounts/bin/static.py?page=guide.csguide=1056283topic=1056284 Thank you, Lucian -- 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/-/72Y72ciin28J. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] How to set up task queues to prevent bursts?
Hi, Through a task queue, we manage calls from GAE to an external system, which is fully-scalable but takes minutes to do so. The task queue rate is therefore set to 200/s. So what happens is that sometimes we get bursts of activity, and the task queue sends 200 requests at once: the vast majority fails in the external system as it can't handle this sudden request in load. But the external system doesn't start scaling up as there are no more requests coming and it's scaling based on the CPU load. Then suddenly you get another burst of requests from the task queue retrying, and then again the majority fails and so on. So how can we configure a task queue to have a very high rate *but* prevent it to get to this rate too fast? I noticed the bucket size parameter, but I'm not sure how to use it properly. Thanks, - Pol -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] How to set up task queues to prevent bursts?
If your external system is called synchronously by your tasks, you could try setting the queue's max_concurrent_requests parameter in queue.yaml/xml This is documented for Java, but the same general rules apply for Python or Go applications. http://code.google.com/appengine/docs/java/config/queue.html#Defining_Push_Queues_and_Processing_Rates Nick Verne On Mon, Oct 31, 2011 at 3:13 PM, Pol p...@everpix.net wrote: Hi, Through a task queue, we manage calls from GAE to an external system, which is fully-scalable but takes minutes to do so. The task queue rate is therefore set to 200/s. So what happens is that sometimes we get bursts of activity, and the task queue sends 200 requests at once: the vast majority fails in the external system as it can't handle this sudden request in load. But the external system doesn't start scaling up as there are no more requests coming and it's scaling based on the CPU load. Then suddenly you get another burst of requests from the task queue retrying, and then again the majority fails and so on. So how can we configure a task queue to have a very high rate *but* prevent it to get to this rate too fast? I noticed the bucket size parameter, but I'm not sure how to use it properly. Thanks, - Pol -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Best way to disable settings from appengine_config during tests
That's an interesting idea. I'd just do it the other way round and add appstats only iff APPLICATION_ID doesn't starts with 'test-' since I'm already setting this prefix when setting up the test environment. Thanks! Andi -- 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/-/yLdIWRHlMNcJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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 set up task queues to prevent bursts?
Sorry, I realize I didn't explain everything: since the external system can handle an arbitrary load (as long as this load doesn't grow too fast) and requests get processed in 1 to 2 seconds, we already set the processing rate to the maximum (200), as well as the concurrent (200). The problem is not to limit the number of requests being handled, but preventing bursts e.g. scaling up smoothly. On Oct 30, 9:22 pm, Nicholas Verne nve...@google.com wrote: If your external system is called synchronously by your tasks, you could try setting the queue's max_concurrent_requests parameter in queue.yaml/xml This is documented for Java, but the same general rules apply for Python or Go applications.http://code.google.com/appengine/docs/java/config/queue.html#Defining... Nick Verne On Mon, Oct 31, 2011 at 3:13 PM, Pol p...@everpix.net wrote: Hi, Through a task queue, we manage calls from GAE to an external system, which is fully-scalable but takes minutes to do so. The task queue rate is therefore set to 200/s. So what happens is that sometimes we get bursts of activity, and the task queue sends 200 requests at once: the vast majority fails in the external system as it can't handle this sudden request in load. But the external system doesn't start scaling up as there are no more requests coming and it's scaling based on the CPU load. Then suddenly you get another burst of requests from the task queue retrying, and then again the majority fails and so on. So how can we configure a task queue to have a very high rate *but* prevent it to get to this rate too fast? I noticed the bucket size parameter, but I'm not sure how to use it properly. Thanks, - Pol -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: How to set up task queues to prevent bursts?
Interesting problem. While the sudden load may be undesirable it seems that the real problem is that the task queue backoff is too aggressive - if it kept trying, it would eventually spin up enough hardware at the external system. You can configure the retry schedule explicitly - maybe try setting it so that requests are retried more often? You'll still get the initial errors but at least you'll get the queues cleared eventually. Jeff On Sun, Oct 30, 2011 at 10:07 PM, Pol p...@everpix.net wrote: Sorry, I realize I didn't explain everything: since the external system can handle an arbitrary load (as long as this load doesn't grow too fast) and requests get processed in 1 to 2 seconds, we already set the processing rate to the maximum (200), as well as the concurrent (200). The problem is not to limit the number of requests being handled, but preventing bursts e.g. scaling up smoothly. On Oct 30, 9:22 pm, Nicholas Verne nve...@google.com wrote: If your external system is called synchronously by your tasks, you could try setting the queue's max_concurrent_requests parameter in queue.yaml/xml This is documented for Java, but the same general rules apply for Python or Go applications. http://code.google.com/appengine/docs/java/config/queue.html#Defining... Nick Verne On Mon, Oct 31, 2011 at 3:13 PM, Pol p...@everpix.net wrote: Hi, Through a task queue, we manage calls from GAE to an external system, which is fully-scalable but takes minutes to do so. The task queue rate is therefore set to 200/s. So what happens is that sometimes we get bursts of activity, and the task queue sends 200 requests at once: the vast majority fails in the external system as it can't handle this sudden request in load. But the external system doesn't start scaling up as there are no more requests coming and it's scaling based on the CPU load. Then suddenly you get another burst of requests from the task queue retrying, and then again the majority fails and so on. So how can we configure a task queue to have a very high rate *but* prevent it to get to this rate too fast? I noticed the bucket size parameter, but I'm not sure how to use it properly. Thanks, - Pol -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com . To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: How to set up task queues to prevent bursts?
Good point, forcing the tasks to retry every few seconds instead of at an increasing back off might do it. Keep pounding the system to force it to scale, but it's not very elegant :) My original idea was to play with the bucket size parameter for the queue, as the docs seem to imply that it allows to control bursts, but it's not clear at all. I reduced it to 1, but I don't understand what it means in practice if max rate and max concurrency are at 200. On Oct 30, 10:13 pm, Jeff Schnitzer j...@infohazard.org wrote: Interesting problem. While the sudden load may be undesirable it seems that the real problem is that the task queue backoff is too aggressive - if it kept trying, it would eventually spin up enough hardware at the external system. You can configure the retry schedule explicitly - maybe try setting it so that requests are retried more often? You'll still get the initial errors but at least you'll get the queues cleared eventually. Jeff On Sun, Oct 30, 2011 at 10:07 PM, Pol p...@everpix.net wrote: Sorry, I realize I didn't explain everything: since the external system can handle an arbitrary load (as long as this load doesn't grow too fast) and requests get processed in 1 to 2 seconds, we already set the processing rate to the maximum (200), as well as the concurrent (200). The problem is not to limit the number of requests being handled, but preventing bursts e.g. scaling up smoothly. On Oct 30, 9:22 pm, Nicholas Verne nve...@google.com wrote: If your external system is called synchronously by your tasks, you could try setting the queue's max_concurrent_requests parameter in queue.yaml/xml This is documented for Java, but the same general rules apply for Python or Go applications. http://code.google.com/appengine/docs/java/config/queue.html#Defining... Nick Verne On Mon, Oct 31, 2011 at 3:13 PM, Pol p...@everpix.net wrote: Hi, Through a task queue, we manage calls from GAE to an external system, which is fully-scalable but takes minutes to do so. The task queue rate is therefore set to 200/s. So what happens is that sometimes we get bursts of activity, and the task queue sends 200 requests at once: the vast majority fails in the external system as it can't handle this sudden request in load. But the external system doesn't start scaling up as there are no more requests coming and it's scaling based on the CPU load. Then suddenly you get another burst of requests from the task queue retrying, and then again the majority fails and so on. So how can we configure a task queue to have a very high rate *but* prevent it to get to this rate too fast? I noticed the bucket size parameter, but I'm not sure how to use it properly. Thanks, - Pol -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com . To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Launcher all my Results Researchers CHANGER to Alertable event
pro On Oct 30, 6:47 am, محمدرضا رضايي groupers...@gmail.com wrote: ABOUT -- Mohamadreza Rezaee Parasteshnews Persiangateway usamol Bonian Sazan Shomal Company CivilCadCatCar All Rights Reserved Copyright 2010-2011 -- Mohamadreza Rezaee Parasteshnews Persiangateway usamol Bonian Sazan Shomal Company CivilCadCatCar All Rights Reserved Copyright 2010-2011 -- You 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.