Details
Description
ObserverNameNode currently can handle the addBlockLocation RPC, but it may throw a FileNotFoundException when it contains stale txid.
- AddBlock is not a coordinated method, so Observer will not check the statId.
- AddBlock does the validation with checkOperation(OperationCategory.READ)
So the observer can handle the addBlock rpc. If this observer cannot replay the edit of create file, it will throw a FileNotFoundException during doing validation.
The related code as follows:
checkOperation(OperationCategory.READ); final FSPermissionChecker pc = getPermissionChecker(); FSPermissionChecker.setOperationType(operationName); readLock(); try { checkOperation(OperationCategory.READ); r = FSDirWriteFileOp.validateAddBlock(this, pc, src, fileId, clientName, previous, onRetryBlock); } finally { readUnlock(operationName); }
Attachments
Issue Links
- links to