summaryrefslogtreecommitdiff
path: root/hadoop-hdfs-project/hadoop-hdfs/src/main
diff options
context:
space:
mode:
authorChao Sun <sunchao@apache.org>2018-05-31 15:24:16 -0700
committerKonstantin V Shvachko <shv@apache.org>2018-05-31 17:37:44 -0700
commitff013d2c952272f3176dcf624251b05d610503b5 (patch)
tree210396489306b511f22c0f98cda254c247edae48 /hadoop-hdfs-project/hadoop-hdfs/src/main
parent6b74f5d7fc509c55c331249256eec78b7e53b6ce (diff)
HDFS-13602. Add checkOperation(WRITE) checks in FSNamesystem. Contributed by Chao Sun.
Diffstat (limited to 'hadoop-hdfs-project/hadoop-hdfs/src/main')
-rw-r--r--hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
index 752c830f95..c02eb84d5f 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
@@ -1952,6 +1952,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
if (!isInSafeMode() && res.updateAccessTime()) {
String src = srcArg;
+ checkOperation(OperationCategory.WRITE);
writeLock();
final long now = now();
try {
@@ -2034,6 +2035,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
FileStatus stat = null;
boolean success = false;
final FSPermissionChecker pc = getPermissionChecker();
+ checkOperation(OperationCategory.WRITE);
writeLock();
try {
checkOperation(OperationCategory.WRITE);
@@ -2137,6 +2139,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
throw new UnsupportedOperationException("Symlinks not supported");
}
FileStatus auditStat = null;
+ checkOperation(OperationCategory.WRITE);
writeLock();
try {
checkOperation(OperationCategory.WRITE);
@@ -5306,6 +5309,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
String clientName, ExtendedBlock oldBlock, ExtendedBlock newBlock,
DatanodeID[] newNodes, String[] newStorageIDs, boolean logRetryCache)
throws IOException {
+ checkOperation(OperationCategory.WRITE);
LOG.info("updatePipeline(" + oldBlock.getLocalBlock()
+ ", newGS=" + newBlock.getGenerationStamp()
+ ", newLength=" + newBlock.getNumBytes()
@@ -6605,6 +6609,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
String rootPath = null;
BlocksMapUpdateInfo blocksToBeDeleted = null;
final FSPermissionChecker pc = getPermissionChecker();
+ checkOperation(OperationCategory.WRITE);
writeLock();
try {
checkOperation(OperationCategory.WRITE);
@@ -6645,6 +6650,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
checkOperation(OperationCategory.READ);
readLock();
try {
+ checkOperation(OperationCategory.READ);
if (!isRollingUpgrade()) {
return null;
}
@@ -6897,6 +6903,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
if (!flags.contains(CacheFlag.FORCE)) {
cacheManager.waitForRescanIfNeeded();
}
+ checkOperation(OperationCategory.WRITE);
writeLock();
try {
checkOperation(OperationCategory.WRITE);
@@ -6928,6 +6935,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
if (!flags.contains(CacheFlag.FORCE)) {
cacheManager.waitForRescanIfNeeded();
}
+ checkOperation(OperationCategory.WRITE);
writeLock();
try {
checkOperation(OperationCategory.WRITE);
@@ -6953,6 +6961,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
final String operationName = "removeCacheDirective";
boolean success = false;
String idStr = "{id: " + Long.toString(id) + "}";
+ checkOperation(OperationCategory.WRITE);
writeLock();
try {
checkOperation(OperationCategory.WRITE);
@@ -6997,6 +7006,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
void addCachePool(CachePoolInfo req, boolean logRetryCache)
throws IOException {
final String operationName = "addCachePool";
+ checkOperation(OperationCategory.WRITE);
writeLock();
boolean success = false;
String poolInfoStr = null;
@@ -7021,6 +7031,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
void modifyCachePool(CachePoolInfo req, boolean logRetryCache)
throws IOException {
final String operationName = "modifyCachePool";
+ checkOperation(OperationCategory.WRITE);
writeLock();
boolean success = false;
String poolNameStr = "{poolName: " +
@@ -7047,6 +7058,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
void removeCachePool(String cachePoolName, boolean logRetryCache)
throws IOException {
final String operationName = "removeCachePool";
+ checkOperation(OperationCategory.WRITE);
writeLock();
boolean success = false;
String poolNameStr = "{poolName: " + cachePoolName + "}";