Exemplo n.º 1
0
        /// <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));
            }
        }