Class OMKeyRenameRequestWithFSO

All Implemented Interfaces:
RequestAuditor

public class OMKeyRenameRequestWithFSO extends OMKeyRenameRequest
Handles rename key request - prefix layout.
  • 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

      public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, ExecutionContext context)
      Description copied from class: OMClientRequest
      Validate 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:
      validateAndUpdateCache in class OMKeyRenameRequest
      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:
      resolveBucketAndCheckAcls in class OMKeyRenameRequest
      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:
      extractDstKey in class OMKeyRenameRequest
      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:
      extractSrcKey in class OMKeyRenameRequest
      Parameters:
      keyArgs -
      Returns:
      String
      Throws:
      org.apache.hadoop.ozone.om.exceptions.OMException