When I deploy an app on my Go standard environment, the below size limit error occurred:
ERROR: (gcloud.app.deploy) Error Response: [9] Deployment contains files that cannot be compiled: App binary too big: 69351840 > 67108864
67108864 is 64MB. But this limit is different with what the documentation says. The limit in the documentation is 32MB instead:
Each file is limited to a maximum size of 32 megabytes.
Is the documentation outdated? Or only Go has a higher limit than other languages? I want to find the documentation of actual app binary limits.
Yes, Go has a higher max static data file size limit than other languages. This change is not in the documentation and it needs to be updated to reflect the correct value for Go.
I've filed a public issue about it here for the documentation update.
Related
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.
I can't build my app anymore.
I could do it this afternoon, but tonight it crashes on Codename One server
Dex: The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
On another topic I read I can put "codename1.arg.android.multidex=true" in properties.
After that I can build my app but Google reject if because "the debug mode is enable".
What should I do ?
Thank you !
Android was launched with a 64k method limit and slowly ballooned in part due to Google Play Services. As a solution Google introduced multi-dex which makes the build slightly slower but adds support for more methods. You can enable it for your Codename One app with the build hint:
android.multidex=true
I added codename1.arg.android.debug=false and Google accept the apk. It's strange : I could built and send my app to Google last two years without that. Anyway, it works, I'm happy =)
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
I've been trying to find documentation on static file hosting with App Engine and Go for a while now, but can't find anything current in the documentation.
I've found a number of (unofficial) references from about 5 years ago to a 10,000 file limit with a max of 1,000 per directory, but I haven't been able to find any current official documentation on this other than information on billing for static files.
So what are the static file hosting limits on App Engine (using Go if that changes things)? Any links to official documentation will be appreciated.
It's currently on the Quotas documentation, under Deployment:
The number of times the application has been uploaded by a developer. The current quota is 10,000 per day.
An application is limited to 10,000 uploaded files per version. Each file is limited to a maximum size of 32 megabytes. Additionally, if the total size of all files for all versions exceeds the initial free 1 gigabyte, then there will be a $ 0.026 per GB per month charge.
Due to limitations of the experimental Search API I've decided to use Apache Lucene for my fulltext search needs. I have looked at the AppEngine ports of Lucene but they do not suit my needs (ones using RAMIndex will not support the size of my index and ones using the datastore are too slow performance-wise), so I've tested out Lucene using my local filesystem and found that it works perfectly for me.
Now my problem is how to get it to work on AppEngine. We are not allowed to write to the filesystem, but that is fine because he index is created on my dev machine and is read-only on the server (periodically I will update the index and need to push the new index up). Reading from the filesystem is allowed so I figured that I would be able to bundle up my index along with my other static files and have access to it.
The problem that I've run up against is the AppEngine static file quotas (https://developers.google.com/appengine/docs/java/runtime at the bottom of the page). My index is only around 750MB so I am fine on the "total files < 1GB" front, however some of my index files are several hundred MB and therefore would not be allowed on AppEngine due to the 32 MB max per file.
Is there any way to deploy and read static files larger than 32 MB on AppEngine? Or will I be stuck having to setup some other server (for instance Amazon) just to read my Lucene index?
With 750MB file, you must use BlobStore or Google Cloud Storage.
If you can change code for access static file in Lucene, you can use request to BlobStore or Cloud Storage to read file. But if static file is only option, you must split index into 32MB pieces.
If you change code for Lucene file access, you have limit of 32MB for each read request. So, file must be read in pieces.