Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 248199 - [api] allow for Repository Connectors to extend Scheduling Rules of Synchronization Jobs
Summary: [api] allow for Repository Connectors to extend Scheduling Rules of Synchroni...
Status: CLOSED MOVED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: 3.0   Edit
Hardware: All All
: P3 enhancement with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-22 17:25 EDT by Klaus Wenger CLA
Modified: 2009-09-24 21:26 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Klaus Wenger CLA 2008-09-22 17:25:22 EDT
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.
Comment 1 Steffen Pingel CLA 2008-09-25 18:49:30 EDT
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?
Comment 2 Klaus Wenger CLA 2008-10-26 23:41:57 EDT
That's exactly right. Thanks for taking my request into considerations!
Comment 3 Klaus Wenger CLA 2009-01-18 07:46:01 EST
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
Comment 4 Steffen Pingel CLA 2009-01-21 23:30:04 EST
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.
Comment 5 Eclipse Webmaster CLA 2022-11-15 11:45:08 EST
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