JDK-6532597 : Javahelp running under Webstart 1.6 much slower than Webstart 1.5
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 6
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2007-03-08
  • Updated: 2010-04-04
  • Resolved: 2007-03-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7
7Resolved
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
Windows XP

A DESCRIPTION OF THE PROBLEM :
I have a webstart application hosted on java.net. It uses Javahelp to view the help documentation. When I click from page to page in the TOC under 1.5, response is snappy as you'd expect, since the help pages are all stored within a jar file. Under 1.6, there is a noticeable delay each time you click a page in the TOC view. There appears to be some network activity going on each time I click a page.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
First use Java5 webstart and install my little time tracker app at https://stopwatch.dev.java.net/jws/stopwatch.jnlp
Select Help/Help Contents and click on the page links in the TOC.

Now use Java6 webstart and try the same thing.



EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Java6 should be as fast as Java5 and there should be no network activity.
ACTUAL -
Much slower under Java6.

REPRODUCIBILITY :
This bug can be reproduced always.

Release Regression From : 5
The above release value was the last known release where this 
bug was not reproducible. Since then there has been a regression.

Comments
EVALUATION problem is JNLPCachedJarURLConnection does not override getHeaderField to use cached headers if possible. stack trace when bug is happening: java.lang.Exception: Stack trace at java.lang.Thread.dumpStack(Unknown Source) at com.sun.deploy.net.proxy.DeployProxySelector.select(DeployProxySelector.java:175) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown Source) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getHeaderField(Unknown Source) at sun.net.www.protocol.jar.JarURLConnection.getHeaderField(Unknown Source) at java.net.URLConnection.getContentEncoding(Unknown Source) at javax.swing.JEditorPane.handleConnectionProperties(Unknown Source) at javax.swing.JEditorPane.getStream(Unknown Source) at javax.swing.JEditorPane.setPage(Unknown Source) at javax.help.plaf.basic.BasicContentViewerUI.idChanged(BasicContentViewerUI.java:223) at javax.help.DefaultHelpModel.fireIDChanged(DefaultHelpModel.java:427) at javax.help.DefaultHelpModel.setCurrentID(DefaultHelpModel.java:162) at javax.help.plaf.basic.BasicTOCNavigatorUI.valueChanged(BasicTOCNavigatorUI.java:672) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source) at javax.swing.JTree.setSelectionPath(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source) at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) close as duplicate of 6526243
13-03-2007