[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