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

HRegion.heapSize is missing many fields

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Later
    • None
    • None
    • None
    • None

    Description

      HRegion's heapSize method is missing many fields from its calculation.

      The static value DEEP_OVERHEAD is missing these:

        // 1 x HashMap - coprocessorServiceHandlers
        // 6 org.cliffc.high_scale_lib.Counter - numMutationsWithoutWAL, dataInMemoryWithoutWAL,
        //   checkAndMutateChecksPassed, checkAndMutateChecksFailed, readRequestsCount,
        //   writeRequestsCount, updatesBlockedMs
        // 1 x HRegion$WriteState - writestate
        // 1 x RegionCoprocessorHost - coprocessorHost
        // 1 x RegionSplitPolicy - splitPolicy
        // 1 x MetricsRegion - metricsRegion
        // 1 x MetricsRegionWrapperImpl - metricsRegionWrapper
      

      and the actual heapSize() method doesn't take into account at least row locks, recent flushes, mvcc entries, and coprocessors. Possibly more.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              davelatham Dave Latham
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: