Community
Participate
Working Groups
Currently it is possible to submit a task in an editor, attach a context and synchronize it at the same time. To avoid concurrent modifications of RepositoryTaskData objects synchronization is needed. Rob suggested use a rule factory for tasks similar to IResourceRuleFactory that is used to synchronize operations of resources. Related: bug 154258, bug 150682
Steffen: if you want to take this on let me know.
Rob: is this still needed?
Edits are orthogonal to task data so should be safe there and pushing to the cached offline storage is synchronized but I'd like to look at this more closely before closing.
We need to review the API for concurrency issues at some point and potentially define ISchedulingRules for access to resources (queries, tasks, task data). Also methods in TaskList such as addTask() are not safe for concurrent access and we should to come up with a proper locking scheme here.
This has been implemented as part of bug 226822. Operations on task data are now synchronized with the task list and managed in ITaskDataManager2. Further progress for defining scheduling rules is tracked on bug 226221.
Task data is actually managed in TaskDataManager.