Class OMKeyRenameRequestWithFSO
java.lang.Object
org.apache.hadoop.ozone.om.request.OMClientRequest
org.apache.hadoop.ozone.om.request.key.OMKeyRequest
org.apache.hadoop.ozone.om.request.key.OMKeyRenameRequest
org.apache.hadoop.ozone.om.request.key.OMKeyRenameRequestWithFSO
- All Implemented Interfaces:
RequestAuditor
Handles rename key request - prefix layout.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hadoop.ozone.om.request.OMClientRequest
OMClientRequest.Result -
Constructor Summary
ConstructorsConstructorDescriptionOMKeyRenameRequestWithFSO(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest omRequest, org.apache.hadoop.ozone.om.helpers.BucketLayout bucketLayout) -
Method Summary
Modifier and TypeMethodDescriptionprotected StringextractDstKey(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.RenameKeyRequest request) Returns the normalized and validated destination key name.protected StringextractSrcKey(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyArgs keyArgs) Returns the validated and normalized source key name.protected org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyArgsresolveBucketAndCheckAcls(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyArgs keyArgs, OzoneManager ozoneManager, String fromKeyName, String toKeyName) validateAndUpdateCache(OzoneManager ozoneManager, ExecutionContext context) Validate the OMRequest and update the cache.Methods inherited from class org.apache.hadoop.ozone.om.request.key.OMKeyRenameRequest
blockRenameKeyWithBucketLayoutFromOldClient, preExecuteMethods inherited from class org.apache.hadoop.ozone.om.request.key.OMKeyRequest
addKeyInfoToDeleteMap, allocateBlock, checkBucketAcls, checkBucketQuotaInBytes, checkBucketQuotaInNamespace, checkDirectoryAlreadyExists, checkKeyAcls, checkKeyAcls, checkKeyAclsInOpenKeyTable, createDirectoryInfoWithACL, createDirectoryKeyInfoWithACL, createFileInfo, dirKeyInfoBuilderNoACL, filterOutBlocksStillInUse, generateRequiredEncryptionInfo, getAclsForDir, getAclsForKey, getAllMissingParentDirInfo, getAllParentInfo, getBucketInfo, getBucketLayout, getDBMultipartOpenKey, getFileEncryptionInfo, getFileEncryptionInfo, getFileEncryptionInfoForMpuKey, getOldVersionsToCleanUp, getOzoneLockStrategy, getRemoteUser, getVolumeOwner, prepareFileInfo, prepareKeyInfo, resolveBucketAndCheckKeyAcls, resolveBucketAndCheckKeyAclsWithFSO, resolveBucketAndCheckOpenKeyAcls, resolveBucketLink, resolveBucketLink, sumBlockLengths, validateBucketAndVolume, validateEncryptionKeyInfo, wrapUncommittedBlocksAsPseudoKeyMethods inherited from class org.apache.hadoop.ozone.om.request.OMClientRequest
buildAuditMessage, buildVolumeAuditMap, checkAcls, checkAcls, checkAcls, checkACLsWithFSO, createErrorOMResponse, createUGI, createUGIForApi, getAuditBuilder, getHostName, getOmLockDetails, getOmRequest, getRemoteAddress, getUserIfNotExists, getUserInfo, handleRequestFailure, isValidKeyPath, markForAudit, mergeOmLockDetails, normalizeKeyPath, setUGI, validateAndNormalizeKey, validateAndNormalizeKey, validateAndNormalizeKey, validateAndUpdateCacheMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.hadoop.ozone.om.request.RequestAuditor
buildKeyArgsAuditMap, buildLightKeyArgsAuditMap
-
Constructor Details
-
OMKeyRenameRequestWithFSO
public OMKeyRenameRequestWithFSO(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest omRequest, org.apache.hadoop.ozone.om.helpers.BucketLayout bucketLayout)
-
-
Method Details
-
validateAndUpdateCache
Description copied from class:OMClientRequestValidate the OMRequest and update the cache. This step should verify that the request can be executed, perform any authorization steps and update the in-memory cache. This step does not persist the changes to the database. To coders and reviewers, CAUTION: Do NOT bring external dependencies into this method, doing so could potentially cause divergence in OM DB states in HA. If you have to, be extremely careful. e.g. Do NOT invoke ACL check inside validateAndUpdateCache, which can use Ranger plugin that relies on external DB.- Overrides:
validateAndUpdateCachein classOMKeyRenameRequest- Returns:
- the response that will be returned to the client.
-
resolveBucketAndCheckAcls
protected org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyArgs resolveBucketAndCheckAcls(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyArgs keyArgs, OzoneManager ozoneManager, String fromKeyName, String toKeyName) throws IOException - Overrides:
resolveBucketAndCheckAclsin classOMKeyRenameRequest- Throws:
IOException
-
extractDstKey
protected String extractDstKey(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.RenameKeyRequest request) throws org.apache.hadoop.ozone.om.exceptions.OMException Returns the normalized and validated destination key name. It is handling the case when the toKeyName is empty (if we are renaming a key to bucket level, e.g. source is /vol1/buck1/dir1/key1 and dest is /vol1/buck1).- Overrides:
extractDstKeyin classOMKeyRenameRequest- Parameters:
request-- Returns:
String- Throws:
org.apache.hadoop.ozone.om.exceptions.OMException
-
extractSrcKey
protected String extractSrcKey(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyArgs keyArgs) throws org.apache.hadoop.ozone.om.exceptions.OMException Returns the validated and normalized source key name.- Overrides:
extractSrcKeyin classOMKeyRenameRequest- Parameters:
keyArgs-- Returns:
String- Throws:
org.apache.hadoop.ozone.om.exceptions.OMException
-