[infinispan-commits] Infinispan SVN: r2633 - in branches/4.2.x/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
Fri Oct 29 06:41:49 EDT 2010
Author: galder.zamarreno at jboss.com
Date: 2010-10-29 06:41:48 -0400 (Fri, 29 Oct 2010)
New Revision: 2633
Modified:
branches/4.2.x/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala
branches/4.2.x/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 - If unix expiry time is smaller than now, set for immediate expiration.
Modified: branches/4.2.x/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala
===================================================================
--- branches/4.2.x/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala 2010-10-29 10:37:07 UTC (rev 2632)
+++ branches/4.2.x/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala 2010-10-29 10:41:48 UTC (rev 2633)
@@ -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: branches/4.2.x/server/memcached/src/test/scala/org/infinispan/server/memcached/MemcachedFunctionalTest.scala
===================================================================
--- branches/4.2.x/server/memcached/src/test/scala/org/infinispan/server/memcached/MemcachedFunctionalTest.scala 2010-10-29 10:37:07 UTC (rev 2632)
+++ branches/4.2.x/server/memcached/src/test/scala/org/infinispan/server/memcached/MemcachedFunctionalTest.scala 2010-10-29 10:41:48 UTC (rev 2633)
@@ -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