United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-4908252 Java plugin downloads sticky applet multiple time for sites using load balancing
JDK-4908252 : Java plugin downloads sticky applet multiple time for sites using load balancing

Details
Type:
Bug
Submit Date:
2003-08-18
Status:
Closed
Updated Date:
2004-01-07
Project Name:
JDK
Resolved Date:
2003-11-15
Component:
deploy
OS:
windows_2000
Sub-Component:
plugin
CPU:
x86
Priority:
P4
Resolution:
Fixed
Affected Versions:
1.4.1
Fixed Versions:
1.4.1_07 (07)

Related Reports
Backport:
Backport:

Sub Tasks

Description

Name: gm110360			Date: 08/18/2003


FULL PRODUCT VERSION :
Java Plugin 1.4.1_03

FULL OS VERSION :
Windows XP
Windows 2000
Windows ME
Windows 98
Windows NT

A DESCRIPTION OF THE PROBLEM :
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.

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

                                    

Comments
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
----------------------------------------
                                     
2003-11-03
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


                                     
2004-06-14



Hardware and Software, Engineered to Work Together