Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.24.0
-
None
-
Reviewed
Description
It is often the case that RPC invocation handlers (e.g. o.a.h.ipc.WritableRpcEngine.Invoker) are wrapped in a RetryInvocationHandler instance to handle RPC retry logic. Since RetryInvocationHandler doesn't have any resources of its own, and is incapable of releasing the resources of the wrapped InvocationHandler, users of RetryInvocationHandler must keep around a reference to the underlying InvocationHandler only for the purpose of closing. For an example of this, see o.a.h.hdfs.DFSClient, in particular the member variables namenode and rpcNamenode.