Class ContainerDeletionChoosingPolicyTemplate

java.lang.Object
org.apache.hadoop.ozone.container.common.interfaces.ContainerDeletionChoosingPolicyTemplate
All Implemented Interfaces:
ContainerDeletionChoosingPolicy
Direct Known Subclasses:
RandomContainerDeletionChoosingPolicy, TopNOrderedContainerDeletionChoosingPolicy

public abstract class ContainerDeletionChoosingPolicyTemplate extends Object implements ContainerDeletionChoosingPolicy
Abstract class that serves as the template for deletion choosing policy.
  • Constructor Details

    • ContainerDeletionChoosingPolicyTemplate

      public ContainerDeletionChoosingPolicyTemplate()
  • Method Details

    • chooseContainerForBlockDeletion

      public final List<BlockDeletingService.ContainerBlockInfo> chooseContainerForBlockDeletion(int blockCount, Map<Long,ContainerData> candidateContainers) throws org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
      Description copied from interface: ContainerDeletionChoosingPolicy
      Chooses desired containers for block deletion.
      Specified by:
      chooseContainerForBlockDeletion in interface ContainerDeletionChoosingPolicy
      Parameters:
      blockCount - how many to return
      candidateContainers - candidate containers collection
      Returns:
      container data list
      Throws:
      org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerException
    • orderByDescendingPriority

      protected abstract void orderByDescendingPriority(List<ContainerData> candidateContainers)
      Abstract step for ordering the container data to be deleted. Subclass need to implement the concrete ordering implementation in descending order (more prioritized -> less prioritized)
      Parameters:
      candidateContainers - candidate containers to be ordered