Return-Path: X-Original-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Delivered-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 053807D01 for ; Fri, 28 Oct 2011 22:06:29 +0000 (UTC) Received: (qmail 58078 invoked by uid 500); 28 Oct 2011 22:06:28 -0000 Delivered-To: apmail-hadoop-hdfs-commits-archive@hadoop.apache.org Received: (qmail 58048 invoked by uid 500); 28 Oct 2011 22:06:28 -0000 Mailing-List: contact hdfs-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-dev@hadoop.apache.org Delivered-To: mailing list hdfs-commits@hadoop.apache.org Received: (qmail 58040 invoked by uid 99); 28 Oct 2011 22:06:28 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Oct 2011 22:06:28 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Oct 2011 22:06:25 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id A97EB2388978; Fri, 28 Oct 2011 22:06:04 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1190620 - /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolR23Compatible/JournalProtocolTranslatorR23.java Date: Fri, 28 Oct 2011 22:06:04 -0000 To: hdfs-commits@hadoop.apache.org From: suresh@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111028220604.A97EB2388978@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: suresh Date: Fri Oct 28 22:06:04 2011 New Revision: 1190620 URL: http://svn.apache.org/viewvc?rev=1190620&view=rev Log: HDFS-2499. RPC client is created incorrectly introduced in HDFS-2459. Contributed by Suresh Srinivas. Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolR23Compatible/JournalProtocolTranslatorR23.java Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolR23Compatible/JournalProtocolTranslatorR23.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolR23Compatible/JournalProtocolTranslatorR23.java?rev=1190620&r1=1190619&r2=1190620&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolR23Compatible/JournalProtocolTranslatorR23.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolR23Compatible/JournalProtocolTranslatorR23.java Fri Oct 28 22:06:04 2011 @@ -20,26 +20,14 @@ package org.apache.hadoop.hdfs.protocolR import java.io.Closeable; import java.io.IOException; import java.net.InetSocketAddress; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException; -import org.apache.hadoop.hdfs.protocol.HdfsConstants; -import org.apache.hadoop.hdfs.server.namenode.NameNode; import org.apache.hadoop.hdfs.server.protocol.JournalProtocol; import org.apache.hadoop.hdfs.server.protocol.NamenodeRegistration; -import org.apache.hadoop.io.retry.RetryPolicies; -import org.apache.hadoop.io.retry.RetryPolicy; -import org.apache.hadoop.io.retry.RetryProxy; import org.apache.hadoop.ipc.ProtocolSignature; import org.apache.hadoop.ipc.RPC; -import org.apache.hadoop.ipc.RemoteException; -import org.apache.hadoop.net.NetUtils; -import org.apache.hadoop.security.UserGroupInformation; /** * This class forwards NN's ClientProtocol calls as RPC calls to the NN server @@ -50,54 +38,17 @@ import org.apache.hadoop.security.UserGr @InterfaceStability.Stable public class JournalProtocolTranslatorR23 implements JournalProtocol, Closeable { - final private JournalWireProtocol rpcProxyWithoutRetry; - final private JournalWireProtocol rpcProxy; - - private static JournalWireProtocol createNamenode( - InetSocketAddress nameNodeAddr, Configuration conf, - UserGroupInformation ugi) throws IOException { - return RPC.getProxy(JournalWireProtocol.class, - JournalWireProtocol.versionID, nameNodeAddr, ugi, conf, - NetUtils.getSocketFactory(conf, JournalWireProtocol.class)); - } - - /** Create a {@link NameNode} proxy */ - static JournalWireProtocol createNamenodeWithRetry( - JournalWireProtocol rpcNamenode) { - RetryPolicy createPolicy = RetryPolicies - .retryUpToMaximumCountWithFixedSleep(5, - HdfsConstants.LEASE_SOFTLIMIT_PERIOD, TimeUnit.MILLISECONDS); - - Map, RetryPolicy> remoteExceptionToPolicyMap = - new HashMap, RetryPolicy>(); - remoteExceptionToPolicyMap.put(AlreadyBeingCreatedException.class, - createPolicy); - - Map, RetryPolicy> exceptionToPolicyMap = - new HashMap, RetryPolicy>(); - exceptionToPolicyMap.put(RemoteException.class, RetryPolicies - .retryByRemoteException(RetryPolicies.TRY_ONCE_THEN_FAIL, - remoteExceptionToPolicyMap)); - RetryPolicy methodPolicy = RetryPolicies.retryByException( - RetryPolicies.TRY_ONCE_THEN_FAIL, exceptionToPolicyMap); - Map methodNameToPolicyMap = new HashMap(); - - methodNameToPolicyMap.put("create", methodPolicy); - - return (JournalWireProtocol) RetryProxy.create( - JournalWireProtocol.class, rpcNamenode, methodNameToPolicyMap); - } + private final JournalWireProtocol rpcProxy; public JournalProtocolTranslatorR23(InetSocketAddress nameNodeAddr, Configuration conf) throws IOException { - UserGroupInformation ugi = UserGroupInformation.getCurrentUser(); - rpcProxyWithoutRetry = createNamenode(nameNodeAddr, conf, ugi); - rpcProxy = createNamenodeWithRetry(rpcProxyWithoutRetry); + rpcProxy = RPC.getProxy(JournalWireProtocol.class, + JournalWireProtocol.versionID, nameNodeAddr, conf); } @Override public void close() { - RPC.stopProxy(rpcProxyWithoutRetry); + RPC.stopProxy(rpcProxy); } @Override