Hi,

I have tested the task component with a Reg based 2 node cluster with the
following scenarios.

1. Start the nodes with out any task scheduled with -Dtask.server.count
flag. (Initially nodes did not wait for the other nodes to start)
2. Schedule multiple tasks on the r/w node (they were allocated the among
the nodes in a round robin fashion)
3. Stopped either of the nodes when there are tasks scheduled for that node
(Those tasks were instantly re-allocated to the available node)
4. Scheduled tasks to invoke error prone services (Saw some issues
intermittently where after invoking few of such services task schedular
seems hanged and cannot add anymore tasks or delete existing tasks.)
5. Edit existing tasks (works fine)
6. Delete tasks (sometimes when the task is scheduled to the read only node
it cannot be deleted, even from the r/w node)

Please note the following issues reported.

[1] https://wso2.org/jira/browse/CARBON-11912
[2] https://wso2.org/jira/browse/CARBON-11893
[3] https://wso2.org/jira/browse/CARBON-11884
[4] https://wso2.org/jira/browse/CARBON-11881


/Nirodha

On Mon, Dec 12, 2011 at 4:55 PM, Anjana Fernando <anj...@wso2.com> wrote:

> Sorry meant to send the SVN locations, they are,
>
> *
> https://svn.wso2.org/repos/wso2/trunk/carbon/components/data-services/org.wso2.carbon.dataservices.core/src/main/java/org/wso2/carbon/dataservices/core/task
> *
> https://svn.wso2.org/repos/wso2/trunk/carbon/components/data-services/org.wso2.carbon.dataservices.core/src/main/java/org/wso2/carbon/dataservices/core/admin/DataServiceAdmin.java
>
> Cheers,
> Anjana.
>
>
> On Mon, Dec 12, 2011 at 4:53 PM, Anjana Fernando <anj...@wso2.com> wrote:
>
>> Below contains the DSS classes that are used for implementing the DSS
>> scheduled tasks based on ntask.
>>
>> * Package
>> "/media/data/dev/wso2/carbon/trunk/components/data-services/org.wso2.carbon.dataservices.core/src/main/java/org/wso2/carbon/dataservices/core/task".
>> * DSS Admin Service
>> "/media/data/dev/wso2/carbon/trunk/components/data-services/org.wso2.carbon.dataservices.core/src/main/java/org/wso2/carbon/dataservices/core/admin/DataServiceAdmin.java",
>> check methods "isTaskScheduled", "deleteTask", "rescheduleTask",
>> "scheduleTask", "getTaskInfo" and "getAllTaskNames".
>>
>> Cheers,
>> Anjana.
>>
>>
>> On Fri, Dec 9, 2011 at 6:54 PM, Anjana Fernando <anj...@wso2.com> wrote:
>>
>>> Hi,
>>>
>>> Lately I've been writing a new task component "ntask", which is directly
>>> based on quartz2 rather than having a dependency on Synapse, and also uses
>>> the coordination component for controlling distributing tasks in a cluster.
>>> To facilitate this, the group communication ability in the coordination
>>> component has been improved to contain a synchronous sendReceive call to
>>> implement RPC scenarios between peers in the group, which is needed in the
>>> task component. The flow simply works in the following steps,
>>>
>>> * Register a task description "TaskInfo", which contains task trigger
>>> information as well.
>>> * Schedule a registered task with the given name.
>>> * Related task controlling operations like, reschedule, pause, resume,
>>> delete, get status, list tasks in a specific server etc..
>>>
>>> The task functionality is mainly done using a "TaskManager" interface,
>>> which represents a task manager for a specific task type for a specific
>>> tenant. For example, for tasks to not to clash in a server which has ESB
>>> tasks and DSS tasks, the task type can be given to distinguish between the
>>> two. When a task is registered, the target server, the task needs to be
>>> scheduled can be specified by giving an implementation of the
>>> "TaskLocationResolver" interface, where given the task context, it must
>>> return the location of the server. There's a default task location resolver
>>> class used otherwise when not explicitly given, which simply scheduled all
>>> the tasks in an round robin fashion among the cluster. The failover
>>> scenarios are implemented where, if a node goes down, the leader node will
>>> identify it and schedule the orphaned tasks between remaining servers.
>>> Also, if the leader node itself goes down, another node will become the
>>> leader and reschedule the missing tasks and keep track of the running ones.
>>>
>>> The ntask component has a module called "solutions", which will contain
>>> most often used task implementation. I've added a simple web service
>>> invocation task implementation there, where in DSS itself, we derive that
>>> to create our own tasks. So if there are simple task implementations, they
>>> can be put into the solutions module, for reuse.
>>>
>>> The current ntask implementation is in-cooperated into the upcoming DSS
>>> 2.6.3 release, so the new tasks functionality can be tested from that if
>>> anyone's interested.
>>>
>>> Cheers,
>>> Anjana.
>>>
>>> --
>>> *Anjana Fernando*
>>> Senior Software Engineer
>>> WSO2 Inc. | http://wso2.com
>>> lean . enterprise . middleware
>>>
>>
>>
>>
>> --
>> *Anjana Fernando*
>> Senior Software Engineer
>> WSO2 Inc. | http://wso2.com
>> lean . enterprise . middleware
>>
>
>
>
> --
> *Anjana Fernando*
> Senior Software Engineer
> WSO2 Inc. | http://wso2.com
> lean . enterprise . middleware
>
> _______________________________________________
> Carbon-dev mailing list
> Carbon-dev@wso2.org
> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
>


-- 
*Nirodha Pramod*
Software Engineer, QA.
Tel : 0716429078
_______________________________________________
Carbon-dev mailing list
Carbon-dev@wso2.org
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to