Bug 528248

Summary: Project#build(...) greedily uses workspace root scheduling rule
Product: [Eclipse Project] Platform Reporter: Mickael Istria <mistria>
Component: ResourcesAssignee: Mickael Istria <mistria>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: akurtakov, daniel_megert, gautier.desaintmartinlacaze, loskutov, s.srinivasan
Version: 4.7Keywords: performance
Target Milestone: 4.8 M6   
Hardware: All   
OS: All   
See Also: https://bugs.eclipse.org/bugs/show_bug.cgi?id=343256
https://git.eclipse.org/r/113007
https://bugs.eclipse.org/bugs/show_bug.cgi?id=527212
https://git.eclipse.org/c/platform/eclipse.platform.resources.git/commit/?id=16ecab724d5629efe3a8ccba096548eaf43e5d0d
https://git.eclipse.org/r/116319
https://git.eclipse.org/c/platform/eclipse.platform.resources.git/commit/?id=7a1555b688d37f67b4de9fd1e7bb826f18f86de0
https://git.eclipse.org/r/116836
https://git.eclipse.org/c/platform/eclipse.git/commit/?id=d336efe28ba35f8d48e53c4be52af339f856c20b
Whiteboard:
Bug Depends on:    
Bug Blocks: 527212    

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.