[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