synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hiranya Jayathilaka <hiranya...@gmail.com>
Subject Re: Buggy Code in Tasks Module?
Date Sun, 13 Sep 2009 10:08:30 GMT
Hi Indika,

On Sun, Sep 13, 2009 at 11:56 AM, indika kumara <indika.kuma@gmail.com>wrote:

> Thanks Hiranya for point out this error… Those are my faults
>
> TaskSchedulerFactory is the initially written code to get / create a
> TaskScheduler
>
> SynapseConstants.SYNAPSE_STARTUP_TASK_SCHEDULER is also old constant
> prior to move code into a new task module. After that it should uses
> TaskConstants.TASK_SCHEDULER.
>
> Unforunaly …seems, I have forgotten to remove it...
>
> TaskScheduler taskScheduler = TaskSchedulerFactory.getTaskScheduler(
>                    SynapseConstants.SYNAPSE_STARTUP_TASK_SCHEDULER);
>
> This is also the old code prior to add TaskHelper... seems I have
> forgotten to remove this too...
>
> Really TaskHelper should rename to Task Component Manager or something
>
> And within method TaskHelper.init … I didn’t initialize actual
> TaskScheduler to make it late until first task is run.
>
> Fix …
>
> Anything,   begin with SynapseConstants.* should be removed only uses
> constant in Task module
>
> Rename TaskHelper to Task Component Manager to something
>
> Then uses that class to init task component and get resources inside
> task component. (i.e. task scheduler and task  description repository)
> … simply consider TaskSchedulerFactory as a internal class  and
> TaskHelper as the public class
>
> Hiranya … I haven’t any time these day to fix and test ..and it is
> great if you can do this …and in a proper way.
>

Thanks for the detailed explanation. I will make sure that these issues get
fixed before the 1.3 release.

Thanks,
Hiranya


>
> Thanks
> Indika
>
> On Fri, Sep 11, 2009 at 5:08 PM, Hiranya Jayathilaka
> <hiranya911@gmail.com> wrote:
> > FYI this is how we initialize the TaskHelper.
> >
> > taskHelper.init(
> >
> > TaskDescriptionRepositoryFactory.getTaskDescriptionRepository(
> >
> TaskConstants.TASK_DESCRIPTION_REPOSITORY),
> >
> > TaskSchedulerFactory.getTaskScheduler(TaskConstants.TASK_SCHEDULER));
> >
> > Note that we use one task scheduler to initialize the helper and use a
> > different one when initializing SimpleQuartz instances.
> >
> > Thanks,
> > Hiranya
> >
> > On Fri, Sep 11, 2009 at 4:29 PM, Hiranya Jayathilaka <
> hiranya911@gmail.com>
> > wrote:
> >>
> >> Hi Devs,
> >>
> >> I ran into some buggy looking code related to tasks. When a new task is
> >> created the SimpleQuartz#init method is called. There we get a task
> >> scheduler instance using the following piece of code.
> >>
> >> TaskScheduler taskScheduler = TaskSchedulerFactory.getTaskScheduler(
> >>
> >> SynapseConstants.SYNAPSE_STARTUP_TASK_SCHEDULER);
> >>
> >> Then when a task is stopped/removed SimpleQuartz#destroy method is
> called.
> >> There we try to get the task scheduler using the following line of code.
> >>
> >> TaskScheduler taskScheduler = taskHelper.getTaskScheduler();
> >>
> >> The task schedulers returned at the two occasions are in fact different
> >> (confirmed by debugging). Therefore when a task is removed from the
> system
> >> at runtime, things are not cleaned up properly and the task will
> continue to
> >> run in the background. Also the task scheduler instance set to the task
> >> helper is never initialized. That is another problem I encountered.
> >>
> >> I feel that these are actually bugs. Can somebody who's more familiar
> with
> >> the Synapse tasks module shed some light on the subject? If somebody can
> >> confirm I can start working on fixing them.
> >>
> >> Thanks
> >> --
> >> Hiranya Jayathilaka
> >> Software Engineer;
> >> WSO2 Inc.;  http://wso2.org
> >> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> >> Blog: http://techfeast-hiranya.blogspot.com
> >
> >
> >
> > --
> > Hiranya Jayathilaka
> > Software Engineer;
> > WSO2 Inc.;  http://wso2.org
> > E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> > Blog: http://techfeast-hiranya.blogspot.com
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
>
>


-- 
Hiranya Jayathilaka
Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

Mime
View raw message