List<CloudBlobMetadata> getDeadBlobs(String partitionPath, String fieldName, long startTime, long endTime,
      int maxEntries) throws CloudStorageException {
    try {
      return cosmosDataAccessor.getDeadBlobsAsync(partitionPath, fieldName, startTime, endTime, maxEntries).join();
    } catch (CompletionException e) {
      Exception ex = Utils.extractFutureExceptionCause(e);
      if (ex instanceof CosmosException) {
        throw toCloudStorageException("Failed to query deleted blobs for partition " + partitionPath,
            Utils.extractFutureExceptionCause(e), azureMetrics);
      } else {
        throw new RuntimeException(ex);
      }
    }
  }
Get the list of blobs in the specified partition that have been inactive for at least the
configured retention period.
@param partitionPath the partition to query.
@param startTime the start of the query time range.
@param endTime the end of the query time range.
@param maxEntries the max number of metadata records to return.
@return a List of {@link CloudBlobMetadata} referencing the deleted blobs found.
ambry-cloud/src/main/java/com/github/ambry/cloud/azure/AzureStorageCompactor.java