JDK-6435198 : SUN ORB's connection table cleanup code cleans up "in use"
  • Type: Bug
  • Component: other-libs
  • Sub-Component: corba:orb
  • Affected Version: 1.4.2_11
  • Priority: P3
  • Status: Closed
  • Resolution: Won't Fix
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2006-06-07
  • Updated: 2018-02-13
  • Resolved: 2018-02-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.
Other Other
1.4.2_18-rev,tbd_minorFixed 1.4.2_19Fixed
Related Reports
Relates :  
Relates :  
Description
SUN ORB's cleanup() code cleaned up an IIOPConnection that was in use and that caused a COMM_FAILURE exception to be thrown out the Application level code.

Basically whenever the connection table size exceeds the HighWaterMark (Default value is 240), the connection table cleanup code kicks in and tries to clean up upto NumberToReclaim (Default value is 5) number of connections. While the code seems to be trying to be careful in not cleaning up in use (busy) connections, it seems to be falling short and seems to be 
cleaning up connections that seem to be in use for the purpose of making IDL calls.

We are experiencing a problem with the SUN ORB's connection table cleanup code With 
java version "1.4.2_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_11-b06)
Java HotSpot(TM) Client VM (build 1.4.2_11-b06, mixed mode

Comments
We have removed CORBA and Java EE Modules from Java SE so there are no plans to fix this issue.
13-02-2018

SUGGESTED FIX We need to replace the current ConnectionCache with an improved design that explictly manages connection state through a get/release API. The fix also includes supporting multiple connections to the same endpoint to improve performance and removing the current writeLock logic on the connection.
15-08-2006

EVALUATION The cause of this problem is that the ConnectionCache does not propertly manage and serialize access to the state of the Connection. A fix is planned for JDK 7.
15-08-2006