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
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
- duplicates
-
JDK-4229801 (1.1.x) RMI: a stopped client causes the server to stop handling other clients
- Closed
- relates to
-
JDK-4137552 client-side DGC shouldn't use finalizers to track unreferenced remote refs
- Closed