Prechádzať zdrojové kódy

HDFS-17472. [FGL] gcDeletedSnapshot and getDelegationToken support FGL (#6743)

ZanderXu 1 rok pred
rodič
commit
0d626f516f

+ 4 - 4
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java

@@ -6364,7 +6364,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
     String tokenId = null;
     Token<DelegationTokenIdentifier> token;
     checkOperation(OperationCategory.WRITE);
-    writeLock();
+    writeLock(FSNamesystemLockMode.FS);
     try {
       checkOperation(OperationCategory.WRITE);
       checkNameNodeSafeMode("Cannot issue delegation token");
@@ -6392,7 +6392,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
       getEditLog().logGetDelegationToken(dtId, expiryTime);
       tokenId = dtId.toStringStable();
     } finally {
-      writeUnlock(operationName, getLockReportInfoSupplier(tokenId));
+      writeUnlock(FSNamesystemLockMode.FS, operationName, getLockReportInfoSupplier(tokenId));
     }
     getEditLog().logSync();
     logAuditEvent(true, operationName, tokenId);
@@ -7532,7 +7532,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
     final INode.BlocksMapUpdateInfo blocksToBeDeleted;
 
     checkOperation(OperationCategory.WRITE);
-    writeLock();
+    writeLock(FSNamesystemLockMode.GLOBAL);
     try {
       checkOperation(OperationCategory.WRITE);
       rootPath = Snapshot.getSnapshotPath(snapshotRoot, snapshotName);
@@ -7544,7 +7544,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
       blocksToBeDeleted = FSDirSnapshotOp.deleteSnapshot(
           dir, snapshotManager, iip, snapshotName, now, snapshotRoot, false);
     } finally {
-      writeUnlock(operationName, getLockReportInfoSupplier(rootPath));
+      writeUnlock(FSNamesystemLockMode.GLOBAL, operationName, getLockReportInfoSupplier(rootPath));
     }
     blockManager.addBLocksToMarkedDeleteQueue(
         blocksToBeDeleted.getToDeleteList());