Class OMKeysDeleteRequest
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.OMKeysDeleteRequest
- All Implemented Interfaces:
RequestAuditor
- Direct Known Subclasses:
OmKeysDeleteRequestWithFSO
Handles DeleteKey request.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hadoop.ozone.om.request.OMClientRequest
OMClientRequest.Result -
Constructor Summary
ConstructorsConstructorDescriptionOMKeysDeleteRequest(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest omRequest, org.apache.hadoop.ozone.om.helpers.BucketLayout bucketLayout) -
Method Summary
Modifier and TypeMethodDescriptionprotected static voidaddDeletedKeys(Map<String, String> auditMap, List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> deletedKeyInfos, List<String> unDeletedKeys) Add key info to audit map for DeleteKeys request.protected voidaddKeyToAppropriateList(List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> omKeyInfoList, org.apache.hadoop.ozone.om.helpers.OmKeyInfo omKeyInfo, List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> dirList, org.apache.hadoop.ozone.om.helpers.OzoneFileStatus keyStatus) static org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequestblockDeleteKeysWithBucketLayoutFromOldClient(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest req, ValidationContext ctx) Validates delete key requests.protected OMClientResponsegetOmClientResponse(OzoneManager ozoneManager, List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> omKeyInfoList, List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> dirList, org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse.Builder omResponse, org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.DeleteKeyArgs.Builder unDeletedKeys, Map<String, org.apache.hadoop.ozone.om.helpers.ErrorInfo> keyToErrors, boolean deleteStatus, org.apache.hadoop.ozone.om.helpers.OmBucketInfo omBucketInfo, long volumeId, Map<String, org.apache.hadoop.ozone.om.helpers.OmKeyInfo> openKeyInfoMap) protected org.apache.hadoop.ozone.om.helpers.OmKeyInfogetOmKeyInfo(OzoneManager ozoneManager, org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volume, String bucket, String key) protected org.apache.hadoop.ozone.om.helpers.OzoneFileStatusgetOzoneKeyStatus(OzoneManager ozoneManager, org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volumeName, String bucketName, String keyName) markKeysAsDeletedInCache(OzoneManager ozoneManager, long trxnLogIndex, List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> omKeyInfoList, List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> dirList, org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, Map<String, org.apache.hadoop.ozone.om.helpers.OmKeyInfo> openKeyInfoMap) validateAndUpdateCache(OzoneManager ozoneManager, ExecutionContext context) Validate the OMRequest and update the cache.Methods 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, preExecute, 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
-
OMKeysDeleteRequest
public OMKeysDeleteRequest(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.- Specified by:
validateAndUpdateCachein classOMClientRequest- Returns:
- the response that will be returned to the client.
-
getOzoneKeyStatus
protected org.apache.hadoop.ozone.om.helpers.OzoneFileStatus getOzoneKeyStatus(OzoneManager ozoneManager, org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volumeName, String bucketName, String keyName) throws IOException - Throws:
IOException
-
getOmClientResponse
@Nonnull protected OMClientResponse getOmClientResponse(OzoneManager ozoneManager, List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> omKeyInfoList, List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> dirList, org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse.Builder omResponse, org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.DeleteKeyArgs.Builder unDeletedKeys, Map<String, org.apache.hadoop.ozone.om.helpers.ErrorInfo> keyToErrors, boolean deleteStatus, org.apache.hadoop.ozone.om.helpers.OmBucketInfo omBucketInfo, long volumeId, Map<String, org.apache.hadoop.ozone.om.helpers.OmKeyInfo> openKeyInfoMap) -
markKeysAsDeletedInCache
protected org.apache.commons.lang3.tuple.Pair<Long,Integer> markKeysAsDeletedInCache(OzoneManager ozoneManager, long trxnLogIndex, List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> omKeyInfoList, List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> dirList, org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, Map<String, org.apache.hadoop.ozone.om.helpers.OmKeyInfo> openKeyInfoMap) throws IOException- Throws:
IOException
-
addKeyToAppropriateList
-
getOmKeyInfo
protected org.apache.hadoop.ozone.om.helpers.OmKeyInfo getOmKeyInfo(OzoneManager ozoneManager, org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volume, String bucket, String key) throws IOException - Throws:
IOException
-
addDeletedKeys
protected static void addDeletedKeys(Map<String, String> auditMap, List<org.apache.hadoop.ozone.om.helpers.OmKeyInfo> deletedKeyInfos, List<String> unDeletedKeys) Add key info to audit map for DeleteKeys request. -
blockDeleteKeysWithBucketLayoutFromOldClient
public static org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest blockDeleteKeysWithBucketLayoutFromOldClient(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest req, ValidationContext ctx) throws IOException Validates delete key requests. We do not want to allow older clients to delete keys in buckets which use non LEGACY layouts.- Parameters:
req- - the request to validatectx- - the validation context- Returns:
- the validated request
- Throws:
org.apache.hadoop.ozone.om.exceptions.OMException- if the request is invalidIOException
-