Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 165682

Summary: Unnecessary locking in ResourceChangeUpdaterProvider
Product: z_Archived Reporter: Julien Canches <julien.canches>
Component: TPTPAssignee: Bozier jerome <jerome.bozier>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P2 CC: jkubasta, paulslau
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard: closed471

Description Julien Canches CLA 2006-11-23 11:57:51 EST
This defect is opened as a follow up to bug 164637.
The class ResourceChangeUpdateProvider is responsible of:
(1) processing resource change events
(2) updating the Test Navigator content
The problem is that (1) must be performed while the event is being dispatched (because the event information gets discarded as soon resourceChanged() returns), and that (2) must be performed in the UI thread.
The current answer to these constraints is to perform (1) and (2) in a runnable invoked in a Display.getDefault().syncExec() call. Using asyncExec() invalidates constraint (1) and not using a xsyncExec() invalidates (2).
There should be a finer-grained answer to this problem, consisting in processing the event while it is dispatched, and scheduling the navigator's refresh in an asyncExec(), thus reducing the resource change's thread locking to zero.
Comment 1 Paul Slauenwhite CLA 2007-01-16 10:26:09 EST
Reassigning to the component leads to triage for 4.4.
Comment 2 Paul Slauenwhite CLA 2007-01-26 08:28:38 EST
Targeting to future since cannot be contained in 4.4.
Comment 3 Paul Slauenwhite CLA 2007-01-26 08:33:36 EST
Targeting to future since cannot be contained in 4.4.
Comment 4 Paul Slauenwhite CLA 2007-01-26 08:59:29 EST
As discussed on this week's Test Project call (January 22, 2007), the Test Project will focus on existing P1 - P2/Blocker - Major and P1/Normal and test creation/automation defects (omitting defects dependant on outstanding features) in TPTP 4.4.  All other Test Project defects have been targeted to future.

If this defect has been targeted to future and you/originator feel it should be completed in 4.4, please provide the necessary reason as a reply to this comment or a post to the Test Project mailing list (tptp-test-tooling-dev@eclipse.org).  We will collectively triage and assess our resources to determine a case-by-case decision. 
Comment 5 Paul Slauenwhite CLA 2007-01-26 09:01:07 EST
As discussed on this week's Test Project call (January 22, 2007), the Test Project will focus on existing P1 - P2/Blocker - Major and P1/Normal and test creation/automation defects (omitting defects dependant on outstanding features) in TPTP 4.4.  All other Test Project defects have been targeted to future.

If this defect has been targeted to future and you/originator feel it should be completed in 4.4, please provide the necessary reason as a reply to this comment or a post to the Test Project mailing list (tptp-test-tooling-dev@eclipse.org).  We will collectively triage and assess our resources to determine a case-by-case decision. 
Comment 6 Paul Slauenwhite CLA 2007-01-26 09:03:25 EST
Correction:  The Test Project mailing list is tptp-testing-tools-dev@eclipse.org.
Comment 7 Bozier jerome CLA 2008-11-13 08:32:10 EST
updating estimated time
hard to size precisely because of multithreading problem that can have some severre side-effect (UI deadlock)
Comment 8 Paul Slauenwhite CLA 2009-01-27 13:21:38 EST
Consider using a WorkspaceModifyOperation.
Comment 9 Paul Slauenwhite CLA 2009-01-27 13:25:49 EST
Deferring to TPTP 4.5.3 since TPTP 4.5.2 development is closed (http://www.eclipse.org/tptp/home/project_info/releaseinfo/4.5.2/schedule.html) and P2 defects are not considered candidates during release shut-down.
Comment 10 Paul Slauenwhite CLA 2009-09-02 09:03:39 EDT
Resolving as WONTFIX since the risk of regressions is too high given that there are no reproducible symptoms, only architectural improvements.
Comment 11 Kathy Chan CLA 2010-11-18 23:27:38 EST
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.