Bug 88661

Summary: Indexer silently blocks the creation of a class
Product: [Eclipse Project] JDT Reporter: Tod Creasey <Tod_Creasey>
Component: CoreAssignee: Kent Johnson <kent_johnson>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3 Keywords: performance
Version: 3.1   
Target Milestone: 3.1 M7   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Indexer trace none

Description Tod Creasey CLA 2005-03-21 13:10:00 EST
20050317

If you try and create a class during a long build you will eventually get
blocked by the indexer with little feedback to the user except a blocked job
dialog with no info.

STEPS
1) Load all of the SDK into you workbench
2) Create a project unrelated to any of them
3) Start the build
4) Try to create a class
5) You will be blocked by the build
6) Cancel the build job
7) You will still be blocked but you will not know why

I profiled while I did this and discovered that the indexer was taking a lot of
the time - I expect this was because workspace locks were being used locking out
the whole workspace (my class was unrelated to those being built).

I will attach a trace
Comment 1 Tod Creasey CLA 2005-03-21 13:10:52 EST
Created attachment 19055 [details]
Indexer trace
Comment 2 Philipe Mulet CLA 2005-04-06 12:51:13 EDT
We could play with indexer thread priority change. When building lower it, and
put it back up at the end. When search query starts in parallel, it is pumped up.
Comment 3 Kent Johnson CLA 2005-04-26 15:12:49 EDT
I cannot reproduce this.

As soon as I cancel the build job, my class is created even though the indexer 
is busy.

Tod, if you can reproduce, please attach a stack dump from when you're blocked.