accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
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
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3260
             Project: Accumulo
          Issue Type: Improvement
          Components: tserver
            Reporter: Josh Elser
            Priority: Minor


[~kturner]'s comment on https://reviews.apache.org/r/22647/

{code}
    // 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);
        }
      }
{code}

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
(v6.3.4#6332)

Mime
View raw message