AliMola
AliMola

Reputation: 578

App engine update LocalIOException always

I'm doing a project with Google App Engine and Unity3d. I have a normal html webpage that works well.

Yesterday, I added in this html page a link to execute WebGL application generated with Unity 5, but when I tried to execute mvn appengine:update with a generated WebGL Unity project in appengine's webapp folder, I had this error:

com.google.appengine.tools.admin.LocalIOException: File /var/folders/zr/pl8tj40d3tj4dppc2mlyvnqc0000gn/T/appcfg1711881524291507563.tmp/Release/WebGL2.data is too large (limit 32000000 bytes).

Including this WebGL application was only a test. I don't care if I haven't this application in my final webpage. Deleting WebGL files from my webapp folder, not solve this problem. Nor execute mvn appengine:rollback

Now, I can't execute appengine update anymore! Always show this error!

I tried to remove manually the file in error path too, but not working. Here's my complete log:

Unable to update: com.google.appengine.tools.admin.LocalIOException: File /var/folders/zr/pl8tj40d3tj4dppc2mlyvnqc0000gn/T/appcfg1711881524291507563.tmp/Release/WebGL2.data is too large (limit 32000000 bytes). at com.google.appengine.tools.admin.AppVersionUpload.scanFiles(AppVersionUpload.java:296) at com.google.appengine.tools.admin.AppVersionUpload.uploadFilesTransaction(AppVersionUpload.java:222) at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java:200) at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:572) at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:58) at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:1464) at com.google.appengine.tools.admin.AppCfg.executeAction(AppCfg.java:356) at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:221) at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:126) at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:122) at com.google.appengine.appcfg.AbstractAppCfgMojo.executeAppCfgCommand(AbstractAppCfgMojo.java:250) at com.google.appengine.appcfg.Update.execute(Update.java:32) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286) at org.apache.maven.cli.MavenCli.main(MavenCli.java:197) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) com.google.appengine.tools.admin.AdminException: Unable to update app: File /var/folders/zr/pl8tj40d3tj4dppc2mlyvnqc0000gn/T/appcfg1711881524291507563.tmp/Release/WebGL2.data is too large (limit 32000000 bytes). at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:578) at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:58) at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:1464) at com.google.appengine.tools.admin.AppCfg.executeAction(AppCfg.java:356) at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:221) at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:126) at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:122) at com.google.appengine.appcfg.AbstractAppCfgMojo.executeAppCfgCommand(AbstractAppCfgMojo.java:250) at com.google.appengine.appcfg.Update.execute(Update.java:32) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286) at org.apache.maven.cli.MavenCli.main(MavenCli.java:197) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) Caused by: com.google.appengine.tools.admin.LocalIOException: File /var/folders/zr/pl8tj40d3tj4dppc2mlyvnqc0000gn/T/appcfg1711881524291507563.tmp/Release/WebGL2.data is too large (limit 32000000 bytes). at com.google.appengine.tools.admin.AppVersionUpload.scanFiles(AppVersionUpload.java:296) at com.google.appengine.tools.admin.AppVersionUpload.uploadFilesTransaction(AppVersionUpload.java:222) at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java:200) at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:572) ... 30 more

Please any ideas? Thanks so much in advance :(

Upvotes: 0

Views: 274

Answers (1)

Bogdan.Nourescu
Bogdan.Nourescu

Reputation: 905

Google App Engine has some restrictions. One you are encountering is max file size limit (32.000.000 bytes, about 30 MB).

If you are using maven, maven actually is copying you files to a different folder called target. You must do a "clean" to delete that folder so it can be recreated from scratch. Every time you do an update, it copies new and changed files to the target folder and use that for deployment (it does not delete from target the deleted files)

Upvotes: 3

Related Questions