HADOOP-13288. Guard null stats key in FileSystemStorageStatistics (Mingliang Liu via Colin P. McCabe)

(cherry picked from commit 8c1f81d4bf)
(cherry picked from commit 14df17383c)
This commit is contained in:
Colin Patrick Mccabe 2016-06-20 14:25:07 -07:00
parent c610b60331
commit c5dafb4ad7
1 changed files with 8 additions and 0 deletions

View File

@ -20,6 +20,7 @@
import java.util.Iterator;
import java.util.NoSuchElementException;
import com.google.common.base.Preconditions;
import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.fs.FileSystem.Statistics.StatisticsData;
@ -77,6 +78,9 @@ public void remove() {
}
private static Long fetch(StatisticsData data, String key) {
Preconditions.checkArgument(key != null,
"The stat key of FileSystemStorageStatistics should not be null!");
switch (key) {
case "bytesRead":
return data.getBytesRead();
@ -95,6 +99,10 @@ private static Long fetch(StatisticsData data, String key) {
FileSystemStorageStatistics(String name, FileSystem.Statistics stats) {
super(name);
Preconditions.checkArgument(stats != null,
"FileSystem.Statistics can not be null");
Preconditions.checkArgument(stats.getData() != null,
"FileSystem.Statistics can not have null data");
this.stats = stats;
}