/// <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)); } }