Author: jitendra
Date: Fri Aug 26 19:06:25 2011
New Revision: 1162212
URL: http://svn.apache.org/viewvc?rev=1162212&view=rev
Log:
Merging HDFS-1202 change r960816 from 0.20-append to 0.20-security.
Modified:
hadoop/common/branches/branch-0.20-security/CHANGES.txt
hadoop/common/branches/branch-0.20-security/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataBlockScanner.java
Modified: hadoop/common/branches/branch-0.20-security/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-security/CHANGES.txt?rev=1162212&r1=1162211&r2=1162212&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.20-security/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.20-security/CHANGES.txt Fri Aug 26 19:06:25
2011
@@ -93,6 +93,9 @@ Release 0.20.205.0 - unreleased
HDFS-1164. TestHdfsProxy is failing. (Todd Lipcon)
+ HDFS-1202. DataBlockScanner throws NPE when updated before initialized.
+ (Todd Lipcon)
+
Release 0.20.204.0 - 2011-8-25
NEW FEATURES
Modified:
hadoop/common/branches/branch-0.20-security/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataBlockScanner.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-security/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataBlockScanner.java?rev=1162212&r1=1162211&r2=1162212&view=diff
==============================================================================
---
hadoop/common/branches/branch-0.20-security/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataBlockScanner.java
(original)
+++
hadoop/common/branches/branch-0.20-security/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataBlockScanner.java
Fri Aug 26 19:06:25 2011
@@ -145,7 +145,7 @@ class DataBlockScanner implements Runnab
// initialized when the scanner thread is started.
}
- private synchronized boolean isInitiliazed() {
+ private synchronized boolean isInitialized() {
return throttler != null;
}
@@ -254,7 +254,7 @@ class DataBlockScanner implements Runnab
/** Adds block to list of blocks */
synchronized void addBlock(Block block) {
- if (!isInitiliazed()) {
+ if (!isInitialized()) {
return;
}
@@ -273,7 +273,7 @@ class DataBlockScanner implements Runnab
/** Deletes the block from internal structures */
synchronized void deleteBlock(Block block) {
- if (!isInitiliazed()) {
+ if (!isInitialized()) {
return;
}
BlockScanInfo info = blockMap.get(block);
@@ -284,7 +284,7 @@ class DataBlockScanner implements Runnab
/** @return the last scan time */
synchronized long getLastScanTime(Block block) {
- if (!isInitiliazed()) {
+ if (!isInitialized()) {
return 0;
}
BlockScanInfo info = blockMap.get(block);
@@ -305,6 +305,9 @@ class DataBlockScanner implements Runnab
private synchronized void updateScanStatus(Block block,
ScanType type,
boolean scanOk) {
+ if (!isInitialized()) {
+ return;
+ }
BlockScanInfo info = blockMap.get(block);
if ( info != null ) {
@@ -955,7 +958,7 @@ class DataBlockScanner implements Runnab
if (blockScanner == null) {
buffer.append("Periodic block scanner is not running. " +
"Please check the datanode log if this is unexpected.");
- } else if (blockScanner.isInitiliazed()) {
+ } else if (blockScanner.isInitialized()) {
blockScanner.printBlockReport(buffer, summary);
} else {
buffer.append("Periodic block scanner is not yet initialized. " +