svn commit: r1468336 - /hadoop/common/branches/branch-1.2/src/docs/releasenotes.html

2013-04-16 Thread mattf
Author: mattf
Date: Tue Apr 16 09:35:51 2013
New Revision: 1468336

URL: http://svn.apache.org/r1468336
Log:
Release notes for 1.2.0

Modified:
hadoop/common/branches/branch-1.2/src/docs/releasenotes.html

Modified: hadoop/common/branches/branch-1.2/src/docs/releasenotes.html
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1.2/src/docs/releasenotes.html?rev=1468336r1=1468335r2=1468336view=diff
==
--- hadoop/common/branches/branch-1.2/src/docs/releasenotes.html (original)
+++ hadoop/common/branches/branch-1.2/src/docs/releasenotes.html Tue Apr 16 
09:35:51 2013
@@ -194,6 +194,11 @@ To run secure Datanodes users must insta
  bAllow setting of end-of-record delimiter for TextInputFormat/bbr
  blockquoteThe patch for 
https://issues.apache.org/jira/browse/MAPREDUCE-2254 required minor changes to 
the LineReader class to allow extensions (see attached 2.patch). Description 
copied below:brbrIt will be useful to allow setting the end-of-record 
delimiter for TextInputFormat. The current implementation hardcodes 
apos;\napos;, apos;\rapos; or apos;\r\napos; as the only possible record 
delimiters. This is a problem if users have embedded newlines in their data 
fields (which is pretty common). This is also a problem for other 
.../blockquote/li
 
+li a 
href=https://issues.apache.org/jira/browse/HADOOP-7101;HADOOP-7101/a.
+ Blocker bug reported by tlipcon and fixed by tlipcon (security)br
+ bUserGroupInformation.getCurrentUser() fails when called from 
non-Hadoop JAAS context/bbr
+ blockquoteIf a Hadoop client is run from inside a container like 
Tomcat, and the current AccessControlContext has a Subject associated with it 
that is not created by Hadoop, then UserGroupInformation.getCurrentUser() will 
throw NoSuchElementException, since it assumes that any Subject will have a 
hadoop User principal./blockquote/li
+
 li a 
href=https://issues.apache.org/jira/browse/HADOOP-7688;HADOOP-7688/a.
  Major improvement reported by szetszwo and fixed by umamaheswararao br
  bWhen a servlet filter throws an exception in init(..), the Jetty 
server failed silently. /bbr
@@ -369,6 +374,11 @@ To run secure Datanodes users must insta
  bTestSinkQueue.testConcurrentConsumers fails intermittently (Backports 
HADOOP-7292)/bbr
  
blockquoteorg.apache.hadoop.metrics2.impl.TestSinkQueue.testConcurrentConsumersbr
 brbrError Messagebrbrshouldapos;ve 
thrownbrStacktracebrbrjunit.framework.AssertionFailedError: 
shouldapos;ve thrownbr at 
org.apache.hadoop.metrics2.impl.TestSinkQueue.shouldThrowCME(TestSinkQueue.java:229)br
 at 
org.apache.hadoop.metrics2.impl.TestSinkQueue.testConcurrentConsumers(TestSinkQueue.java:195)brStandard
 Outputbrbr2012-10-03 16:51:31,694 INFO  impl.TestSinkQueue 
(TestSinkQueue.java:consume(243)) - sleepingbr/blockquote/li
 
+li a 
href=https://issues.apache.org/jira/browse/HADOOP-9071;HADOOP-9071/a.
+ Major improvement reported by gkesavan and fixed by gkesavan (build)br
+ bconfigure ivy log levels for resolve/retrieve/bbr
+ blockquote/blockquote/li
+
 li a 
href=https://issues.apache.org/jira/browse/HADOOP-9090;HADOOP-9090/a.
  Minor new feature reported by mostafae and fixed by mostafae (metrics)br
  bSupport on-demand publish of metrics/bbr
@@ -439,6 +449,31 @@ To run secure Datanodes users must insta
  bPort HADOOP-7290 to branch-1 to fix TestUserGroupInformation 
failure/bbr
  blockquoteUnit test failure in 
TestUserGroupInformation.testGetServerSideGroups. port HADOOP-7290 to 
branch-1.1 /blockquote/li
 
+li a 
href=https://issues.apache.org/jira/browse/HADOOP-9379;HADOOP-9379/a.
+ Trivial improvement reported by arpitgupta and fixed by arpitgupta br
+ bcapture the ulimit info after printing the log to the console/bbr
+ blockquoteBased on the discussions in HADOOP-9253 people prefer if we 
dont print the ulimit info to the console but still have it in the 
logs.brbrJust need to move the head statement to before the capture of 
ulimit code./blockquote/li
+
+li a 
href=https://issues.apache.org/jira/browse/HADOOP-9434;HADOOP-9434/a.
+ Minor improvement reported by carp84 and fixed by carp84 (bin)br
+ bBackport HADOOP-9267 to branch-1/bbr
+ blockquoteCurrently in hadoop 1.1.2, if user issue quot;bin/hadoop 
helpquot; in command line, it will throw below exception. We can improve this 
to print the usage 
message.br===brException in 
thread quot;mainquot; java.lang.NoClassDefFoundError: 
helpbr===brbrThis issue is 
already resolved in HADOOP-9267 in trunk, so we only need to backport it into 
branch-1/blockquote/li
+
+li a 
href=https://issues.apache.org/jira/browse/HADOOP-9451;HADOOP-9451/a.
+ Major bug reported by djp and fixed by djp (net)br
+ bNode with one topology layer should be handled as fault topology when 

svn commit: r1468337 - /hadoop/common/branches/branch-1.2/src/docs/releasenotes.html

2013-04-16 Thread mattf
Author: mattf
Date: Tue Apr 16 09:38:21 2013
New Revision: 1468337

URL: http://svn.apache.org/r1468337
Log:
Release notes for 1.2.0, tweak

Modified:
hadoop/common/branches/branch-1.2/src/docs/releasenotes.html

Modified: hadoop/common/branches/branch-1.2/src/docs/releasenotes.html
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1.2/src/docs/releasenotes.html?rev=1468337r1=1468336r2=1468337view=diff
==
--- hadoop/common/branches/branch-1.2/src/docs/releasenotes.html (original)
+++ hadoop/common/branches/branch-1.2/src/docs/releasenotes.html Tue Apr 16 
09:38:21 2013
@@ -10,7 +10,7 @@
/STYLE
 /head
 body
-h1Hadoop 1.2.0 Release Notes - Preliminary/h1
+h1Hadoop 1.2.0 Release Notes/h1
These release notes include new developer and user-facing 
incompatibilities, features, and major improvements. 
 
 a name=changes/




svn commit: r1468339 - /hadoop/common/branches/branch-1.2/CHANGES.txt

2013-04-16 Thread mattf
Author: mattf
Date: Tue Apr 16 09:39:48 2013
New Revision: 1468339

URL: http://svn.apache.org/r1468339
Log:
prepare for 1.2.0 release build

Modified:
hadoop/common/branches/branch-1.2/CHANGES.txt

Modified: hadoop/common/branches/branch-1.2/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1.2/CHANGES.txt?rev=1468339r1=1468338r2=1468339view=diff
==
--- hadoop/common/branches/branch-1.2/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1.2/CHANGES.txt Tue Apr 16 09:39:48 2013
@@ -1,6 +1,6 @@
 Hadoop Change Log
 
-Release 1.2.0 - unreleased
+Release 1.2.0 - 2013.04.16
 
   INCOMPATIBLE CHANGES
 




svn commit: r1468342 - /hadoop/common/tags/release-1.2.0-rc0/

2013-04-16 Thread mattf
Author: mattf
Date: Tue Apr 16 09:44:16 2013
New Revision: 1468342

URL: http://svn.apache.org/r1468342
Log:
Hadoop 1.2.0-rc0 release candidate.

Added:
hadoop/common/tags/release-1.2.0-rc0/   (props changed)
  - copied from r1468341, hadoop/common/branches/branch-1.2/

Propchange: hadoop/common/tags/release-1.2.0-rc0/
--
--- svn:ignore (added)
+++ svn:ignore Tue Apr 16 09:44:16 2013
@@ -0,0 +1,9 @@
+build
+build.properties
+logs
+.classpath
+.git
+.project
+.settings
+.launches
+.externalToolBuilders

Propchange: hadoop/common/tags/release-1.2.0-rc0/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Tue Apr 16 09:44:16 2013
@@ -0,0 +1,10 @@
+/hadoop/common/branches/branch-0.20:826138,826568,829987,831184,833001,880632,898713,909245,909723,960946,990003,1044225
+/hadoop/common/branches/branch-0.20-append:955380,955398,955448,956329
+/hadoop/common/branches/branch-0.20-security-203:1096071,1097011,1097249,1097269,1097281,1097966,1098816,1098819,1098823,1098827,1098832,1098839,1098854,1098863,1099088,1099191,1099324,1099330,1099333,1102071,1128115
+/hadoop/common/branches/branch-0.20-security-204:1128390,1147228,1148069,1149316,1154413
+/hadoop/common/branches/branch-0.20-security-205:1174370,1174917,1176042,1176248,1176638,1176645,1202378
+/hadoop/common/branches/branch-1:1455883,1461952
+/hadoop/common/branches/branch-1.0:1214410,1291091,1330040,1334877
+/hadoop/common/branches/branch-1.1:1347101,1358689,1408468
+/hadoop/core/branches/branch-0.19:713112
+/hadoop/core/trunk:727001,727117,727191,727212,727217,727228,727255,727869,728187,729052,729987,732385,732572,732613,732777,732838,732869,733887,734870,734916,736426,738328,738697,740077,740157,741703,741762,743745,743816,743892,744894,745180,746010,746206,746227,746233,746274,746338,746902-746903,746925,746944,746968,746970,747279,747289,747802,748084,748090,748783,749262,749318,749863,750533,752073,752609,752834,752836,752913,752932,753112-753113,753346,754645,754847,754927,755035,755226,755348,755370,755418,755426,755790,755905,755938,755960,755986,755998,756352,757448,757624,757849,758156,758180,759398,759932,760502,760783,761046,761482,761632,762216,762879,763107,763502,764967,765016,765809,765951,771607,771661,772844,772876,772884,772920,773889,776638,778962,778966,779893,781720,784661,785046,785569




svn commit: r1468629 - in /hadoop/common/trunk/hadoop-tools/hadoop-distcp/src: main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java test/java/org/apache/hadoop/tools/mapred/TestCopyM

2013-04-16 Thread kihwal
Author: kihwal
Date: Tue Apr 16 22:01:18 2013
New Revision: 1468629

URL: http://svn.apache.org/r1468629
Log:
MAPREDUCE-5065. DistCp should skip checksum comparisons if block-sizes are 
different on source/target. Contributed by Mithun Radhakrishnan.

Modified:

hadoop/common/trunk/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java

hadoop/common/trunk/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyMapper.java

Modified: 
hadoop/common/trunk/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java?rev=1468629r1=1468628r2=1468629view=diff
==
--- 
hadoop/common/trunk/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java
 (original)
+++ 
hadoop/common/trunk/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java
 Tue Apr 16 22:01:18 2013
@@ -140,10 +140,17 @@ public class RetriableFileCopyCommand ex
   private void compareCheckSums(FileSystem sourceFS, Path source,
 FileSystem targetFS, Path target)
 throws IOException {
-if (!DistCpUtils.checksumsAreEqual(sourceFS, source, targetFS, target))
-  throw new IOException(Check-sum mismatch between 
-  + source +  and  + target);
-
+if (!DistCpUtils.checksumsAreEqual(sourceFS, source, targetFS, target)) {
+  StringBuilder errorMessage = new StringBuilder(Check-sum mismatch 
between )
+  .append(source).append( and ).append(target).append(.);
+  if (sourceFS.getFileStatus(source).getBlockSize() != 
targetFS.getFileStatus(target).getBlockSize()) {
+errorMessage.append( Source and target differ in block-size.)
+.append( Use -pb to preserve block-sizes during copy.)
+.append( Alternatively, skip checksum-checks altogether, using 
-skipCrc.)
+   .append( (NOTE: By skipping 
checksums, one runs the risk of masking data-corruption during 
file-transfer.));
+  }
+  throw new IOException(errorMessage.toString());
+}
   }
 
   //If target file exists and unable to delete target - fail

Modified: 
hadoop/common/trunk/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyMapper.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyMapper.java?rev=1468629r1=1468628r2=1468629view=diff
==
--- 
hadoop/common/trunk/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyMapper.java
 (original)
+++ 
hadoop/common/trunk/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyMapper.java
 Tue Apr 16 22:01:18 2013
@@ -53,7 +53,7 @@ public class TestCopyMapper {
   private static final Log LOG = LogFactory.getLog(TestCopyMapper.class);
   private static ListPath pathList = new ArrayListPath();
   private static int nFiles = 0;
-  private static final int FILE_SIZE = 1024;
+  private static final int DEFAULT_FILE_SIZE = 1024;
 
   private static MiniDFSCluster cluster;
 
@@ -92,7 +92,7 @@ public class TestCopyMapper {
 configuration.setBoolean(DistCpOptionSwitch.OVERWRITE.getConfigLabel(),
 false);
 configuration.setBoolean(DistCpOptionSwitch.SKIP_CRC.getConfigLabel(),
-true);
+false);
 configuration.setBoolean(DistCpOptionSwitch.SYNC_FOLDERS.getConfigLabel(),
 true);
 configuration.set(DistCpOptionSwitch.PRESERVE_STATUS.getConfigLabel(),
@@ -112,6 +112,18 @@ public class TestCopyMapper {
 touchFile(SOURCE_PATH + /7/8/9);
   }
 
+  private static void createSourceDataWithDifferentBlockSize() throws 
Exception {
+mkdirs(SOURCE_PATH + /1);
+mkdirs(SOURCE_PATH + /2);
+mkdirs(SOURCE_PATH + /2/3/4);
+mkdirs(SOURCE_PATH + /2/3);
+mkdirs(SOURCE_PATH + /5);
+touchFile(SOURCE_PATH + /5/6, true);
+mkdirs(SOURCE_PATH + /7);
+mkdirs(SOURCE_PATH + /7/8);
+touchFile(SOURCE_PATH + /7/8/9);
+  }
+
   private static void mkdirs(String path) throws Exception {
 FileSystem fileSystem = cluster.getFileSystem();
 final Path qualifiedPath = new 
Path(path).makeQualified(fileSystem.getUri(),
@@ -121,17 +133,31 @@ public class TestCopyMapper {
   }
 
   private static void touchFile(String path) throws Exception {
+touchFile(path, false);
+  }
+
+  private static void touchFile(String path, boolean createMultipleBlocks) 
throws Exception {
+final long NON_DEFAULT_BLOCK_SIZE = 4096;
 FileSystem fs;

svn commit: r1468631 - in /hadoop/common/branches/branch-2/hadoop-tools/hadoop-distcp/src: main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java test/java/org/apache/hadoop/tools/mapr

2013-04-16 Thread kihwal
Author: kihwal
Date: Tue Apr 16 22:03:40 2013
New Revision: 1468631

URL: http://svn.apache.org/r1468631
Log:
svn merge -c 1468629 Merging from trunk to branch-2 to fix MR-5065.

Modified:

hadoop/common/branches/branch-2/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyMapper.java

Modified: 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java?rev=1468631r1=1468630r2=1468631view=diff
==
--- 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java
 (original)
+++ 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java
 Tue Apr 16 22:03:40 2013
@@ -140,10 +140,17 @@ public class RetriableFileCopyCommand ex
   private void compareCheckSums(FileSystem sourceFS, Path source,
 FileSystem targetFS, Path target)
 throws IOException {
-if (!DistCpUtils.checksumsAreEqual(sourceFS, source, targetFS, target))
-  throw new IOException(Check-sum mismatch between 
-  + source +  and  + target);
-
+if (!DistCpUtils.checksumsAreEqual(sourceFS, source, targetFS, target)) {
+  StringBuilder errorMessage = new StringBuilder(Check-sum mismatch 
between )
+  .append(source).append( and ).append(target).append(.);
+  if (sourceFS.getFileStatus(source).getBlockSize() != 
targetFS.getFileStatus(target).getBlockSize()) {
+errorMessage.append( Source and target differ in block-size.)
+.append( Use -pb to preserve block-sizes during copy.)
+.append( Alternatively, skip checksum-checks altogether, using 
-skipCrc.)
+   .append( (NOTE: By skipping 
checksums, one runs the risk of masking data-corruption during 
file-transfer.));
+  }
+  throw new IOException(errorMessage.toString());
+}
   }
 
   //If target file exists and unable to delete target - fail

Modified: 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyMapper.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyMapper.java?rev=1468631r1=1468630r2=1468631view=diff
==
--- 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyMapper.java
 (original)
+++ 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyMapper.java
 Tue Apr 16 22:03:40 2013
@@ -53,7 +53,7 @@ public class TestCopyMapper {
   private static final Log LOG = LogFactory.getLog(TestCopyMapper.class);
   private static ListPath pathList = new ArrayListPath();
   private static int nFiles = 0;
-  private static final int FILE_SIZE = 1024;
+  private static final int DEFAULT_FILE_SIZE = 1024;
 
   private static MiniDFSCluster cluster;
 
@@ -92,7 +92,7 @@ public class TestCopyMapper {
 configuration.setBoolean(DistCpOptionSwitch.OVERWRITE.getConfigLabel(),
 false);
 configuration.setBoolean(DistCpOptionSwitch.SKIP_CRC.getConfigLabel(),
-true);
+false);
 configuration.setBoolean(DistCpOptionSwitch.SYNC_FOLDERS.getConfigLabel(),
 true);
 configuration.set(DistCpOptionSwitch.PRESERVE_STATUS.getConfigLabel(),
@@ -112,6 +112,18 @@ public class TestCopyMapper {
 touchFile(SOURCE_PATH + /7/8/9);
   }
 
+  private static void createSourceDataWithDifferentBlockSize() throws 
Exception {
+mkdirs(SOURCE_PATH + /1);
+mkdirs(SOURCE_PATH + /2);
+mkdirs(SOURCE_PATH + /2/3/4);
+mkdirs(SOURCE_PATH + /2/3);
+mkdirs(SOURCE_PATH + /5);
+touchFile(SOURCE_PATH + /5/6, true);
+mkdirs(SOURCE_PATH + /7);
+mkdirs(SOURCE_PATH + /7/8);
+touchFile(SOURCE_PATH + /7/8/9);
+  }
+
   private static void mkdirs(String path) throws Exception {
 FileSystem fileSystem = cluster.getFileSystem();
 final Path qualifiedPath = new 
Path(path).makeQualified(fileSystem.getUri(),
@@ -121,17 +133,31 @@ public class TestCopyMapper {
   }
 
   private static void touchFile(String path) throws Exception {
+touchFile(path, false);
+  }
+
+  private static void touchFile(String path, boolean createMultipleBlocks) 
throws Exception {
+final long 

svn commit: r1468636 - in /hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src: main/java/org/apache/hadoop/tools/mapred/ test/java/org/apache/hadoop/tools/mapred/

2013-04-16 Thread kihwal
Author: kihwal
Date: Tue Apr 16 22:07:14 2013
New Revision: 1468636

URL: http://svn.apache.org/r1468636
Log:
MAPREDUCE-5065. DistCp should skip checksum comparisons if block-sizes are 
different on source/target. Contributed by Mithun Radhakrishnan.

Modified:

hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/CopyMapper.java

hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java

hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestCopyMapper.java

Modified: 
hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/CopyMapper.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/CopyMapper.java?rev=1468636r1=1468635r2=1468636view=diff
==
--- 
hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/CopyMapper.java
 (original)
+++ 
hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/CopyMapper.java
 Tue Apr 16 22:07:14 2013
@@ -255,7 +255,7 @@ public class CopyMapper extends MapperT
 
 long bytesCopied;
 try {
-  bytesCopied = (Long)new RetriableFileCopyCommand(description)
+  bytesCopied = (Long)new RetriableFileCopyCommand(skipCrc, description)
.execute(sourceFileStatus, target, context, 
fileAttributes);
 } catch (Exception e) {
   context.setStatus(Copy Failure:  + sourceFileStatus.getPath());

Modified: 
hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java?rev=1468636r1=1468635r2=1468636view=diff
==
--- 
hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java
 (original)
+++ 
hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java
 Tue Apr 16 22:07:14 2013
@@ -41,6 +41,7 @@ public class RetriableFileCopyCommand ex
 
   private static Log LOG = LogFactory.getLog(RetriableFileCopyCommand.class);
   private static int BUFFER_SIZE = 8 * 1024;
+  private boolean skipCrc = false;
 
   /**
* Constructor, taking a description of the action.
@@ -51,6 +52,17 @@ public class RetriableFileCopyCommand ex
   }
 
   /**
+   * Create a RetriableFileCopyCommand.
+   *
+   * @param skipCrc Whether to skip the crc check.
+   * @param description A verbose description of the copy operation.
+   */
+  public RetriableFileCopyCommand(boolean skipCrc, String description) {
+this(description);
+this.skipCrc = skipCrc;
+  }
+
+  /**
* Implementation of RetriableCommand::doExecute().
* This is the actual copy-implementation.
* @param arguments Argument-list to the command.
@@ -92,7 +104,7 @@ public class RetriableFileCopyCommand ex
 
   compareFileLengths(sourceFileStatus, tmpTargetPath, configuration, 
bytesRead);
   //At this point, srcdest lengths are same. if length==0, we skip 
checksum
-  if (bytesRead != 0) { 
+  if (bytesRead != 0  !skipCrc) {
 compareCheckSums(sourceFS, sourceFileStatus.getPath(), targetFS, 
tmpTargetPath);
   }
   promoteTmpToTarget(tmpTargetPath, target, targetFS);
@@ -128,10 +140,17 @@ public class RetriableFileCopyCommand ex
   private void compareCheckSums(FileSystem sourceFS, Path source,
 FileSystem targetFS, Path target)
 throws IOException {
-if (!DistCpUtils.checksumsAreEqual(sourceFS, source, targetFS, target))
-  throw new IOException(Check-sum mismatch between 
-  + source +  and  + target);
-
+if (!DistCpUtils.checksumsAreEqual(sourceFS, source, targetFS, target)) {
+  StringBuilder errorMessage = new StringBuilder(Check-sum mismatch 
between )
+.append(source).append( and 
).append(target).append(.);
+  if (sourceFS.getFileStatus(source).getBlockSize() != 
targetFS.getFileStatus(target).getBlockSize()) {
+errorMessage.append( Source and target differ in block-size.)
+.append( Use -pb to preserve block-sizes during copy.)
+.append( Alternatively, skip checksum-checks altogether, 
using -skipCrc.)
+.append( (NOTE: By skipping checksums, one runs the risk 
of 

svn commit: r1468698 - in /hadoop/common/branches/branch-1: CHANGES.txt src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java src/tes

2013-04-16 Thread suresh
Author: suresh
Date: Wed Apr 17 00:23:22 2013
New Revision: 1468698

URL: http://svn.apache.org/r1468698
Log:
HDFS-4635. Move BlockManager#computeCapacity to LightWeightGSet. Contributed by 
Suresh Srinivas.

Modified:
hadoop/common/branches/branch-1/CHANGES.txt

hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java

hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java

hadoop/common/branches/branch-1/src/test/org/apache/hadoop/hdfs/util/TestGSet.java

Modified: hadoop/common/branches/branch-1/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/CHANGES.txt?rev=1468698r1=1468697r2=1468698view=diff
==
--- hadoop/common/branches/branch-1/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1/CHANGES.txt Wed Apr 17 00:23:22 2013
@@ -236,6 +236,9 @@ Release 1.2.0 - unreleased
 MAPREDUCE-5129. Allow tags to JobHistory for deeper analytics. (billie via
 acmurthy)
 
+HDFS-4635. Move BlockManager#computeCapacity to LightWeightGSet.
+(suresh)
+
   BUG FIXES
 
 HADOOP-9467. Metrics2 record filter should check name as well as tags.

Modified: 
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java?rev=1468698r1=1468697r2=1468698view=diff
==
--- 
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java
 (original)
+++ 
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java
 Wed Apr 17 00:23:22 2013
@@ -315,37 +315,11 @@ class BlocksMap {
   private GSetBlock, BlockInfo blocks;
 
   BlocksMap(int initialCapacity, float loadFactor) {
-this.capacity = computeCapacity();
+// Use 2% of total memory to size the GSet capacity
+this.capacity = LightWeightGSet.computeCapacity(2.0, BlocksMap);
 this.blocks = new LightWeightGSetBlock, BlockInfo(capacity);
   }
 
-  /**
-   * Let t = 2% of max memory.
-   * Let e = round(log_2 t).
-   * Then, we choose capacity = 2^e/(size of reference),
-   * unless it is outside the close interval [1, 2^30].
-   */
-  private static int computeCapacity() {
-//VM detection
-//See http://java.sun.com/docs/hotspot/HotSpotFAQ.html#64bit_detection
-final String vmBit = System.getProperty(sun.arch.data.model);
-
-//2% of max memory
-final double twoPC = Runtime.getRuntime().maxMemory()/50.0;
-
-//compute capacity
-final int e1 = (int)(Math.log(twoPC)/Math.log(2.0) + 0.5);
-final int e2 = e1 - (32.equals(vmBit)? 2: 3);
-final int exponent = e2  0? 0: e2  30? 30: e2;
-final int c = 1  exponent;
-
-LightWeightGSet.LOG.info(VM type   =  + vmBit + -bit);
-LightWeightGSet.LOG.info(2% max memory =  + twoPC/(1  20) +  MB);
-LightWeightGSet.LOG.info(capacity  = 2^ + exponent
-+  =  + c +  entries);
-return c;
-  }
-
   void close() {
 blocks = null;
   }

Modified: 
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java?rev=1468698r1=1468697r2=1468698view=diff
==
--- 
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java
 (original)
+++ 
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java
 Wed Apr 17 00:23:22 2013
@@ -280,4 +280,53 @@ public class LightWeightGSetK, E extend
   throw new UnsupportedOperationException(Remove is not supported.);
 }
   }
+  
+  /**
+   * Let t = percentage of max memory.
+   * Let e = round(log_2 t).
+   * Then, we choose capacity = 2^e/(size of reference),
+   * unless it is outside the close interval [1, 2^30].
+   */
+  public static int computeCapacity(double percentage, String mapName) {
+return computeCapacity(Runtime.getRuntime().maxMemory(), percentage,
+mapName);
+  }
+  
+  /** Visible for testing */
+  static int computeCapacity(long maxMemory, double percentage,
+  String mapName) {
+if (percentage  100.0 || percentage  0.0) {
+  throw new IllegalArgumentException(Percentage  + percentage
+  +  must be greater than or equal to 0 
+  +  and less than or equal to 100);
+}
+if (maxMemory  0) {
+  throw new IllegalArgumentException(Memory  + maxMemory
+  +  must be greater than or equal to 0);
+}
+if (percentage == 0.0 || maxMemory == 0) {
+  return 0;
+}
+//VM detection
+//See http://java.sun.com/docs/hotspot/HotSpotFAQ.html#64bit_detection
+final 

svn commit: r1468699 - in /hadoop/common/branches/branch-1.2: CHANGES.txt src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java src/t

2013-04-16 Thread suresh
Author: suresh
Date: Wed Apr 17 00:24:24 2013
New Revision: 1468699

URL: http://svn.apache.org/r1468699
Log:
HDFS-4635. Merge change r1468698 from trunk.

Modified:
hadoop/common/branches/branch-1.2/CHANGES.txt

hadoop/common/branches/branch-1.2/src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java

hadoop/common/branches/branch-1.2/src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java

hadoop/common/branches/branch-1.2/src/test/org/apache/hadoop/hdfs/util/TestGSet.java

Modified: hadoop/common/branches/branch-1.2/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1.2/CHANGES.txt?rev=1468699r1=1468698r2=1468699view=diff
==
--- hadoop/common/branches/branch-1.2/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1.2/CHANGES.txt Wed Apr 17 00:24:24 2013
@@ -202,6 +202,9 @@ Release 1.2.0 - 2013.04.16
 MAPREDUCE-5129. Allow tags to JobHistory for deeper analytics. (billie via
 acmurthy)
 
+HDFS-4635. Move BlockManager#computeCapacity to LightWeightGSet.
+(suresh)
+
   BUG FIXES
 
 HADOOP-9467. Metrics2 record filter should check name as well as tags.

Modified: 
hadoop/common/branches/branch-1.2/src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1.2/src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java?rev=1468699r1=1468698r2=1468699view=diff
==
--- 
hadoop/common/branches/branch-1.2/src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java
 (original)
+++ 
hadoop/common/branches/branch-1.2/src/hdfs/org/apache/hadoop/hdfs/server/namenode/BlocksMap.java
 Wed Apr 17 00:24:24 2013
@@ -315,37 +315,11 @@ class BlocksMap {
   private GSetBlock, BlockInfo blocks;
 
   BlocksMap(int initialCapacity, float loadFactor) {
-this.capacity = computeCapacity();
+// Use 2% of total memory to size the GSet capacity
+this.capacity = LightWeightGSet.computeCapacity(2.0, BlocksMap);
 this.blocks = new LightWeightGSetBlock, BlockInfo(capacity);
   }
 
-  /**
-   * Let t = 2% of max memory.
-   * Let e = round(log_2 t).
-   * Then, we choose capacity = 2^e/(size of reference),
-   * unless it is outside the close interval [1, 2^30].
-   */
-  private static int computeCapacity() {
-//VM detection
-//See http://java.sun.com/docs/hotspot/HotSpotFAQ.html#64bit_detection
-final String vmBit = System.getProperty(sun.arch.data.model);
-
-//2% of max memory
-final double twoPC = Runtime.getRuntime().maxMemory()/50.0;
-
-//compute capacity
-final int e1 = (int)(Math.log(twoPC)/Math.log(2.0) + 0.5);
-final int e2 = e1 - (32.equals(vmBit)? 2: 3);
-final int exponent = e2  0? 0: e2  30? 30: e2;
-final int c = 1  exponent;
-
-LightWeightGSet.LOG.info(VM type   =  + vmBit + -bit);
-LightWeightGSet.LOG.info(2% max memory =  + twoPC/(1  20) +  MB);
-LightWeightGSet.LOG.info(capacity  = 2^ + exponent
-+  =  + c +  entries);
-return c;
-  }
-
   void close() {
 blocks = null;
   }

Modified: 
hadoop/common/branches/branch-1.2/src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1.2/src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java?rev=1468699r1=1468698r2=1468699view=diff
==
--- 
hadoop/common/branches/branch-1.2/src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java
 (original)
+++ 
hadoop/common/branches/branch-1.2/src/hdfs/org/apache/hadoop/hdfs/util/LightWeightGSet.java
 Wed Apr 17 00:24:24 2013
@@ -280,4 +280,53 @@ public class LightWeightGSetK, E extend
   throw new UnsupportedOperationException(Remove is not supported.);
 }
   }
+  
+  /**
+   * Let t = percentage of max memory.
+   * Let e = round(log_2 t).
+   * Then, we choose capacity = 2^e/(size of reference),
+   * unless it is outside the close interval [1, 2^30].
+   */
+  public static int computeCapacity(double percentage, String mapName) {
+return computeCapacity(Runtime.getRuntime().maxMemory(), percentage,
+mapName);
+  }
+  
+  /** Visible for testing */
+  static int computeCapacity(long maxMemory, double percentage,
+  String mapName) {
+if (percentage  100.0 || percentage  0.0) {
+  throw new IllegalArgumentException(Percentage  + percentage
+  +  must be greater than or equal to 0 
+  +  and less than or equal to 100);
+}
+if (maxMemory  0) {
+  throw new IllegalArgumentException(Memory  + maxMemory
+  +  must be greater than or equal to 0);
+}
+if (percentage == 0.0 || maxMemory == 0) {
+  return 0;
+}
+//VM detection
+//See http://java.sun.com/docs/hotspot/HotSpotFAQ.html#64bit_detection
+final String vmBit = 

svn commit: r1468731 - /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt

2013-04-16 Thread llu
Author: llu
Date: Wed Apr 17 02:57:29 2013
New Revision: 1468731

URL: http://svn.apache.org/r1468731
Log:
Fix HADOOP-9467 attribution.

Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt

Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1468731r1=1468730r2=1468731view=diff
==
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt 
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Wed Apr 
17 02:57:29 2013
@@ -641,7 +641,7 @@ Release 2.0.4-alpha - UNRELEASED
   BUG FIXES
 
 HADOOP-9467. Metrics2 record filter should check name as well as tags.
-(Ganeshan Iyler via llu)
+(Chris Nauroth and Ganeshan Iyler via llu)
 
 HADOOP-9406. hadoop-client leaks dependency on JDK tools jar. (tucu)
 




svn commit: r1468732 - /hadoop/common/branches/branch-1/CHANGES.txt

2013-04-16 Thread llu
Author: llu
Date: Wed Apr 17 03:00:31 2013
New Revision: 1468732

URL: http://svn.apache.org/r1468732
Log:
Fix HADOOP-9467 attribution.

Modified:
hadoop/common/branches/branch-1/CHANGES.txt

Modified: hadoop/common/branches/branch-1/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/CHANGES.txt?rev=1468732r1=1468731r2=1468732view=diff
==
--- hadoop/common/branches/branch-1/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1/CHANGES.txt Wed Apr 17 03:00:31 2013
@@ -242,7 +242,7 @@ Release 1.2.0 - unreleased
   BUG FIXES
 
 HADOOP-9467. Metrics2 record filter should check name as well as tags.
-(Ganeshan Iyler via llu)
+(Chris Nauroth and Ganeshan Iyler via llu)
 
 HADOOP-9451. Fault single-layer config if node group topology is enabled.
 (Junping Du via llu)