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: | Callers of TaglibParseSupport.getCachedParseResult() are blocked for long time by JSP parsing thread [was:LowPerformance took 6683 ms.] | ||
---|---|---|---|
Product: | javaee | Reporter: | ads_green <ads_green> |
Component: | JSP | Assignee: | Marek Fukala <mfukala> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | davideconsonni, dbalek, tomzi, umeshpatel046, vinaykrsharma, vmirko |
Priority: | P3 | Keywords: | PERFORMANCE |
Version: | 7.0 | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | 176344 |
Attachments: | nps snapshot |
Description
ads_green
2011-02-01 12:37:17 UTC
Created attachment 105544 [details]
nps snapshot
org.netbeans.modules.web.core.syntax.JspHyperlinkProvider seems to be at fault. I found these two common cases: [1] http://statistics.netbeans.org/exceptions/exception.do?id=681272 in EDT: JspKit$JspInsertBreakAction.actionPerformed() -> Indent.reindent() -> ParserManager.parse() -> java.source.save.Reindenter.reindent() -> tries to get java source for the JSP file TaglibParseSupport.getCachedParseResult() waits for the jsp parsing thread to finish its slow parsing. [2] http://statistics.netbeans.org/exceptions/exception.do?id=683834 code completion thread: JspCompletionProvider.query() -> TaglibParseSupport.getCachedParseResult() waits for the jsp parsing thread to finish its slow parsing. Both cases are caused by the clients of TaglibParseSupport.getCachedParseResult() which calls that method (indirectly) with successfulOnly == true and preferCurrent == true arguments, which causes the calling thread to block and wait for the JSP parser parsing finishes. A solution would be either speed up the jsp parsing significantly (very complicated to impossible) or let the clients use the existing (last) parsing result. I'd go for the second option, however the consequences may be severe and hard to foresee. The code is quite complicated and messy, moreover there're are almost no tests so doing such change a day before code freeze seems too much to my liking. However I'd give it a try in the next version. This old bug may not be relevant anymore. If you can still reproduce it in 8.2 development builds please reopen this issue. Thanks for your cooperation, NetBeans IDE 8.2 Release Boss |