Skip to content

Commit ae19ede

Browse files
authored
HDFS-17390. [FGL] FSDirectory supports this fine-grained locking (#6573)
1 parent 8a97eae commit ae19ede

File tree

1 file changed

+11
-6
lines changed
  • hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode

1 file changed

+11
-6
lines changed

hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
*/
1818
package org.apache.hadoop.hdfs.server.namenode;
1919

20+
import org.apache.hadoop.hdfs.server.namenode.fgl.FSNamesystemLockMode;
2021
import org.apache.hadoop.hdfs.server.namenode.snapshot.Snapshot;
2122
import org.apache.hadoop.util.StringUtils;
2223

@@ -261,27 +262,31 @@ public void setINodeAttributeProvider(
261262
* remain as placeholders only
262263
*/
263264
void readLock() {
264-
assert namesystem.hasReadLock() : "Should hold namesystem read lock";
265+
assert namesystem.hasReadLock(FSNamesystemLockMode.FS) :
266+
"Should hold read lock of namesystem FSLock";
265267
}
266268

267269
void readUnlock() {
268-
assert namesystem.hasReadLock() : "Should hold namesystem read lock";
270+
assert namesystem.hasReadLock(FSNamesystemLockMode.FS) :
271+
"Should hold read lock of namesystem FSLock";
269272
}
270273

271274
void writeLock() {
272-
assert namesystem.hasWriteLock() : "Should hold namesystem write lock";
275+
assert namesystem.hasWriteLock(FSNamesystemLockMode.FS) :
276+
"Should hold write lock of namesystem FSLock";
273277
}
274278

275279
void writeUnlock() {
276-
assert namesystem.hasWriteLock() : "Should hold namesystem write lock";
280+
assert namesystem.hasWriteLock(FSNamesystemLockMode.FS) :
281+
"Should hold write lock of namesystem FSLock";
277282
}
278283

279284
boolean hasWriteLock() {
280-
return namesystem.hasWriteLock();
285+
return namesystem.hasWriteLock(FSNamesystemLockMode.FS);
281286
}
282287

283288
boolean hasReadLock() {
284-
return namesystem.hasReadLock();
289+
return namesystem.hasReadLock(FSNamesystemLockMode.FS);
285290
}
286291

287292
public int getListLimit() {

0 commit comments

Comments
 (0)