This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | api.project.ui.OpenProjects.open does IO operations in AWT | ||
---|---|---|---|
Product: | javaee | Reporter: | Petr Cyhelsky <cyhelsky> |
Component: | EAR | Assignee: | David Konecny <dkonecny> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dkonecny |
Priority: | P2 | Keywords: | PERFORMANCE |
Version: | 7.1 | ||
Hardware: | PC | ||
OS: | Mac OS X | ||
Issue Type: | DEFECT | Exception Reporter: | |
Bug Depends on: | |||
Bug Blocks: | 206311 | ||
Attachments: | stacktrace |
I think case is OK - a project is being opened and there is progress bar running in UI that project is being open. After talking with Tomas about this issue I will have one more look how other projects open subprojects and make sure EAR does it the same way and no ProjectOpenHook is called from AWT. I looked at J2SE project and how it opens subprojects (ie. under J2SE's Libraries node select a node which represents a project which is not opened yet and call "Open" action it). Profiling the Open action I can see that the same API method (api.project.ui.OpenProjects.open) is called and whether such call results into an IO operation depends on what type the subproject is, that is what all ends up being called from project's ProjectOpenedHook. I'm passing this issue to api.project.ui.OpenProjects.open owner to check whether ProgressUtils.runOffEventDispatchThread could be used (or something else) so that a proper UI notification is displayed in case project opening takes more time. Probably could be. Too risky for 7.1. Increasing priority to P2 - after discussion with performance team and based on the goal for NB 7.2 (performance improvements) especially for remote filesystems. Just need to make j2ee.earproject.ui.actions.OpenModuleProjectAction run asynch, I think. I made the org.netbeans.modules.j2ee.earproject.ui.actions.OpenModuleProjectAction action asynchronous. 018e81366258 Integrated into 'main-golden', will be available in build *201204200400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/018e81366258 User: David Konecny <dkonecny@netbeans.org> Log: #204526 - api.project.ui.OpenProjects.open does IO operations in AWT |
Created attachment 112687 [details] stacktrace Please see the attached stacktrace. This stacktrace was obtained during performance team search for usages of outputStream in AWT - this often causes slowness when caught by versioning or local history. If it is absolutely necessary to do this synchronously can it at least be run using runOffEventDispatchThread ?