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)); >> } >> } >> >>
