Bug 505611 - Remove org.eclipse.team.svn.resource.ignore.rules.jdt bundle
Summary: Remove org.eclipse.team.svn.resource.ignore.rules.jdt bundle
Status: RESOLVED FIXED
Alias: None
Product: Subversive
Classification: Technology
Component: Core (show other bugs)
Version: 3.0.2   Edit
Hardware: All All
: P3 major (vote)
Target Milestone: 4.6.2   Edit
Assignee: Alexander Gurov CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 504058
  Show dependency tree
 
Reported: 2016-10-10 03:55 EDT by Andrey Loskutov CLA
Modified: 2016-10-30 15:58 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Loskutov CLA 2016-10-10 03:55:44 EDT
During investigations for bug 504058 I found that the current implementation of JDTIgnoreRecommendations doesn't make sense anymore, since org.eclipse.team.svn.core.utility.SVNUtility.isIgnored(IResource) already checks the derived flag on resources.

After checking for resource.isDerived(IResource.CHECK_ANCESTORS) SVNUtility.isIgnored asks repeatably

if (ignore.isAcceptableNature(resource) && ignore.isIgnoreRecommended(resource))

which *both* cause an *extra* overhead by going deep into JDT/platform resources  code, cloning project descriptons, project natures, looping over (potentially multiple) natures, creatung JavaProject's, calling into JDT synchronized blocks (which can cause deadlocks, as seen in bug 359199), even forcing classpath resolving in worst case.

This all is not needed at all, because all JDT generated resources has properly set their "derived" attribute.

So the best way to fix it is to entirely remove the org.eclipse.team.svn.resource.ignore.rules.jdt bundle from the code/distribution. 

The users of this bundle should be warned that they only get performance overhead and probably extra deadlocks, and the bundle should be removed from the Subversive update sites.
Comment 1 Alexander Gurov CLA 2016-10-30 15:58:27 EDT
You're right. The code is a legacy one and should be removed. I've added a note to the "latest releases" page too.