Looking at the stack this might be
https://bugs.eclipse.org/bugs/show_bug.cgi?id=244628
Each delete of an artifactdescriptor currently causes us to rewrite the
repo


|------------>
| From:      |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Pascal Rapicault/Ottawa/i...@ibmca                                           
                                                                      |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To:        |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Equinox development mailing list <equinox-dev@eclipse.org>                   
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Cc:        |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |equinox-dev@eclipse.org, equinox-dev-boun...@eclipse.org                     
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date:      |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |01/08/2009 10:52 PM                                                          
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject:   |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Re: [equinox-dev] performance problems with Eclipse startup due to      long 
DirectoryWatcher.poll() (25 minutes!)                                |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|





Some bug fixes got made in 3.4.2, but the main problem is that p2 has to
generate metadata on the fly which is a non trivial operation IO-wise.
I would recommend you to generate p2 metadata for all of those 3000 bundles
and install them properly using the p2 director.
One bug report about performance of the reconciler is
https://bugs.eclipse.org/bugs/show_bug.cgi?id=251561


Inactive hide details for Jacek Pospychała ---01/08/2009 11:19:42 AM---Hi I
have an Eclipse 3.4.1 install (of ~3000 plug-ins),Jacek Pospychała ---01
/08/2009 11:19:42 AM---Hi I have an Eclipse 3.4.1 install (of ~3000
plug-ins), that's starting for
                                                                       
                                                                       
 From:       Jacek Pospychała <jacek.pospych...@cs.put.poznan.pl>    
                                                                       
                                                                       
 To:         equinox-dev@eclipse.org                                   
                                                                       
                                                                       
 Date:       01/08/2009 11:19 AM                                       
                                                                       
                                                                       
 Subject:    [equinox-dev] performance problems with Eclipse startup due
             to long DirectoryWatcher.poll() (25 minutes!)             
                                                                       





Hi
I have an Eclipse 3.4.1 install (of ~3000 plug-ins), that's starting for
about 25minutes. Most of this time is spent in
org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start()
calling (indirectly) DirectoryWatcher.poll().

Looking at several coredumps collected during this startup time it seems
that all threads wait() or sleep() and only "Start Level Event Dispatcher"
is working. All the time this thread is writing some XML. (See it's
stacktrace below)

Is this expected behaviour? What XML is actually written?
I also notice that p2 directory has about 600mb.

I was looking for bugs with similar stack traces, but with no luck so
far - should I open new?
thanks

Jacek


stacktrace:

3XMTHREADINFO      "Start Level Event Dispatcher" TID:0x4274C100,
j9thread_t:0x0001BA70, state:CW, prio=5
3XMTHREADINFO1            (native thread ID:0x890, native priority:0x5,
native policy:UNKNOWN)
4XESTACKTRACE          at java/io/OutputStreamWriter.write(Bytecode
PC:71(Compiled Code))
4XESTACKTRACE          at java/io/PrintWriter.write(Bytecode
PC:71(Compiled Code))
4XESTACKTRACE          at java/io/PrintWriter.write(Bytecode
PC:71(Compiled Code))
4XESTACKTRACE          at java/io/PrintWriter.print(Bytecode
PC:71(Compiled Code))
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/persistence/XMLWriter.print(Bytecode
PC:71(Compiled Code))
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/persistence/XMLWriter.start(Bytecode
PC:71(Compiled Code))
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/persistence/XMLWriter.writeProperty(Bytecode

PC:71(Compiled Code))
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/persistence/XMLWriter.writeProperties(Bytecode

PC:70(Compiled Code))
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/persistence/XMLWriter.writeProperties(Bytecode

PC:4(Compiled Code))
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO$Writer.writeArtifacts(Bytecode

PC:102(Compiled Code))
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO$Writer.write(Bytecode

PC:77(Compiled Code))
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepositoryIO.write(Bytecode

PC:25)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.save(Bytecode

PC:214(Compiled Code))
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.save(Bytecode

PC:24)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.removeDescriptor(Bytecode

PC:9)
4XESTACKTRACE          at
org/eclipse/equinox/internal/provisional/p2/directorywatcher/RepositoryListener.synchronizeArtifactRepository(Bytecode

PC:105)
4XESTACKTRACE          at
org/eclipse/equinox/internal/provisional/p2/directorywatcher/RepositoryListener.stopPoll(Bytecode

PC:92)
4XESTACKTRACE          at
org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.stopPoll(Bytecode

PC:34)
4XESTACKTRACE          at
org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.poll(Bytecode

PC:9)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.ensureInitialized(Bytecode

PC:80)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/extensionlocation/ExtensionLocationArtifactRepository.getProperties(Bytecode

PC:1)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryManager.addRepository(Bytecode

PC:108)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryManager.loadRepository(Bytecode

PC:106)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/artifact/repository/ArtifactRepositoryManager.loadRepository(Bytecode

PC:5)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.loadArtifactRepository(Bytecode

PC:66)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.synchronizeConfiguration(Bytecode

PC:398)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.stopPoll(Bytecode

PC:31)
4XESTACKTRACE          at
org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.stopPoll(Bytecode

PC:34)
4XESTACKTRACE          at
org/eclipse/equinox/internal/provisional/p2/directorywatcher/DirectoryWatcher.poll(Bytecode

PC:9)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.watchConfiguration(Bytecode

PC:224)
4XESTACKTRACE          at
org/eclipse/equinox/internal/p2/reconciler/dropins/Activator.start(Bytecode

PC:127)
4XESTACKTRACE          at
org/eclipse/osgi/framework/internal/core/BundleContextImpl$2.run(Bytecode
PC:58)
4XESTACKTRACE          at
java/security/AccessController.doPrivileged(Bytecode PC:3(Compiled Code))
4XESTACKTRACE          at
org/eclipse/osgi/framework/internal/core/BundleContextImpl.startActivator(Bytecode

PC:22)
4XESTACKTRACE          at
org/eclipse/osgi/framework/internal/core/BundleContextImpl.start(Bytecode
PC:23)
4XESTACKTRACE          at
org/eclipse/osgi/framework/internal/core/BundleHost.startWorker(Bytecode
PC:381)
4XESTACKTRACE          at
org/eclipse/osgi/framework/internal/core/AbstractBundle.resume(Bytecode
PC:22(Compiled Code))
4XESTACKTRACE          at
org/eclipse/osgi/framework/internal/core/Framework.resumeBundle(Bytecode
PC:35(Compiled Code))
4XESTACKTRACE          at
org/eclipse/osgi/framework/internal/core/StartLevelManager.resumeBundles(Bytecode

PC:91)
4XESTACKTRACE          at
org/eclipse/osgi/framework/internal/core/StartLevelManager.incFWSL(Bytecode

PC:33)
4XESTACKTRACE          at
org/eclipse/osgi/framework/internal/core/StartLevelManager.doSetStartLevel(Bytecode

PC:236)
4XESTACKTRACE          at
org/eclipse/osgi/framework/internal/core/StartLevelManager.dispatchEvent(Bytecode

PC:45)
4XESTACKTRACE          at
org/eclipse/osgi/framework/eventmgr/EventManager.dispatchEvent(Bytecode
PC:39(Compiled Code))
4XESTACKTRACE          at
org/eclipse/osgi/framework/eventmgr/EventManager$EventThread.run(Bytecode
PC:26)


_______________________________________________
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev

_______________________________________________
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev

<<inline: graycol.gif>>

<<inline: ecblank.gif>>

<<inline: 0F959705.gif>>

<<inline: 0F613659.gif>>

_______________________________________________
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to