On Mon, Oct 15, 2012 at 1:07 PM, Keith Turner <[email protected]> wrote:
> Should probably clear recently unloaded set when a tablets are loaded
>

I didn't say what I meant... do not need to clean the entire set...
just remove the tablet that was just loaded

> On Mon, Oct 15, 2012 at 9:28 AM,  <[email protected]> wrote:
>> Author: ecn
>> Date: Mon Oct 15 13:28:25 2012
>> New Revision: 1398283
>>
>> URL: http://svn.apache.org/viewvc?rev=1398283&view=rev
>> Log:
>> ACCUMULO-774 merge to 1.4 branch
>>
>> Added:
>>     
>> accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/SimpleLRUCache.java
>>       - copied unchanged from r1398282, 
>> accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/SimpleLRUCache.java
>>     
>> accumulo/branches/1.4/src/server/src/test/java/org/apache/accumulo/server/tabletserver/SimpleLRUCacheTest.java
>>       - copied, changed from r1397990, 
>> accumulo/trunk/server/src/test/java/org/apache/accumulo/server/tabletserver/SimpleLRUCacheTest.java
>> Modified:
>>     accumulo/branches/1.4/   (props changed)
>>     accumulo/branches/1.4/src/   (props changed)
>>     accumulo/branches/1.4/src/core/   (props changed)
>>     accumulo/branches/1.4/src/server/   (props changed)
>>     
>> accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
>>
>> Propchange: accumulo/branches/1.4/
>> ------------------------------------------------------------------------------
>>   Merged /accumulo/trunk:r1397928,1397975,1397990
>>
>> Propchange: accumulo/branches/1.4/src/
>> ------------------------------------------------------------------------------
>>   Merged /accumulo/trunk/src:r1397928,1397975,1397990
>>   Merged /accumulo/trunk:r1397928,1397975,1397990,1398090
>>
>> Propchange: accumulo/branches/1.4/src/core/
>> ------------------------------------------------------------------------------
>>   Merged /accumulo/trunk/src/core:r1397928,1397975,1397990
>>   Merged /accumulo/trunk/core:r1397928,1397975,1397990,1398090
>>
>> Propchange: accumulo/branches/1.4/src/server/
>> ------------------------------------------------------------------------------
>>   Merged /accumulo/trunk/src/server:r1397928,1397975,1397990
>>   Merged /accumulo/trunk/server:r1397928,1397975,1397990,1398090
>>
>> Modified: 
>> accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
>> URL: 
>> http://svn.apache.org/viewvc/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java?rev=1398283&r1=1398282&r2=1398283&view=diff
>> ==============================================================================
>> --- 
>> accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
>>  (original)
>> +++ 
>> accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
>>  Mon Oct 15 13:28:25 2012
>> @@ -2258,8 +2258,10 @@ public class TabletServer extends Abstra
>>        if (t == null) {
>>          // Tablet has probably been recently unloaded: repeated master
>>          // unload request is crossing the successful unloaded message
>> -        log.info("told to unload tablet that was not being served " + 
>> extent);
>> -        enqueueMasterMessage(new 
>> TabletStatusMessage(TabletLoadState.UNLOAD_FAILURE_NOT_SERVING, extent));
>> +        if (!recentlyUnloadedCache.contains(extent)) {
>> +          log.info("told to unload tablet that was not being served " + 
>> extent);
>> +          enqueueMasterMessage(new 
>> TabletStatusMessage(TabletLoadState.UNLOAD_FAILURE_NOT_SERVING, extent));
>> +        }
>>          return;
>>        }
>>
>> @@ -2279,6 +2281,7 @@ public class TabletServer extends Abstra
>>
>>        // stop serving tablet - client will get not serving tablet
>>        // exceptions
>> +      recentlyUnloadedCache.add(extent);
>>        onlineTablets.remove(extent);
>>
>>        try {
>> @@ -2501,6 +2504,7 @@ public class TabletServer extends Abstra
>>    private SortedMap<KeyExtent,Tablet> onlineTablets = 
>> Collections.synchronizedSortedMap(new TreeMap<KeyExtent,Tablet>());
>>    private SortedSet<KeyExtent> unopenedTablets = 
>> Collections.synchronizedSortedSet(new TreeSet<KeyExtent>());
>>    private SortedSet<KeyExtent> openingTablets = 
>> Collections.synchronizedSortedSet(new TreeSet<KeyExtent>());
>> +  private Set<KeyExtent> recentlyUnloadedCache = 
>> Collections.synchronizedSet(new SimpleLRUCache<KeyExtent>(10));
>>
>>    private Thread majorCompactorThread;
>>
>>
>> Copied: 
>> accumulo/branches/1.4/src/server/src/test/java/org/apache/accumulo/server/tabletserver/SimpleLRUCacheTest.java
>>  (from r1397990, 
>> accumulo/trunk/server/src/test/java/org/apache/accumulo/server/tabletserver/SimpleLRUCacheTest.java)
>> URL: 
>> http://svn.apache.org/viewvc/accumulo/branches/1.4/src/server/src/test/java/org/apache/accumulo/server/tabletserver/SimpleLRUCacheTest.java?p2=accumulo/branches/1.4/src/server/src/test/java/org/apache/accumulo/server/tabletserver/SimpleLRUCacheTest.java&p1=accumulo/trunk/server/src/test/java/org/apache/accumulo/server/tabletserver/SimpleLRUCacheTest.java&r1=1397990&r2=1398283&rev=1398283&view=diff
>> ==============================================================================
>> --- 
>> accumulo/trunk/server/src/test/java/org/apache/accumulo/server/tabletserver/SimpleLRUCacheTest.java
>>  (original)
>> +++ 
>> accumulo/branches/1.4/src/server/src/test/java/org/apache/accumulo/server/tabletserver/SimpleLRUCacheTest.java
>>  Mon Oct 15 13:28:25 2012
>> @@ -21,7 +21,7 @@ import static org.junit.Assert.*;
>>  import org.junit.Test;
>>
>>  public class SimpleLRUCacheTest {
>> -
>> +
>>    @Test
>>    public void test() {
>>      SimpleLRUCache<Integer> test = new SimpleLRUCache<Integer>(4);
>> @@ -34,5 +34,11 @@ public class SimpleLRUCacheTest {
>>      test.add(3);
>>      test.add(4);
>>      assertFalse(test.contains(0));
>> +    test.add(2);
>> +    test.add(2);
>> +    test.add(2);
>> +    test.add(2);
>> +    assertTrue(test.contains(3));
>> +    assertTrue(test.contains(4));
>>    }
>>  }
>>
>>

Reply via email to