I'm trying to deploy my SF2 app on GAE, but I have reached the limit for the uploaded files.
Error 400: --- begin server output ---
Max number of files and blobs is 10000.
--- end server output ---
I have googled a lot, but still don't know what to do with that. Does anybody know how to increase this limit or what to do in this case?
Seems like a hard limit, and definitely a problem. I think a Symfony Standard app with all the vendors and a warmed-up cache is going to be over 10,000 files.
I think "what to do" is to not use GAE for Symfony projects.
You could upload more than 10k files if you use Git in your GAE project:
https://cloud.google.com/tools/cloud-repositories/docs/cloud-repositories-setup
WARNING: This way is not free
Related
We are getting more often than not the error message when deploying to Google App Engine - GAE:
The region europe-west3 does not have enough resources available to fulfill the request. Please try again later.
We have been getting this for a while and sometimes, like today, making it impossible to deploy for a whole morning, it's really inconvenient.
I have seen a different post that is more than 2 years old:
the zone does not have enough resources available to fulfill the request/ the resource is not ready
Google says they work on avoiding this but we run into it constantly. Is any one else facing the same issues in 2021? Or has found a way to avoid it?
Thanks!
I am aware that App Engine has a limit of 32 MB request upload limit. I am wondering if that could be increased.
A lot of other research suggests that I need to use the blobstore api directly, however my application has a special requirement where I cannot use it.
Other issues suggest that you can modify the nginx file in your custom flex environment. However I ssh'd into the instance I did not see any nginx. I have a reason to believe that its the GAE Load Balancer blocking the request to even reach the application.
Here is my setup.
GAE Flex Environment
Custom Runtime, Java using Docker
Objective: I want to increase the client_max_body_size to a 100 MB.
As you can see here this limit is stated in the official documentation. There is no way you can increase that limit, as it is something regarding the programming language itself. You can use Go environment, which has a limit of 64 MB.
This issue is discussed on more forums, but, for now, you just need to handle this kind of requests programatically. Check if they are bigger than 32MB, and in case they are, split them somehow and aggregate the results.
As a workaround you can also store the data in Google Cloud Storage as a temporary path for your workflow.
When deploying using gcloud app deploy I get the following error:
Timed out waiting for the app infrastructure to become healthy gcp
I contacted GCP Support and they told me the same thing I had read in other threads:
the error you are referring to may be related to the Compute Engine “In-Use IP Addresses” Quota limit. You can view your current quota limit information by accessing from your GCP menu “IAM & Admin > Quotas”.
I checked the "In-Use IP Addresses" and it doesn't seem like I have a problem with quotas:
Looking for the error, I found that in the Activity tab, when deploying, I get an error. Apparently , when App Engine is trying to delete a VM, the process starts to loop trying to delete it. You can see the error:
(I intentionally covered the project ID)
Edit: It seem like the problem is only with southamerica-east1. I created a new project in southamerica-east1 but I kept getting the same error, so then I created a new project with the App Engine in us-west2 and worked like a charm (I used the same application and app.yaml). I wonder if the problem is GCP southamerica-east1 or a unknown bad configuration by my side.
This is probably related to this issue: https://issuetracker.google.com/u/2/issues/73583699. It does mentioned the "in-use IP Address" quota, but many people have posted in recent days (Nov 2018) indicating that they are seeing the error and have verified that they have not hit their quota.
Unfortunately, no solution has been posted and there hasn't been any recent comment from the devs.
First, our apologies that you’ve experienced this issue. Be assured that we are aware of the situation and the team works hard to resolve it.
Our goal is to make sure that there are available resources in all zones. This
type of issue is rare. When a situation like this occurs, or is about to
occur, our team is notified immediately and the issue is investigated.
We recommend deploying and balancing your workload across multiple zones or
regions to reduce the likelihood of an outage. Please review our documentation
which outlines how to build resilient and scalable architectures on Google
Cloud Platform.
For the time being, you can try relaxing your requirements (e.g. requesting a smaller instance or one with fewer resources) or removing the external IP requirement.
If that proves not to be enough, you can try deploying your application to another region
Again, we want to offer our sincerest apologies.
Thanks for understanding.
At the end we didn't find a real solution so we moved all our services from Brazil to US-2. I'm not sure if the Region is the problem, but there in US-2 all works like a charm
My application generates many, many log messages. I would like to download only messages in a specific time interval. I looked around and LogQuery seems to be a good choice.
It seems like LogQuery, as specified here:
https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/log/LogQuery.Builder
, let one specify a start and end time in milliseconds.
However, there is no such method withStartTimeMillis or withEndTimeMillis in the GAE library that I downloaded from the web. I'm using GAE SDK 1.7.1. There are only withStartTimeUSec and withEndTimeUsec which deal in microsecond.
What's amiss here?
LogQuery.Builder has both methods: withStartTimeMillis(long startTimeMillis) and withStartTimeUsec(long startTimeUsec).
Also, the current version is 1.8.1, so you should upgrade to that before starting to resolve errors.
Since ColdFusion is itself Java-based, I would imagine it's not too much of a stretch to suggest that CFML code could be deployed on Google App Engine.
BlueDragon is a commercial solution for deploying CFML code on Java servers.
It's described in this thread how someone got OpenBD (Blue Dragon) running on App Engine:
OpenBD on Google App Engine for Java
Are there any open source alternatives
that could be used for App Engine?
Railo is another obvious candidate here, and some people appear to be trying to tweak it for use on Google App Engine.
I am putting together some demos that run on Open BlueDragon, which in turn is running on Google App Engine. The list is small at the moment, but eventually it should give you a good idea of what is opssible with OpenBD and GAE.
http://www.brighthub.com/hubfolio/matthew-casperson/blog/archive/2010/05/12/cold-fusion-demos.aspx
Check out
http://www.stax.net/ - Stax networks made by a former Allaire(r)?
Works great, supports coldfusion out of the ..cloud. You download a precompiled source file, put your stuff in, upload it and it all works, no fighting with it.
I know google app engine is quite restrictive, it will involve opening up the source and removing everything that attempts to write to the file system, and changing your database interaction.
You can checkout this thread and group as a resource for Open BlueDragon as well as the wiki. Looks like they have a branch already which is working towards GAE compatibility.
On the Railo side of the CFML open source pond you can reference this article from help compiling Railo on your own from the source.
Joining both of their respective google groups and asking questions should yield fruitful as well.
Good Luck!