Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-7806 Isolate the FileSystem calls
  3. HBASE-7970

Improve file descriptor usage: currently, there are two file descriptors per storefile

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • None

    Description

      This is because there are two open calls in the HFile: one with checksum and another for without checksum support in v2:
      see the method in HFile:createReaderWithEncoding()

      FSDataInputStream fsdis = fs.open(path);
      FSDataInputStream fsdisNoFsChecksum = fsdis;
      // If the fs is not an instance of HFileSystem, then create an
      // instance of HFileSystem that wraps over the specified fs.
      // In this case, we will not be able to avoid checksumming inside
      // the filesystem.
      if (!(fs instanceof HFileSystem)) {
        hfs = new HFileSystem(fs);
      } else {
        hfs = (HFileSystem)fs;
        // open a stream to read data without checksum verification in
        // the filesystem
        fsdisNoFsChecksum = hfs.getNoChecksumFs().open(path);
      }
      

      Attachments

        1. HBASE-7970-v4.patch
          44 kB
          Sergey Shelukhin
        2. HBASE-7970-v3.patch
          44 kB
          Sergey Shelukhin
        3. HBASE-7970-v2.1.patch
          44 kB
          Sergey Shelukhin
        4. HBASE-7970-v2.patch
          44 kB
          Sergey Shelukhin
        5. HBASE-7970-v1.patch
          43 kB
          Sergey Shelukhin
        6. HBASE-7970-v0.patch
          42 kB
          Sergey Shelukhin

        Activity

          People

            sershe Sergey Shelukhin
            v.himanshu Himanshu Vashishtha
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: