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.

Bug 189942 - AWT thread blocked by maven sharability query for not yet opened projects
Summary: AWT thread blocked by maven sharability query for not yet opened projects
Status: RESOLVED FIXED
Alias: None
Product: versioncontrol
Classification: Unclassified
Component: Code (show other bugs)
Version: 6.x
Hardware: All All
: P3 normal (vote)
Assignee: Tomas Stupka
URL:
Keywords: PERFORMANCE, THREAD
Depends on:
Blocks:
 
Reported: 2010-08-27 09:51 UTC by mase
Modified: 2011-02-10 21:26 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter: 161958


Attachments
nps snapshot (151.11 KB, application/nps)
2010-08-27 09:51 UTC, mase
Details
nps snapshot (21.10 KB, application/nps)
2010-12-14 15:22 UTC, aldobrucale
Details

Note You need to log in before you can comment on or make changes to this bug.
Description mase 2010-08-27 09:51:01 UTC
Build: NetBeans IDE 6.9.1 (Build 201007282301)
VM: Java HotSpot(TM) Client VM, 14.0-b16, Java(TM) SE Runtime Environment, 1.6.0_14-b08
OS: Windows XP
Maximum slowness yet reported was 90816 ms, average is 51565
Comment 1 mase 2010-08-27 09:51:21 UTC
Created attachment 101714 [details]
nps snapshot
Comment 2 Antonin Nebuzelsky 2010-09-24 16:41:30 UTC
Two snapshots (2010-08-27 and 2010-09-24) show the problem is that the versioning main menu is constructed and all active nodes (e.g. selected projects) asked for SharabilityQuery.getSharability() at the same time when background projects opening job is still running. In the maven case the sharability query asks embedder for information about the project - these are not cached yet because project opening is still running lazily on the background.

I reproduced by "Started with 132 glassfish project opened and right after start selected all project nodes and clicked Team main menu item. At that moment background job of opening the projects was still running."

Not sure if anything can be done with such query requests from VCS on AWT thread. Seems like user really needs to wait for the projects opening to finish.
Comment 3 Jesse Glick 2010-09-24 17:33:18 UTC
Seems to me that VersioningMainMenu is doing some rather heavy work that ought not be done synch on EQ. Should display an optimistic menu first - all items enabled - and then post an asynch job to check whether some items will be inapplicable. If the user selects an item before the job completes, and it was inappropriate, simply display a brief error dialog.
Comment 4 Antonin Nebuzelsky 2010-10-11 15:04:58 UTC
Reassigning to versioning for evaluation of possibility to eliminate the SharabilityQuery requests when the menu needs to be quickly prepared.
Comment 5 Ondrej Vrabec 2010-11-25 10:24:39 UTC
> Should display an optimistic menu first - all items enabled
That's not an option, because we don't even know what items should be display at this time. We don't even know if the files belong to Mercurial, Subversion or no VCS at all.
Probably we can hide the whole versioning menu until all projects are opened?
Comment 6 Jesse Glick 2010-11-29 17:54:44 UTC
(In reply to comment #5)
> hide the whole versioning menu

Or just display a single disabled item "Loading..." until the correct contents can be determined.
Comment 7 aldobrucale 2010-12-14 15:22:27 UTC
Created attachment 104064 [details]
nps snapshot

Starting a java debugging session
Comment 8 Tomas Stupka 2011-02-10 21:26:16 UTC
fixed in scope of #195268