You're right, it's not the job's weak reference.Task remains unreleased
after clear task and explicitly free jobs. Seems I still need more
investigation.:(

Thanks a lot!

2012/4/10 Ayal Baron <aba...@redhat.com>

>
>
> ----- Original Message -----
> >
> > 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
>
> Yes, the task should be removed from the system at this point.
> On the face of it it looks like 1.d should be a weakref and then clearTask
> would cause everything to be GC'd, but I might be missing something.
>
> > 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?
> >
> > _______________________________________________
> > vdsm-devel mailing list
> > vdsm-devel@lists.fedorahosted.org
> > https://fedorahosted.org/mailman/listinfo/vdsm-devel
> >
>
_______________________________________________
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel

Reply via email to