JDK-6416414 : JAR Cache is loading the whole JAR file to have a look if it should be reloaded
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2006-04-21
  • Updated: 2011-02-16
  • Resolved: 2010-08-25
Description
FULL PRODUCT VERSION :
java version "1.6.0-beta2"
Java(TM) SE Runtime Environment (build 1.6.0-beta2-b79)
Java HotSpot(TM) Client VM (build 1.6.0-beta2-b79, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]

A DESCRIPTION OF THE PROBLEM :
The jar cache of the plugin now loads the whole jar file, an than decides wether it should load the jar file again. (the Progressbar is still 0%)
If the Jar file is a newer one, than the applet viewer loads it again. (The progressbar starts 0% up to 100%) and than the Applet appears.

The jar cache should only look on http header, and than load the jar file one time only!!!


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
You need a slow network connection, to see the behaviour.

Then open a website with an applet that uses a jar archive.
The jar cache of the plugin now loads the whole jar file, an than decides wether it should load the jar file again. (the Progressbar is still 0%)
If the Jar file is a newer one, than the applet viewer loads it again. (The progressbar starts 0% up to 100%) and than the Applet appears.



EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The jar cache should only look on http header, and than load the jar file one time only!!!

ACTUAL -
The jar files will be loaded at least for 1 time. So you have to wait in any way for the libraries to be loaded

REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
no workaround

Comments
EVALUATION A lot of work had been done to reduce chance to make extra network requests and we will continue to improve in this area. I am closing this one as it does not have particular details on the problem and we have other bug reports in the same area.
25-08-2010

EVALUATION new comments from customer: Hi! I tried to get more information about the problem, and found the following thing: There is a long delay during the load of the applet. This is not due to loading the jar files again; this is caused from network delays from some tcp/ip request from the jvm. I used ethereal to get all outgoing requests from my computer (screenshot.PNG) 192.168.100.116 is my computer 192.168.100.18 is our DNS Server 192.179.100.10 is our Standard Gateway 10.150.21.42 is the destination server from where the applet is loaded Every Name Query NBSTAT needs about half a second. There no problem anymore, if the destination server is configured in my local hosts file, and than started the applet (screenshot2.PNG). The POST Request is already from the working Applet. So the problem is from the name queries. This is reproducible in JRE 1.5.0_06 up to 1.6.0-beta2-b81 The Screenshot are made with 1.6.0-beta2-b81. In older JVM (Microsoft JVM, JRE 1.3.0, JRE 1.3.1) there is no problem. I removed the entry in my local hosts file, and started the applet in Microsoft JRE. The same result is with Sun JRE 1.3.0 and Sun JRE 1.3.1. The result is in screenshot3.PNG. As you can see there are no Name Queries. So it's definitely a problem of JRE 1.5.0 and greater.
27-04-2006

EVALUATION Not sure what is the real problem just by reading the report. Will email the original submitter for more information to reproduce the bug.
21-04-2006

EVALUATION It is unclear if this bug is seen using bin/appletviewer or Java Plug-in.
21-04-2006