[infinispan-commits] Infinispan SVN: r2669 - in trunk/server: memcached/src/test/scala/org/infinispan/server/memcached and 1 other directory.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Thu Nov 4 07:04:05 EDT 2010


Author: galder.zamarreno at jboss.com
Date: 2010-11-04 07:04:05 -0400 (Thu, 04 Nov 2010)
New Revision: 2669

Modified:
   trunk/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala
   trunk/server/memcached/src/test/scala/org/infinispan/server/memcached/MemcachedFunctionalTest.scala
Log:
ISPN-745 - In Memcached, unix time expiry before now is considered as immortal - Merged from 4.2.x (rev 2633)

Modified: trunk/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala
===================================================================
--- trunk/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala	2010-11-04 11:02:04 UTC (rev 2668)
+++ trunk/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala	2010-11-04 11:04:05 UTC (rev 2669)
@@ -195,8 +195,12 @@
     * now and it's returned in milliseconds unit.
     */
    private def toMillis(lifespan: Int): Long = {
-      if (lifespan > SecondsInAMonth) TimeUnit.SECONDS.toMillis(lifespan) - System.currentTimeMillis
-      else TimeUnit.SECONDS.toMillis(lifespan)
+      if (lifespan > SecondsInAMonth) {
+         val unixTimeExpiry = TimeUnit.SECONDS.toMillis(lifespan) - System.currentTimeMillis
+         if (unixTimeExpiry < 0) 0 else unixTimeExpiry
+      } else {
+         TimeUnit.SECONDS.toMillis(lifespan)
+      }
    }
 
 }

Modified: trunk/server/memcached/src/test/scala/org/infinispan/server/memcached/MemcachedFunctionalTest.scala
===================================================================
--- trunk/server/memcached/src/test/scala/org/infinispan/server/memcached/MemcachedFunctionalTest.scala	2010-11-04 11:02:04 UTC (rev 2668)
+++ trunk/server/memcached/src/test/scala/org/infinispan/server/memcached/MemcachedFunctionalTest.scala	2010-11-04 11:04:05 UTC (rev 2669)
@@ -39,6 +39,13 @@
       assertNull(client.get(k(m)))
    }
 
+   def testSetWithExpiryUnixTimeInPast(m: Method) {
+      val f = client.set(k(m), 60*60*24*30 + 1, v(m))
+      assertTrue(f.get(timeout, TimeUnit.SECONDS).booleanValue)
+      TestingUtil.sleepThread(1100)
+      assertNull(client.get(k(m)))
+   }
+
    def testGetMultipleKeys(m: Method) {
       val f1 = client.set(k(m, "k1-"), 0, v(m, "v1-"))
       val f2 = client.set(k(m, "k2-"), 0, v(m, "v2-"))



More information about the infinispan-commits mailing list