public NamenodeProtocolTranslatorPB(NamenodeProtocolPB rpcProxy) { /* * Protobuf requests with no parameters instantiated only once */ this.rpcProxy = rpcProxy; }
/// <exception cref="System.IO.IOException"/> private NamenodeProtocol GetActiveNodeProxy() { if (cachedActiveProxy == null) { int rpcTimeout = conf.GetInt(DFSConfigKeys.DfsHaLogrollRpcTimeoutKey, DFSConfigKeys .DfsHaLogrollRpcTimeoutDefault); NamenodeProtocolPB proxy = RPC.WaitForProxy <NamenodeProtocolPB>(RPC.GetProtocolVersion (typeof(NamenodeProtocolPB)), activeAddr, conf, rpcTimeout, long.MaxValue); cachedActiveProxy = new NamenodeProtocolTranslatorPB(proxy); } System.Diagnostics.Debug.Assert(cachedActiveProxy != null); return(cachedActiveProxy); }
/// <exception cref="System.IO.IOException"/> private static NamenodeProtocol CreateNNProxyWithNamenodeProtocol(IPEndPoint address , Configuration conf, UserGroupInformation ugi, bool withRetries) { NamenodeProtocolPB proxy = (NamenodeProtocolPB)CreateNameNodeProxy(address, conf, ugi, typeof(NamenodeProtocolPB)); if (withRetries) { // create the proxy with retries RetryPolicy timeoutPolicy = RetryPolicies.ExponentialBackoffRetry(5, 200, TimeUnit .Milliseconds); IDictionary <string, RetryPolicy> methodNameToPolicyMap = new Dictionary <string, RetryPolicy >(); methodNameToPolicyMap["getBlocks"] = timeoutPolicy; methodNameToPolicyMap["getAccessKeys"] = timeoutPolicy; NamenodeProtocol translatorProxy = new NamenodeProtocolTranslatorPB(proxy); return((NamenodeProtocol)RetryProxy.Create <NamenodeProtocol>(translatorProxy, methodNameToPolicyMap )); } else { return(new NamenodeProtocolTranslatorPB(proxy)); } }