accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <>
Subject [jira] [Created] (ACCUMULO-3260) TreeMap usage in LargestFirstMemoryManager could preclude certain tablets
Date Sat, 25 Oct 2014 06:28:33 GMT
Josh Elser created ACCUMULO-3260:

             Summary: TreeMap usage in LargestFirstMemoryManager could preclude certain tablets
                 Key: ACCUMULO-3260
             Project: Accumulo
          Issue Type: Improvement
          Components: tserver
            Reporter: Josh Elser
            Priority: Minor

[~kturner]'s comment on

    // find the largest and most idle tablets
    for (TabletState ts : tablets) {
      final long memTabletSize = ts.getMemTableSize();
      final long minorCompactingSize = ts.getMinorCompactingMemTableSize();
      final long idleTime = now - Math.max(ts.getLastCommitTime(), ZERO_TIME);
      final long timeMemoryLoad = timeMemoryLoad(memTabletSize, idleTime);
      ingestMemory += memTabletSize;
      if (minorCompactingSize == 0 && memTabletSize > 0) {
        TabletInfo tabletInfo = new TabletInfo(ts.getExtent(), memTabletSize, idleTime, timeMemoryLoad);
        largestMemTablets.put(timeMemoryLoad, tabletInfo);
        if (idleTime > getMinCIdleThreshold(ts.getExtent())) {
          largestIdleMemTablets.put(timeMemoryLoad, tabletInfo);

Because {{largestMemTablets}} is a {{TreeMap}}, it's possible that multiple tablets would
create the same key and override entries in the map. Not a big concern because a tablet should
be re-added to the map multiple times and the likelihood of a collision should be small.

This message was sent by Atlassian JIRA

View raw message