Bug 528248 - Project#build(...) greedily uses workspace root scheduling rule
Summary: Project#build(...) greedily uses workspace root scheduling rule
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Resources (show other bugs)
Version: 4.7   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: 4.8 M6   Edit
Assignee: Mickael Istria CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks: 527212
  Show dependency tree
 
Reported: 2017-12-07 04:50 EST by Mickael Istria CLA
Modified: 2018-03-07 14:14 EST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mickael Istria CLA 2017-12-07 04:50:39 EST
Related to bug 343256
The workspace build has benefit from an optimization to prevent from too greedily using the Workspace Root scheduling rule for the notification of listeners, which may be invoked concurrently. It relies on checking whether the notifications can happened with a "relaxed" rule: https://bugs.eclipse.org/bugs/attachment.cgi?id=194597 .
A similar approach should be implement in IProject#buildInternal(...). That would allow projects to build in parallel.
Comment 1 Eclipse Genie CLA 2017-12-07 09:29:35 EST
New Gerrit change created: https://git.eclipse.org/r/113007
Comment 2 Eclipse Genie CLA 2018-01-24 06:07:25 EST
New Gerrit change created: https://git.eclipse.org/r/115957
Comment 5 Eclipse Genie CLA 2018-01-30 06:14:17 EST
New Gerrit change created: https://git.eclipse.org/r/116319
Comment 7 Mickael Istria CLA 2018-02-02 06:08:52 EST
Merged commit fixed it and added automated tests for it.
Comment 8 Mickael Istria CLA 2018-02-06 10:17:20 EST
There is a bug in documentation and in the code. a relaxed scheduling rule is expected to return *false* for rule.contains(workspace).
@Dani: WDYT?
Comment 9 Eclipse Genie CLA 2018-02-07 04:39:25 EST
New Gerrit change created: https://git.eclipse.org/r/116836
Comment 10 Mickael Istria CLA 2018-02-12 09:47:10 EST
Latest patch fixes bug that was previously introduced.