Author: omalley
Date: Fri Mar 4 03:44:12 2011
New Revision: 1077132
URL: http://svn.apache.org/viewvc?rev=1077132&view=rev
Log:
commit f64a958be42c7ebe56a727d2a085239d2397e7c7
Author: Konstantin Boudnik <[email protected]>
Date: Wed Jan 27 16:30:09 2010 -0800
HDFS-919 from
https://issues.apache.org/jira/secure/attachment/12431381/HDFS-919_0.20.patch
+++ b/YAHOO-CHANGES.txt
+ HDFS-919. Create test to validate the BlocksVerified metric (Gary Murry
+ via cos)
+
Modified:
hadoop/common/branches/branch-0.20-security-patches/src/test/org/apache/hadoop/hdfs/TestDatanodeBlockScanner.java
Modified:
hadoop/common/branches/branch-0.20-security-patches/src/test/org/apache/hadoop/hdfs/TestDatanodeBlockScanner.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-security-patches/src/test/org/apache/hadoop/hdfs/TestDatanodeBlockScanner.java?rev=1077132&r1=1077131&r2=1077132&view=diff
==============================================================================
---
hadoop/common/branches/branch-0.20-security-patches/src/test/org/apache/hadoop/hdfs/TestDatanodeBlockScanner.java
(original)
+++
hadoop/common/branches/branch-0.20-security-patches/src/test/org/apache/hadoop/hdfs/TestDatanodeBlockScanner.java
Fri Mar 4 03:44:12 2011
@@ -50,12 +50,15 @@ public class TestDatanodeBlockScanner ex
private static Pattern pattern =
Pattern.compile(".*?(blk_[-]*\\d+).*?scan time\\s*:\\s*(\\d+)");
+
+ private static Pattern pattern_blockVerify =
+ Pattern.compile(".*?(SCAN_PERIOD)\\s*:\\s*(\\d+.*?)");
/**
* This connects to datanode and fetches block verification data.
* It repeats this until the given block has a verification time > 0.
*/
private static long waitForVerification(DatanodeInfo dn, FileSystem fs,
- Path file) throws IOException {
+ Path file, int blocksValidated)
throws IOException {
URL url = new URL("http://localhost:" + dn.getInfoPort() +
"/blockScannerReport?listblocks");
long lastWarnTime = System.currentTimeMillis();
@@ -65,6 +68,14 @@ public class TestDatanodeBlockScanner ex
while (verificationTime <= 0) {
String response = DFSTestUtil.urlGet(url);
+ if(blocksValidated >= 0) {
+ for(Matcher matcher = pattern_blockVerify.matcher(response);
matcher.find();) {
+ if (block.equals(matcher.group(1))) {
+ assertEquals("Wrong number of blocks reported for validation.",
blocksValidated, Long.parseLong(matcher.group(2)));
+ break;
+ }
+ }
+ }
for(Matcher matcher = pattern.matcher(response); matcher.find();) {
if (block.equals(matcher.group(1))) {
verificationTime = Long.parseLong(matcher.group(2));
@@ -115,7 +126,7 @@ public class TestDatanodeBlockScanner ex
/*
* The cluster restarted. The block should be verified by now.
*/
- assertTrue(waitForVerification(dn, fs, file1) > startTime);
+ assertTrue(waitForVerification(dn, fs, file1, 1) > startTime);
/*
* Create a new file and read the block. The block should be marked
@@ -124,7 +135,7 @@ public class TestDatanodeBlockScanner ex
DFSTestUtil.createFile(fs, file2, 10, (short)1, 0);
IOUtils.copyBytes(fs.open(file2), new IOUtils.NullOutputStream(),
conf, true);
- assertTrue(waitForVerification(dn, fs, file2) > startTime);
+ assertTrue(waitForVerification(dn, fs, file2, 2) > startTime);
cluster.shutdown();
}