Author: dhruba
Date: Tue Jul 6 06:38:55 2010
New Revision: 960813
URL: http://svn.apache.org/viewvc?rev=960813&view=rev
Log:
HDFS-1202. DataBlockScanner throws NPE when updated before
initialized. (Todd Lipcon via dhruba)
Modified:
hadoop/hdfs/trunk/CHANGES.txt
hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/datanode/DataBlockScanner.java
Modified: hadoop/hdfs/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/hdfs/trunk/CHANGES.txt?rev=960813&r1=960812&r2=960813&view=diff
==============================================================================
--- hadoop/hdfs/trunk/CHANGES.txt (original)
+++ hadoop/hdfs/trunk/CHANGES.txt Tue Jul 6 06:38:55 2010
@@ -108,6 +108,9 @@ Trunk (unreleased changes)
HDFS-1145. When NameNode is shutdown it does not try to exit
safemode anymore. (dhruba)
+ HDFS-1202. DataBlockScanner throws NPE when updated before
+ initialized. (Todd Lipcon via dhruba)
+
Release 0.21.0 - Unreleased
INCOMPATIBLE CHANGES
Modified:
hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/datanode/DataBlockScanner.java
URL:
http://svn.apache.org/viewvc/hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/datanode/DataBlockScanner.java?rev=960813&r1=960812&r2=960813&view=diff
==============================================================================
---
hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/datanode/DataBlockScanner.java
(original)
+++
hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/datanode/DataBlockScanner.java
Tue Jul 6 06:38:55 2010
@@ -158,7 +158,7 @@ class DataBlockScanner implements Runnab
dirScanner = new DirectoryScanner(dataset, conf);
}
- private synchronized boolean isInitiliazed() {
+ private synchronized boolean isInitialized() {
return throttler != null;
}
@@ -267,7 +267,7 @@ class DataBlockScanner implements Runnab
/** Adds block to list of blocks */
synchronized void addBlock(Block block) {
- if (!isInitiliazed()) {
+ if (!isInitialized()) {
return;
}
@@ -286,7 +286,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);
@@ -297,7 +297,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);
@@ -318,6 +318,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 ) {
@@ -973,7 +976,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. " +