JDK-4226268 : (1.1.x) DGC client should not synchronize on global lock
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.rmi
  • Affected Version: 1.1.8
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 1999-04-02
  • Updated: 1999-05-10
  • Resolved: 1999-05-10
Related Reports
Duplicate :  
Relates :  
Description
The DGCClient code synchronizes on a global lock while renewing leases or
registering new remote references.  Renewing leases involves one or more
remote calls to hosts which may not respond until some considerable time
later, if at all.  While leases are being renewed, the global lock is held,
which prevents new remote references from being registered, which prevents
unmarshalling of remote references from completing, which pauses the entire
application.

This bug is the same as bugid 4137568 except that it applies to the 1.1.x
branch.  The lack of phantom references in 1.1.x makes the fix significantly
more difficult to implement in 1.1.x.

------

Since bug 4229801 has a testcase that reproduces the problem easily, I will
close this bug as a duplicate of 4229801. 4229801 is commited to dino.

patrick.ong@Eng 1999-05-10

Comments
WORK AROUND Upgrade to Java 2. Install RMISocketFactory with short I/O timeout.
11-06-2004

SUGGESTED FIX Rearrange DGCClient into horrible mess which is nevertheless correct (left as an exercise for the reader :-)
11-06-2004

PUBLIC COMMENTS The DGCClient code synchronizes on a global lock while renewing leases or registering new remote references. Renewing leases involves one or more remote calls to hosts which may not respond until some considerable time later, if at all. While leases are being renewed, the global lock is held, which prevents new remote references from being registered, which prevents unmarshalling of remote references from completing, which pauses the entire application. This bug is the same as bugid 4137568 except that it applies to the 1.1.x branch. The lack of phantom references in 1.1.x makes the fix significantly more difficult to implement in 1.1.x.
10-06-2004

EVALUATION should be backported from 1.2 to 1.1.x. ann.wollrath@East 1999-04-02
02-04-1999