Interface OzoneLockStrategy

All Known Implementing Classes:
OBSKeyPathLockStrategy, RegularBucketLockStrategy

public interface OzoneLockStrategy
This is a common strategy interface for all concrete lock strategies. The interface declares methods (for acquiring/releasing a read/write lock) the context (here OzoneManager class) uses to execute a lock strategy. The concrete lock strategies (which implement different variations of the methods defined in the interface) allow us in changing the behavior of the locking mechanism at runtime.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.hadoop.ozone.om.lock.OMLockDetails
    acquireReadLock(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volumeName, String bucketName, String keyName)
     
    org.apache.hadoop.ozone.om.lock.OMLockDetails
    acquireWriteLock(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volumeName, String bucketName, String keyName)
     
    org.apache.hadoop.ozone.om.lock.OMLockDetails
    releaseReadLock(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volumeName, String bucketName, String keyName)
     
    org.apache.hadoop.ozone.om.lock.OMLockDetails
    releaseWriteLock(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volumeName, String bucketName, String keyName)
     
  • Method Details

    • acquireWriteLock

      org.apache.hadoop.ozone.om.lock.OMLockDetails acquireWriteLock(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volumeName, String bucketName, String keyName) throws IOException
      Throws:
      IOException
    • releaseWriteLock

      org.apache.hadoop.ozone.om.lock.OMLockDetails releaseWriteLock(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volumeName, String bucketName, String keyName)
    • acquireReadLock

      org.apache.hadoop.ozone.om.lock.OMLockDetails acquireReadLock(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volumeName, String bucketName, String keyName) throws IOException
      Throws:
      IOException
    • releaseReadLock

      org.apache.hadoop.ozone.om.lock.OMLockDetails releaseReadLock(org.apache.hadoop.ozone.om.OMMetadataManager omMetadataManager, String volumeName, String bucketName, String keyName)