Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 265994 - Remove repository push from SimpleProfileRegistry
Summary: Remove repository push from SimpleProfileRegistry
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: 3.5   Edit
Hardware: PC All
: P3 normal (vote)
Target Milestone: 3.5 M6   Edit
Assignee: John Arthorne CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 267726 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-02-24 13:37 EST by Matthew Piggott CLA
Modified: 2009-03-09 16:29 EDT (History)
2 users (show)

See Also:


Attachments
SimpleProfileRegistry patch (4.02 KB, patch)
2009-02-24 13:37 EST, Matthew Piggott CLA
john.arthorne: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Piggott CLA 2009-02-24 13:37:07 EST
Created attachment 126585 [details]
SimpleProfileRegistry patch

This patch is to remove publishRepositoryReferences() and associated methods from the SimpleProfileRegistry which are used to push repositories stored in the profile into the repository managers.

See also bug 262964
Comment 1 DJ Houghton CLA 2009-02-27 15:15:20 EST
This code also causes deadlock due to interaction between profile lock and repository manager lock:

Thread [main] (Suspended) (out of synch)	
	SimpleProfileRegistry.getProfile(String) line: 127 (out of synch)	
	Activator.getBundlePoolRepository() line: 84	
	BundlePoolFilteredListener.<init>(DirectoryChangeListener) line: 27	
	SiteListener.synchronizeRepositories(ExtensionLocationMetadataRepository, ExtensionLocationArtifactRepository, File) line: 98	
	ExtensionLocationMetadataRepository.ensureInitialized() line: 61	
	ExtensionLocationMetadataRepository.getProperties() line: 163	
	MetadataRepositoryManager(AbstractRepositoryManager).addRepository(IRepository, boolean, String) line: 133	
	MetadataRepositoryManager(AbstractRepositoryManager).loadRepository(URI, IProgressMonitor, String, int) line: 616	
	MetadataRepositoryManager.loadRepository(URI, int, IProgressMonitor) line: 92	
	MetadataRepositoryManager.loadRepository(URI, IProgressMonitor) line: 88	
	SimplePlanner.gatherAvailableInstallableUnits(IInstallableUnit[], URI[], ProvisioningContext, IProgressMonitor) line: 231	
	SimplePlanner.getProvisioningPlan(ProfileChangeRequest, ProvisioningContext, IProgressMonitor) line: 271	
	Application.updateRoamingProperties(IProfile) line: 541	
	Application.run(String[]) line: 402	
	Application.start(IApplicationContext) line: 508	
	EclipseAppHandle.run(Object) line: 194	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 368	
	EclipseStarter.run(String[], Runnable) line: 179	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available	
	Method.invoke(Object, Object...) line: not available	
	Main.invokeFramework(String[], URL[]) line: 556	
	Main.basicRun(String[]) line: 511	
	Main.run(String[]) line: 1284	


Thread [Worker-1] (Suspended) (out of synch)	
	MetadataRepositoryManager(AbstractRepositoryManager).addRepository(URI, boolean, boolean) line: 167	
	MetadataRepositoryManager(AbstractRepositoryManager).addRepository(URI) line: 149	
	SimpleProfileRegistry.doPublishRepositories(IRepositoryManager, String) line: 268 (out of synch)	
	<obsolete method in<unknown declaring type>> (out of synch)	
	<obsolete method in<unknown declaring type>> (out of synch)	
	<obsolete method in<unknown declaring type>> (out of synch)	
	SimpleProfileRegistry.getProfile(String) line: 127 (out of synch)	
	ProfilePreferences.computeProfile(String) line: 63	
	ProfilePreferences.save() line: 150	
	ProfilePreferences(EclipsePreferences).flush() line: 352	
	ProfilePreferences(EclipsePreferences).flush() line: 340	
	AbstractRepositoryManager$SaveJob.run(IProgressMonitor) line: 57	
	Worker.run() line: 55	
Comment 2 John Arthorne CLA 2009-02-27 16:14:04 EST
Because of the deadlock risk I'm going to do this sooner.
Comment 3 John Arthorne CLA 2009-02-27 16:24:38 EST
Fixed in HEAD.
Comment 4 John Arthorne CLA 2009-03-09 16:29:19 EDT
*** Bug 267726 has been marked as a duplicate of this bug. ***