JDK-4908252 : Java plugin downloads sticky applet multiple time for sites using load balancing
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 1.4.1
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_2000
  • CPU: x86
  • Submitted: 2003-08-18
  • Updated: 2004-01-07
  • Resolved: 2003-11-15
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.
1.4.1_07 07Fixed

Name: gm110360			Date: 08/18/2003

Java Plugin 1.4.1_03

Windows XP
Windows 2000
Windows ME
Windows 98
Windows NT

Ours is a Internet banking site that has 2 servers and it uses load balancing to hit any of the servers on client request. We use a signed applet that is Microsoft JVM enabled i.e it gets downloaded (sticky caching) and works perfectly on applet version changes(downloads new version ). Lately we were tring to enable it for SUN JVM (1.4.1_03)and that is where our problem starts. SUN JVM downloads the applet perfectly and suffixes the name of the applet with some numbers\characters on its own. No problems with that. But if the request that downloads the applet hits the different server, it starts downloading the applet again. That means we have two applets for different servers.
The request URL is same for both of them. We go thru the same url and it is only later that the load balancing comes into picture.
Since the cache_version tag does not work properly(known bug in SUN JVM) so we depend on the content size and date stamp of the applet. Both things are same for the servers.
We tried to syncronize the server dates as well but all in vain.

This bug can be reproduced always.
(Incident Review ID: 193238) 

CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: 1.4.1_07 1.4.2_04 tiger-beta FIXED IN: 1.4.1_07 1.4.2_04 tiger-beta INTEGRATED IN: 1.4.1_07 1.4.2_04 tiger-b30 tiger-b32 tiger-beta VERIFIED IN: 1.4.1_07 1.4.2_04

EVALUATION The cached jar file is tied to the URL from where it was downloaded. When the applet is downloaded from a different host, the url for the jar file also changes and it doesn't match the url recorded in the cached jar. Therefore the jar file is downloaded again ###@###.### 2003-09-16 ---------------------------------------- The customer is using DNS load balancing e.g. if you have 2 http servers with the same content you can spread the load between them by configurating your DNS server to resolve the host name to alternative addresses of each server. This is causing plugin to download and cache jar files for each server even though the url is the same. The key used to lookup the url in the cache is constructed with the jar filename and the java.net.URL.hashCode. java.net.URL.hashCode will return different hashCode's for identical URL objects that resolve to different addresses. ###@###.### 2003-11-03 ----------------------------------------