#5215 repo_tasks.uninstall() task fails during Project.delete()

unreleased
wont-fix
nobody
migration (63)
General
nobody
2015-01-03
2012-10-31
Cory Johns
No

When a project is deleted via Project.delete() and the project has repo apps installed, the repo apps have their .uninstall() methods called (correctly) which posts a repo_tasks.uninstall() task to clean up the repo asynchronously since it might take a bit of time to clean up the file system and database.

However, by the time the task runs, the project is almost certainly deleted, and the MonQTask system refuses to restore the c.app context if the c.project cannot be restored, which causes the task to fail. This can cause the task worker to pause for 10s (in case the error was due to a transient outage, I suppose).

Discussion

  • Cory Johns - 2012-10-31

    Not sure how best to handle this. The "don't restore c.app if unable to load c.project" behavior was explicitly added in f4117c but there's no documentation as to why.

     
  • Dave Brondsema

    Dave Brondsema - 2012-10-31
    • labels: --> migration
    • milestone: forge-backlog --> forge-nov-16
     
  • Dave Brondsema

    Dave Brondsema - 2012-11-02
    • milestone: forge-nov-16 --> forge-backlog
     
  • Dave Brondsema

    Dave Brondsema - 2013-02-06
    • status: open --> wont-fix
    • milestone: forge-backlog --> forge-feb-08
     
  • Dave Brondsema

    Dave Brondsema - 2013-02-06

    Hasn't been a significant problem for us, and not a super-trivial fix.

     

Log in to post a comment.