You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@esme.apache.org by vd...@apache.org on 2009/11/26 12:03:50 UTC

svn commit: r884504 - in /incubator/esme/trunk/server/src: main/scala/org/apache/esme/actor/PopStatsActor.scala test/scala/org/apache/esme/actor/PopStatsActorTest.scala

Author: vdichev
Date: Thu Nov 26 11:03:49 2009
New Revision: 884504

URL: http://svn.apache.org/viewvc?rev=884504&view=rev
Log:
Fixed PopStatsActor expiration

Modified:
    incubator/esme/trunk/server/src/main/scala/org/apache/esme/actor/PopStatsActor.scala
    incubator/esme/trunk/server/src/test/scala/org/apache/esme/actor/PopStatsActorTest.scala

Modified: incubator/esme/trunk/server/src/main/scala/org/apache/esme/actor/PopStatsActor.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/actor/PopStatsActor.scala?rev=884504&r1=884503&r2=884504&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/org/apache/esme/actor/PopStatsActor.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/org/apache/esme/actor/PopStatsActor.scala Thu Nov 26 11:03:49 2009
@@ -101,8 +101,9 @@
       reply(topList)
       
       case Expire => {
-        val (live, expired) = queue.partition(_.when < now)
+        val (live, expired) = queue.partition(_.when > now)
         expired.foreach(stats -= _.id)
+        ActorPing.schedule(this, Expire, refreshInterval)
         live
       }
     }

Modified: incubator/esme/trunk/server/src/test/scala/org/apache/esme/actor/PopStatsActorTest.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/test/scala/org/apache/esme/actor/PopStatsActorTest.scala?rev=884504&r1=884503&r2=884504&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/test/scala/org/apache/esme/actor/PopStatsActorTest.scala (original)
+++ incubator/esme/trunk/server/src/test/scala/org/apache/esme/actor/PopStatsActorTest.scala Thu Nov 26 11:03:49 2009
@@ -33,19 +33,25 @@
   
   "Popularity Stats" should {
     "Update top hits after inrcementing statistics" in {
-      PopStatsActor !? (500, PopStatsActor.StartStats(ResendStat, 5000, 5000))
+      PopStatsActor !? (100, PopStatsActor.StartStats(ResendStat, 2000, 1000))
 
-      PopStatsActor !? (500, PopStatsActor.IncrStats(ResendStat, 1))
-      val stats1 = PopStatsActor !? PopStatsActor.TopStats(ResendStat, 5, 5000)
+      PopStatsActor !? (100, PopStatsActor.IncrStats(ResendStat, 1))
+      val stats1 = PopStatsActor !? PopStatsActor.TopStats(ResendStat, 5, 2000)
       stats1 must beEqualTo(List(1 -> 1))
 
-      PopStatsActor !? (500, PopStatsActor.IncrStats(ResendStat, 3))
-      val stats2 = PopStatsActor !? PopStatsActor.TopStats(ResendStat, 5, 5000)
+      PopStatsActor !? (100, PopStatsActor.IncrStats(ResendStat, 3))
+      val stats2 = PopStatsActor !? PopStatsActor.TopStats(ResendStat, 5, 2000)
       stats2 must beEqualTo(List(3 -> 1, 1 -> 1))
 
-      PopStatsActor !? (500, PopStatsActor.IncrStats(ResendStat, 1))
-      val stats3 = PopStatsActor !? PopStatsActor.TopStats(ResendStat, 5, 5000)
+      PopStatsActor !? (100, PopStatsActor.IncrStats(ResendStat, 1))
+      val stats3 = PopStatsActor !? PopStatsActor.TopStats(ResendStat, 5, 2000)
       stats3 must beEqualTo(List(1 -> 2, 3 -> 1))
     }
+    
+    "Information should expire after timeout" in {
+      Thread.sleep(2000)
+      val stats = PopStatsActor !? PopStatsActor.TopStats(ResendStat, 5, 2000)
+      stats must beEqualTo(Nil)
+    }
   }
 }