GoogleCloudPlatform / gradle-appengine-templates

Freemarker based templates that build with the gradle-appengine-plugin
438 stars 205 forks source link

Cleaning up temporary files for module default... #72

Closed adityaladwa closed 7 years ago

adityaladwa commented 8 years ago

Deploying to Google app engine stops at

Beginning interaction for module default... 0% Created staging directory at: 'C:\Users\Aditya\AppData\Local\Temp\appcfg5965290518124966335.tmp' 5% Scanning for jsp files. 20% Scanning files on local disk. 25% Initiating update. 28% Cloning 2 static files. 31% Cloning 14 application files. 40% Uploading 0 files. 52% Initializing precompilation... 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% Closing update: new version is ready to start serving. 99% Uploading index definitions.

Update for module default completed successfully. Success. Cleaning up temporary files for module default...

After this there is no progress for more than an hour

OS : Windows 10 Android studio 1.5.1

TurhanOz commented 7 years ago

Hi there, same here. I tried with 2 different accounts, being stuck at Cleaning up temporary files for module default... with no progress. Cheers

thinkocapo commented 7 years ago

I'm getting the same issue. Did you find a solution yet? I saw this issue on a few forums and no one had a solution. On a google dev forum, a google employee responded and said its due to system maintenance and pretty much to "try again later". Not sure what to do.

thinkocapo commented 7 years ago

here is what I'm talking about, https://issuetracker.google.com/issues/35895599 from 2015

evankanderson commented 7 years ago

The log above is not a failure to deploy -- you can see that it prints

Closing update: new version is ready to start serving.

and

Update for module default completed successfully. Success.

If you look at this (old fork, the code.google.com version was shut down), you can see that the recursive cleanup is the last step of deployment. You can see that the application called cleanStagingDirectory(), which calls the following fairly simple code:

  /** deletes the staging directory, if one was created. */
  @Override
  public void cleanStagingDirectory() {
    if (stageDir != null) {
      recursiveDelete(stageDir);
    }
  }

  /** Recursive directory deletion. */
  public static void recursiveDelete(File dead) {
    String[] files = dead.list();
    if (files != null) {
      for (String name : files) {
        recursiveDelete(new File(dead, name));
      }
    }
    dead.delete();
  }

The AppCfg java process might be hanging for one of two reasons at this point:

  1. The File.delete() in recursiveDelete might be hanging or attempting to delete a large number of files.
  2. It's possible that the process ended up spawning a background thread and did not mark it as daemon. You could determine this by getting a stack dump of the running AppCfg process.