Guys,
   
   I'm investigating about resource leak problem about task,job,storage pool,storage domain.I don't know very deep about the whole scheme, hope someone can tell if what I found is a problem or not.
   
task manager                thread pool                                            
self.tasks = {}                self.__tasks = Queue
         |                                     |
         |refers(1.a)                      |refers(1.b)
         |                                    \|/
         |________________ task(1.c:self.log)  
                                               task.jobs[ ]
                                            /|\     |(2.a)
                                 ги1.d)   |     \|/
                                              job
 
4 references all together.(1.a,1.b,1.c,1.d)
When thread pool call "getNextTask" reference 1.b cleared
When Task manager call "clearTask"  reference  1.a cleared
But reference 1.c and 1.d not cleared.Ref 1.d and 2.a make task and its jobs can't be released

My question is:
   When task manager task call "clearTask" means a task all deleted or will it be reused or others will clean the remaining reference?
    Because task.job sequence never cleared so I assume task should be all cleared when "clearTask" to make jobs freed, but the two uncleared reference confuse me about this.
   Would someone give me a hint?