[infinispan-commits] Infinispan SVN: r1790 - in trunk/server: hotrod/src/test/scala/org/infinispan/server/hotrod and 1 other directory.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Thu May 13 10:42:06 EDT 2010
Author: galder.zamarreno at jboss.com
Date: 2010-05-13 10:42:05 -0400 (Thu, 13 May 2010)
New Revision: 1790
Modified:
trunk/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala
trunk/server/hotrod/src/test/scala/org/infinispan/server/hotrod/HotRodFunctionalTest.scala
Log:
[ISPN-432] (Add test to verify that a Hot Rod request to an undefined cache fails) Better check whether cache name exists after reading all parameters, otherwise it gets messy for clients making mistakes.
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-05-13 13:37:17 UTC (rev 1789)
+++ trunk/server/core/src/main/scala/org/infinispan/server/core/AbstractProtocolDecoder.scala 2010-05-13 14:42:05 UTC (rev 1790)
@@ -31,11 +31,11 @@
val header = readHeader(buffer)
if (header == null) return null // Something went wrong reading the header, so get more bytes
try {
- val cache = getCache(header)
val ret = header.op match {
case PutRequest | PutIfAbsentRequest | ReplaceRequest | ReplaceIfUnmodifiedRequest | RemoveRequest => {
val k = readKey(header, buffer)
val params = readParameters(header, buffer)
+ val cache = getCache(header)
header.op match {
case PutRequest => put(header, k, params, cache)
case PutIfAbsentRequest => putIfAbsent(header, k, params, cache)
@@ -44,9 +44,9 @@
case RemoveRequest => remove(header, k, params, cache)
}
}
- case GetRequest | GetWithVersionRequest => get(header, buffer, cache)
- case StatsRequest => createStatsResponse(header, cache.getAdvancedCache.getStats)
- case _ => handleCustomRequest(header, buffer, cache)
+ case GetRequest | GetWithVersionRequest => get(header, buffer, getCache(header))
+ case StatsRequest => createStatsResponse(header, getCache(header).getAdvancedCache.getStats)
+ case _ => handleCustomRequest(header, buffer, getCache(header))
}
writeResponse(ctx.getChannel, ret)
null
@@ -74,6 +74,7 @@
private def put(header: SuitableHeader, k: K, params: Option[SuitableParameters], cache: Cache[K, V]): AnyRef = {
val p = params.get
+ val cache = getCache(header)
val v = createValue(header, p, generateVersion(cache))
val prev = cache.put(k, v, toMillis(p.lifespan), DefaultTimeUnit, toMillis(p.maxIdle), DefaultTimeUnit)
createSuccessResponse(header, params, prev)
Modified: trunk/server/hotrod/src/test/scala/org/infinispan/server/hotrod/HotRodFunctionalTest.scala
===================================================================
--- trunk/server/hotrod/src/test/scala/org/infinispan/server/hotrod/HotRodFunctionalTest.scala 2010-05-13 13:37:17 UTC (rev 1789)
+++ trunk/server/hotrod/src/test/scala/org/infinispan/server/hotrod/HotRodFunctionalTest.scala 2010-05-13 14:42:05 UTC (rev 1790)
@@ -55,7 +55,6 @@
def testPutOnUndefinedCache(m: Method) {
var status = client.execute(0xA0, 0x01, "boomooo", k(m), 0, 0, v(m), 0, 1, 0).status
assertEquals(status, ServerError, "Status should have been 'ServerError' but instead was: " + status)
- status = client.executeExpectBadMagic(0xA0, 0x01, cacheName, k(m) , 0, 0, v(m), 0).status
client.assertPut(m)
}
More information about the infinispan-commits
mailing list