public NamenodeProtocolTranslatorPB(NamenodeProtocolPB rpcProxy)
 {
     /*
      * Protobuf requests with no parameters instantiated only once
      */
     this.rpcProxy = rpcProxy;
 }
Exemple #2
0
 /// <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);
 }
Exemple #3
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));
            }
        }