History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEADEV-24461
Type: Bug Bug
Status: Reopened Reopened
Priority: Critical Critical
Assignee: Maxim Shafirov
Reporter: Andy Piper
Votes: 0
Watchers: 5
Operations

If you were logged in you would be able to see more operations.
IDEA: Development

Adding new modules horrible slow

Created: 22 Jan 08 14:51   Updated: 10 Nov 08 16:45
Component/s: Maven Integration
Fix Version/s: Undefined

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
File Attachments: 1. Zip Archive 7656_Andrew Piper_22.01.2008_11.35.43.zip (1.99 Mb)
2. Zip Archive 7675_Andrew Piper_06.02.2008_08.54.33.zip (1.84 Mb)

Environment: Windows XPSP2

Build: 7,656
Fixed in build: 8,137
Severity: Extreme


 Description  « Hide
Adding a new module in 7.0.2 and 7.0.3 EAP is horribly slow.

If I add a new module I get a "Scanning files dialog" for an eye-watering 3 minutes 20 seconds. When I close the project settings dialog I get it again for 2 minutes 50 seconds. EAP also gives me an error on my project load. I will attach the CPU profile for adding a module.

No message
java.lang.NullPointerException
at org.jetbrains.idea.maven.state.MavenProjectsStateComponent.getMavenProject(MavenProjectsStateComponent.java:345)
at org.jetbrains.idea.maven.navigator.PomTreeStructure$PomNode.updateNode(PomTreeStructure.java:569)
at org.jetbrains.idea.maven.navigator.PomTreeStructure$PomNode.<init>(PomTreeStructure.java:498)
at org.jetbrains.idea.maven.navigator.MavenProjectNavigator$1.createFile(MavenProjectNavigator.java:80)
at org.jetbrains.idea.maven.state.MavenProjectsStateComponent.refresh(MavenProjectsStateComponent.java:434)
at org.jetbrains.idea.maven.state.MavenProjectsStateComponent.access$100(MavenProjectsStateComponent.java:36)
at org.jetbrains.idea.maven.state.MavenProjectsStateComponent$2.rootsChanged(MavenProjectsStateComponent.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:101)
at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:170)
at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:162)
at com.intellij.util.messages.impl.MessageBusImpl.access$000(MessageBusImpl.java:36)
at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:102)
at $Proxy60.rootsChanged(Unknown Source)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$MyVirtualFileManagerListener.afterRefreshFinish(ProjectRootManagerImpl.java:3)
at com.intellij.openapi.vfs.impl.VirtualFileManagerImpl.fireAfterRefreshFinish(VirtualFileManagerImpl.java:14)
at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.fireEvents(RefreshSessionImpl.java:51)
at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl$2$1$1.run(RefreshQueueImpl.java:1)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:42)
at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl$2$1.run(RefreshQueueImpl.java:3)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:25)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:108)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:118)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:19)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)



 All   Comments   Work Log   Change History      Sort Order:
Andy Piper - 01 Feb 08 13:46
This is not completely fixed at build #7675. The exception is fixed, but adding a module still takes 2 minutes. Once you have added a module saving the settings is much quicker.

So close, but no cigar. I don't have permission to re-open this JIRA issue, shall I create a new one?


Anton Makeev - 01 Feb 08 14:30
I'll recheck it, thanks

Anton Makeev - 05 Feb 08 18:04
Could you please take new cpu shapshot?

Andy Piper - 06 Feb 08 11:59
New CPU profile with 7675

Anton Makeev - 12 Feb 08 14:28
What are the content roots of your ptoject? How many files are in the roots, roughly?
It seems that all the time is spend updating the system cache.

Andy Piper - 12 Feb 08 14:50
I have more than 100 content roots. I have roughly 40 modules. There are roughly 15,000 files under these roots, no idea how many exactly.

Why is it taking so long to update the system cache when I am adding a single module with a single content root? It was quick under IntelliJ 5.1.2


Anton Makeev - 12 Feb 08 15:27
Max, could you please take a look at the snapshot attached (the most recent one)?

Andy Piper - 14 Mar 08 21:32
Does this mean it is fixed?

Anton Makeev - 17 Mar 08 10:35
Please try the 7.0.3 release.

Andy Piper - 26 Mar 08 13:08
If anything this is worse - 2.5 minutes to get to the ok dialog. 2 minutes after clicking ok.