You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ec...@apache.org on 2012/10/15 15:28:25 UTC

svn commit: r1398283 - in /accumulo/branches/1.4: ./ src/ src/core/ src/server/ src/server/src/main/java/org/apache/accumulo/server/tabletserver/ src/server/src/test/java/org/apache/accumulo/server/tabletserver/

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



Re: svn commit: r1398283 - in /accumulo/branches/1.4: ./ src/ src/core/ src/server/ src/server/src/main/java/org/apache/accumulo/server/tabletserver/ src/server/src/test/java/org/apache/accumulo/server/tabletserver/

Posted by Keith Turner <ke...@deenlo.com>.
On Mon, Oct 15, 2012 at 1:07 PM, Keith Turner <ke...@deenlo.com> 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,  <ec...@apache.org> 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));
>>    }
>>  }
>>
>>

Re: svn commit: r1398283 - in /accumulo/branches/1.4: ./ src/ src/core/ src/server/ src/server/src/main/java/org/apache/accumulo/server/tabletserver/ src/server/src/test/java/org/apache/accumulo/server/tabletserver/

Posted by Keith Turner <ke...@deenlo.com>.
Should probably clear recently unloaded set when a tablets are loaded

On Mon, Oct 15, 2012 at 9:28 AM,  <ec...@apache.org> 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));
>    }
>  }
>
>