Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-9019

Port HBASE-8690: Reduce unnecessary getFileStatus hdfs calls in TTL hfile and hlog cleanners to 0.94

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 0.94.11
    • None
    • None
    • Reviewed

    Description

      For each in file in archive dir, the TimeToLiveHFileCleaner need call getFileStatus to get the modify time of file. Actually the CleanerChore have had the file status when listing its parent dir.

      When we set the TTL to 7 days in our cluster for data security, the number of files left in archive dir is up to 65 thousands. In each clean period, TimeToLiveHFileCleaner will generate ten thousand getFileStatus call in a short time, which is very heavy for hdfs namenode.

      Fix is to change the path param to FileStatus in isFileDeletable method and reduce unnecessary getFileStatus hdfs calls in TTL cleaners.

      This issue is to backport this improvement to 0.94

      Attachments

        1. 9019-0.94.txt
          20 kB
          Ted Yu

        Issue Links

          Activity

            People

              yuzhihong@gmail.com Ted Yu
              yuzhihong@gmail.com Ted Yu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: