You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "BELUGA BEHR (JIRA)" <ji...@apache.org> on 2018/11/27 17:44:00 UTC

[jira] [Created] (HDFS-14104) Review getImageTxIdToRetain

BELUGA BEHR created HDFS-14104:
----------------------------------

             Summary: Review getImageTxIdToRetain
                 Key: HDFS-14104
                 URL: https://issues.apache.org/jira/browse/HDFS-14104
             Project: Hadoop HDFS
          Issue Type: Improvement
          Components: namenode
    Affects Versions: 3.0.0
            Reporter: BELUGA BEHR


{code:java|title=NNStorageRetentionManager.java}
  private long getImageTxIdToRetain(FSImageTransactionalStorageInspector inspector) {
      
    List<FSImageFile> images = inspector.getFoundImages();
    TreeSet<Long> imageTxIds = Sets.newTreeSet();
    for (FSImageFile image : images) {
      imageTxIds.add(image.getCheckpointTxId());
    }
    
    List<Long> imageTxIdsList = Lists.newArrayList(imageTxIds);
    if (imageTxIdsList.isEmpty()) {
      return 0;
    }
    
    Collections.reverse(imageTxIdsList);
    int toRetain = Math.min(numCheckpointsToRetain, imageTxIdsList.size());    
    long minTxId = imageTxIdsList.get(toRetain - 1);
    LOG.info("Going to retain " + toRetain + " images with txid >= " +
        minTxId);
    return minTxId;
  }
{code}

# Fix check style issues
# Use SLF4J paramaterized logging
# A lot of work gets done before checking if the list actually contains any entries and returning a 0.  That should be the first thing that happens
# Instead of building up the {{TreeSet}} in its natural order, then reversing the collection, simply use a reverse natural ordering to begin with and save a step.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org