Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-7067 HBase Get perf improvements
  3. HBASE-7163

Low-hanging perf improvements in HBase client

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • None
    • None

    Description

      1. Change cachedRegionsLocations in HConnectionManager from SoftValueSortedMap to ConcurrentSkipListMap:
      This change saves 15% CPU on the client side per profiling. In using the ConcurrentSkipListMap, we can do:
      tableLocations.floorEntry(row).getValue()

      instead of doing:
      SortedMap<byte[], HRegionLocation> matchingRegions =
      tableLocations.floorEntry(row).getValue();
      if (!matchingRegions.isEmpty()) {
      HRegionLocation possibleRegion =
      matchingRegions.get(matchingRegions.lastKey());
      }

      2. NetUtils.getDefaultSocketFactory is very inefficient, use

      Attachments

        Activity

          People

            Unassigned Unassigned
            karthik.ranga Karthik Ranganathan
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: