HDFS-9430 Remove waitForLoadingFSImage since checkNNStartup has ensured image loaded and namenode started. (Brahma Reddy Battula via mingma)
(cherry picked from commit 3fa33b5c2c289ceaced30c6c5451f3569110459d)
This commit is contained in:
parent
8a97ca4b00
commit
a68faf1a02
@ -1574,6 +1574,9 @@ Release 2.8.0 - UNRELEASED
|
||||
HDFS-9484. NNThroughputBenchmark$BlockReportStats should not send empty
|
||||
block reports. (Mingliang Liu via shv)
|
||||
|
||||
HDFS-9430. Remove waitForLoadingFSImage since checkNNStartup has ensured
|
||||
image loaded and namenode started. (Brahma Reddy Battula via mingma)
|
||||
|
||||
Release 2.7.3 - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
@ -552,25 +552,6 @@ protected void setImageLoaded(boolean flag) {
|
||||
imageLoaded = flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Block until the object is imageLoaded to be used.
|
||||
*/
|
||||
void waitForLoadingFSImage() {
|
||||
if (!imageLoaded) {
|
||||
writeLock();
|
||||
try {
|
||||
while (!imageLoaded) {
|
||||
try {
|
||||
cond.await(5000, TimeUnit.MILLISECONDS);
|
||||
} catch (InterruptedException ignored) {
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
writeUnlock();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear all loaded data
|
||||
*/
|
||||
@ -1800,7 +1781,6 @@ LocatedBlocks getBlockLocations(String clientMachine, String srcArg,
|
||||
*/
|
||||
void concat(String target, String [] srcs, boolean logRetryCache)
|
||||
throws IOException {
|
||||
waitForLoadingFSImage();
|
||||
HdfsFileStatus stat = null;
|
||||
boolean success = false;
|
||||
writeLock();
|
||||
@ -1885,7 +1865,6 @@ void createSymlink(String target, String link,
|
||||
boolean setReplication(final String src, final short replication)
|
||||
throws IOException {
|
||||
boolean success = false;
|
||||
waitForLoadingFSImage();
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
try {
|
||||
@ -1960,7 +1939,6 @@ boolean truncate(String src, long newLength, String clientName,
|
||||
*/
|
||||
void setStoragePolicy(String src, String policyName) throws IOException {
|
||||
HdfsFileStatus auditStat;
|
||||
waitForLoadingFSImage();
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
try {
|
||||
@ -1987,7 +1965,6 @@ void setStoragePolicy(String src, String policyName) throws IOException {
|
||||
*/
|
||||
BlockStoragePolicy getStoragePolicy(String src) throws IOException {
|
||||
checkOperation(OperationCategory.READ);
|
||||
waitForLoadingFSImage();
|
||||
readLock();
|
||||
try {
|
||||
checkOperation(OperationCategory.READ);
|
||||
@ -2002,7 +1979,6 @@ BlockStoragePolicy getStoragePolicy(String src) throws IOException {
|
||||
*/
|
||||
BlockStoragePolicy[] getStoragePolicies() throws IOException {
|
||||
checkOperation(OperationCategory.READ);
|
||||
waitForLoadingFSImage();
|
||||
readLock();
|
||||
try {
|
||||
checkOperation(OperationCategory.READ);
|
||||
@ -2119,7 +2095,6 @@ private HdfsFileStatus startFileInt(final String src,
|
||||
}
|
||||
|
||||
FSPermissionChecker pc = getPermissionChecker();
|
||||
waitForLoadingFSImage();
|
||||
|
||||
/**
|
||||
* If the file is in an encryption zone, we optimistically create an
|
||||
@ -2407,7 +2382,6 @@ LocatedBlock getAdditionalBlock(
|
||||
NameNode.stateChangeLog.debug("BLOCK* getAdditionalBlock: {} inodeId {}" +
|
||||
" for {}", src, fileId, clientName);
|
||||
|
||||
waitForLoadingFSImage();
|
||||
LocatedBlock[] onRetryBlock = new LocatedBlock[1];
|
||||
FSDirWriteFileOp.ValidateAddBlockResult r;
|
||||
FSPermissionChecker pc = getPermissionChecker();
|
||||
@ -2516,7 +2490,6 @@ void abandonBlock(ExtendedBlock b, long fileId, String src, String holder)
|
||||
throws IOException {
|
||||
NameNode.stateChangeLog.debug(
|
||||
"BLOCK* NameSystem.abandonBlock: {} of file {}", b, src);
|
||||
waitForLoadingFSImage();
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
FSPermissionChecker pc = getPermissionChecker();
|
||||
writeLock();
|
||||
@ -2583,7 +2556,6 @@ boolean completeFile(final String src, String holder,
|
||||
throws IOException {
|
||||
boolean success = false;
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
waitForLoadingFSImage();
|
||||
FSPermissionChecker pc = getPermissionChecker();
|
||||
writeLock();
|
||||
try {
|
||||
@ -2636,7 +2608,6 @@ boolean checkFileProgress(String src, INodeFile v, boolean checkall) {
|
||||
@Deprecated
|
||||
boolean renameTo(String src, String dst, boolean logRetryCache)
|
||||
throws IOException {
|
||||
waitForLoadingFSImage();
|
||||
FSDirRenameOp.RenameOldResult ret = null;
|
||||
writeLock();
|
||||
try {
|
||||
@ -2661,7 +2632,6 @@ boolean renameTo(String src, String dst, boolean logRetryCache)
|
||||
void renameTo(final String src, final String dst,
|
||||
boolean logRetryCache, Options.Rename... options)
|
||||
throws IOException {
|
||||
waitForLoadingFSImage();
|
||||
Map.Entry<BlocksMapUpdateInfo, HdfsFileStatus> res = null;
|
||||
writeLock();
|
||||
try {
|
||||
@ -2697,7 +2667,6 @@ void renameTo(final String src, final String dst,
|
||||
*/
|
||||
boolean delete(String src, boolean recursive, boolean logRetryCache)
|
||||
throws IOException {
|
||||
waitForLoadingFSImage();
|
||||
BlocksMapUpdateInfo toRemovedBlocks = null;
|
||||
writeLock();
|
||||
boolean ret = false;
|
||||
@ -2973,7 +2942,6 @@ void fsync(String src, long fileId, String clientName, long lastBlockLength)
|
||||
byte[][] pathComponents = FSDirectory.getPathComponentsForReservedPath(src);
|
||||
|
||||
FSPermissionChecker pc = getPermissionChecker();
|
||||
waitForLoadingFSImage();
|
||||
writeLock();
|
||||
try {
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
@ -3205,7 +3173,6 @@ void finalizeINodeFileUnderConstruction(
|
||||
// since we just remove the uc feature from pendingFile
|
||||
pendingFile.toCompleteFile(now());
|
||||
|
||||
waitForLoadingFSImage();
|
||||
// close file and persist block allocations for this file
|
||||
closeFile(src, pendingFile);
|
||||
|
||||
@ -3268,7 +3235,6 @@ void commitBlockSynchronization(ExtendedBlock oldBlock,
|
||||
+ ")");
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
final String src;
|
||||
waitForLoadingFSImage();
|
||||
writeLock();
|
||||
boolean copyTruncate = false;
|
||||
BlockInfo truncatedBlock = null;
|
||||
@ -3615,7 +3581,6 @@ void checkAvailableResources() {
|
||||
*/
|
||||
private void closeFile(String path, INodeFile file) {
|
||||
assert hasWriteLock();
|
||||
waitForLoadingFSImage();
|
||||
// file is closed
|
||||
getEditLog().logCloseFile(path, file);
|
||||
NameNode.stateChangeLog.debug("closeFile: {} with {} bloks is persisted" +
|
||||
@ -5382,7 +5347,6 @@ void updatePipeline(
|
||||
+ ", newNodes=" + Arrays.asList(newNodes)
|
||||
+ ", client=" + clientName
|
||||
+ ")");
|
||||
waitForLoadingFSImage();
|
||||
writeLock();
|
||||
try {
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
|
Loading…
x
Reference in New Issue
Block a user