Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2020550 | 1.2.0 | Laird Dornin | P3 | Resolved | Fixed | 1.2fcs |
The methods, Object UnicastRef.invoke(...) and void UnicastRef.invoke(...), are responsible for invoking remote methods in RMI. These methods carry out remote calls over channels that maintain lists of "free" connections to a particular RMI server.
When a remote call is invoked, it is possible that the return value of the call will contain a reference to a remote server. Anytime an RMI client unmarshalls a remote server reference from a connection input stream, the client will invoke a "dirty call" on the DGC object inside the VM that is hosting the server corresponding to unmarshalled remote refs.
For any given remote call, connections used are not freed until a corresponding dirty call has taken place. This means that the DGC dirty call is forced to use a connection other than the one used by the call that initiated the dirty call. The number of free connections available to a dirty call could be increased simply by freeing the connections used by remote calls before a corresponding dirty call is invoked.
When a remote call is invoked, it is possible that the return value of the call will contain a reference to a remote server. Anytime an RMI client unmarshalls a remote server reference from a connection input stream, the client will invoke a "dirty call" on the DGC object inside the VM that is hosting the server corresponding to unmarshalled remote refs.
For any given remote call, connections used are not freed until a corresponding dirty call has taken place. This means that the DGC dirty call is forced to use a connection other than the one used by the call that initiated the dirty call. The number of free connections available to a dirty call could be increased simply by freeing the connections used by remote calls before a corresponding dirty call is invoked.
- backported by
-
JDK-2020550 RMI could reuse remote connections in time for DGC dirty calls
-
- Resolved
-