Community
Participate
Working Groups
So far only some of the Jobs within package org.eclipse.mylyn.internal.tasks.core.sync use ISchedulingRule implementations to regulate repository traffic. The SynchronizeQueriesJob class uses an internal Mutex on TaskRepository-level. The underlying SDK of a RepositoryConnector instance may require more fine-grained scheduling rules for instance per server connection. It would be really helpful if all Mylyn Jobs hitting a repository would allow for its connector to determine or extend the general scheduling rule.
I'll review the current scheduling rules as part of bug 239182 and consider providing extensibility. As far as I understand your requirements scheduling rules should prevent multiple concurrent connections to the same host?
That's exactly right. Thanks for taking my request into considerations!
heya, i saw that there was some movement in the scheduling rule and that ITasksCoreConstants has an ObjectSchedulingRule now. it usually gets a TaskRepository instance as its object. would it be possible to delegate the decision which scheduling rule to use to a method RepositoryConnector#createChedulingRule(TaskRepository) that would create the above rule by default? most connectors could simply live with that solution while we could overload that method and return a MultiRule that contains both the rule from the call to super.createChedulingRule(taskRepository) as well as our rule to prevent multiple host accesses that in our case deadlock. this issue becomes a bit more relevant as the first release for our mylyn connector will be shortly after eclipse 3.5 as far as i can see. many thanks! k
The changes for 3.1 were mere refactorings to avoid code duplication. I'll take a look at this again in the 3.2 release cycle. I don't think we can expose the scheduling rules as it would be error prone for API clients to implement. We can consider a capability on the connector level that would prevent concurrent operations for all repositories of that connector.
Mylyn has been restructured, and our issue tracking has moved to GitHub [1]. We are closing ~14K Bugzilla issues to give the new team a fresh start. If you feel that this issue is still relevant, please create a new one on GitHub. [1] https://github.com/orgs/eclipse-mylyn