Class OMVolumeRequest
java.lang.Object
org.apache.hadoop.ozone.om.request.OMClientRequest
org.apache.hadoop.ozone.om.request.volume.OMVolumeRequest
- All Implemented Interfaces:
RequestAuditor
- Direct Known Subclasses:
OMTenantCreateRequest,OMTenantDeleteRequest,OMVolumeAclRequest,OMVolumeCreateRequest,OMVolumeDeleteRequest,OMVolumeSetOwnerRequest,OMVolumeSetQuotaRequest
Defines common methods required for volume requests.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hadoop.ozone.om.request.OMClientRequest
OMClientRequest.Result -
Field Summary
Fields inherited from class org.apache.hadoop.ozone.om.request.OMClientRequest
LOG -
Constructor Summary
ConstructorsConstructorDescriptionOMVolumeRequest(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest omRequest) -
Method Summary
Modifier and TypeMethodDescriptionprotected static org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfoaddVolumeToOwnerList(org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo volumeList, String volume, String owner, long maxUserVolumeCount, long txID) Add volume to user volume list.protected static voidcreateVolume(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, org.apache.hadoop.ozone.om.helpers.OmVolumeArgs omVolumeArgs, org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo volumeList, String dbVolumeKey, String dbUserKey, long transactionLogIndex) Create Ozone Volume.protected org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfodelVolumeFromOwnerList(org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo volumeList, String volume, String owner, long txID) Delete volume from user volume list.protected org.apache.hadoop.ozone.om.helpers.OmVolumeArgsgetVolumeInfo(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volume) Return volume info for the specified volume.Methods 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, validateAndUpdateCache, 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
-
OMVolumeRequest
public OMVolumeRequest(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest omRequest)
-
-
Method Details
-
delVolumeFromOwnerList
protected org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo delVolumeFromOwnerList(org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo volumeList, String volume, String owner, long txID) throws IOException Delete volume from user volume list. This method should be called after acquiring user lock.- Parameters:
volumeList- - current volume list owned by user.volume- - volume which needs to deleted from the volume list.owner- - Name of the Owner.txID- - The transaction ID that is updating this value.- Returns:
- UserVolumeInfo - updated UserVolumeInfo.
- Throws:
IOException
-
addVolumeToOwnerList
protected static org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo addVolumeToOwnerList(org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo volumeList, String volume, String owner, long maxUserVolumeCount, long txID) throws IOException Add volume to user volume list. This method should be called after acquiring user lock.- Parameters:
volumeList- - current volume list owned by user.volume- - volume which needs to be added to this list.owner-maxUserVolumeCount-- Returns:
- VolumeList - which is updated volume list.
- Throws:
org.apache.hadoop.ozone.om.exceptions.OMException- - if user has volumes greater than maxUserVolumeCount, an exception is thrown.IOException
-
createVolume
protected static void createVolume(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, org.apache.hadoop.ozone.om.helpers.OmVolumeArgs omVolumeArgs, org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo volumeList, String dbVolumeKey, String dbUserKey, long transactionLogIndex) Create Ozone Volume. This method should be called after acquiring user and volume Lock.- Parameters:
omMetadataManager-omVolumeArgs-volumeList-dbVolumeKey-dbUserKey-transactionLogIndex-
-
getVolumeInfo
protected org.apache.hadoop.ozone.om.helpers.OmVolumeArgs getVolumeInfo(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volume) throws IOException Return volume info for the specified volume. This method should be called after acquiring volume lock.- Parameters:
omMetadataManager-volume-- Returns:
- OmVolumeArgs
- Throws:
IOException
-