Return-Path: Delivered-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Received: (qmail 83081 invoked from network); 10 Jun 2010 01:40:44 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 10 Jun 2010 01:40:44 -0000 Received: (qmail 68936 invoked by uid 500); 10 Jun 2010 01:40:44 -0000 Delivered-To: apmail-hadoop-hdfs-commits-archive@hadoop.apache.org Received: (qmail 68901 invoked by uid 500); 10 Jun 2010 01:40:44 -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 68893 invoked by uid 99); 10 Jun 2010 01:40:44 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 10 Jun 2010 01:40:44 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.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; Thu, 10 Jun 2010 01:40:41 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 25CE623889B2; Thu, 10 Jun 2010 01:39:59 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r953195 - in /hadoop/hdfs/trunk: CHANGES.txt src/java/org/apache/hadoop/hdfs/server/namenode/Checkpointer.java src/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java Date: Thu, 10 Jun 2010 01:39:59 -0000 To: hdfs-commits@hadoop.apache.org From: jghoman@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100610013959.25CE623889B2@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jghoman Date: Thu Jun 10 01:39:57 2010 New Revision: 953195 URL: http://svn.apache.org/viewvc?rev=953195&view=rev Log: HDFS-1080. SecondaryNameNode image transfer should use the defined http address rather than local ip address. (jghoman) Modified: hadoop/hdfs/trunk/CHANGES.txt hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/Checkpointer.java hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java Modified: hadoop/hdfs/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/hdfs/trunk/CHANGES.txt?rev=953195&r1=953194&r2=953195&view=diff ============================================================================== --- hadoop/hdfs/trunk/CHANGES.txt (original) +++ hadoop/hdfs/trunk/CHANGES.txt Thu Jun 10 01:39:57 2010 @@ -70,6 +70,9 @@ Trunk (unreleased changes) HDFS-1027. Update copyright year to 2010. (Ravi Phulari via jghoman) + HDFS-1080. SecondaryNameNode image transfer should use the defined http + address rather than local ip address. (jghoman) + Release 0.21.0 - Unreleased INCOMPATIBLE CHANGES Modified: hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/Checkpointer.java URL: http://svn.apache.org/viewvc/hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/Checkpointer.java?rev=953195&r1=953194&r2=953195&view=diff ============================================================================== --- hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/Checkpointer.java (original) +++ hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/Checkpointer.java Thu Jun 10 01:39:57 2010 @@ -39,6 +39,8 @@ import org.apache.hadoop.hdfs.DFSConfigK import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.http.HttpServer; import org.apache.hadoop.util.Daemon; +import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_NAMENODE_BACKUP_HTTP_ADDRESS_KEY; +import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_NAMENODE_BACKUP_HTTP_ADDRESS_DEFAULT; /** * The Checkpointer is responsible for supporting periodic checkpoints @@ -60,6 +62,8 @@ class Checkpointer extends Daemon { private long checkpointPeriod; // in seconds private long checkpointSize; // size (in MB) of current Edit Log + private String infoBindAddress; + private BackupStorage getFSImage() { return (BackupStorage)backupNode.getFSImage(); } @@ -94,6 +98,11 @@ class Checkpointer extends Daemon { checkpointSize = conf.getLong(DFSConfigKeys.DFS_NAMENODE_CHECKPOINT_SIZE_KEY, DFSConfigKeys.DFS_NAMENODE_CHECKPOINT_SIZE_DEFAULT); + // Pull out exact http address for posting url to avoid ip aliasing issues + String fullInfoAddr = conf.get(DFS_NAMENODE_BACKUP_HTTP_ADDRESS_KEY, + DFS_NAMENODE_BACKUP_HTTP_ADDRESS_DEFAULT); + infoBindAddress = fullInfoAddr.substring(0, fullInfoAddr.indexOf(":")); + HttpServer httpServer = backupNode.httpServer; httpServer.setAttribute("name.system.image", getFSImage()); httpServer.setAttribute("name.conf", conf); @@ -197,11 +206,11 @@ class Checkpointer extends Daemon { * Copy the new image into remote name-node. */ private void uploadCheckpoint(CheckpointSignature sig) throws IOException { + // Use the exact http addr as specified in config to deal with ip aliasing InetSocketAddress httpSocAddr = backupNode.getHttpAddress(); int httpPort = httpSocAddr.getPort(); String fileid = "putimage=1&port=" + httpPort + - "&machine=" + - InetAddress.getLocalHost().getHostAddress() + + "&machine=" + infoBindAddress + "&token=" + sig.toString(); LOG.info("Posted URL " + backupNode.nnHttpAddress + fileid); TransferFsImage.getFileClient(backupNode.nnHttpAddress, fileid, (File[])null); Modified: hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java URL: http://svn.apache.org/viewvc/hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java?rev=953195&r1=953194&r2=953195&view=diff ============================================================================== --- hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java (original) +++ hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java Thu Jun 10 01:39:57 2010 @@ -19,7 +19,6 @@ package org.apache.hadoop.hdfs.server.na import java.io.File; import java.io.IOException; -import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.URI; import java.util.ArrayList; @@ -277,8 +276,7 @@ public class SecondaryNameNode implement */ private void putFSImage(CheckpointSignature sig) throws IOException { String fileid = "putimage=1&port=" + infoPort + - "&machine=" + - InetAddress.getLocalHost().getHostAddress() + + "&machine=" + infoBindAddress + "&token=" + sig.toString(); LOG.info("Posted URL " + fsName + fileid); TransferFsImage.getFileClient(fsName, fileid, (File[])null);