[infinispan-commits] Infinispan SVN: r1758 - in trunk/server: core/src/main/scala/org/infinispan/server/core/transport/netty and 2 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Fri May 7 10:23:44 EDT 2010
Author: galder.zamarreno at jboss.com
Date: 2010-05-07 10:23:44 -0400 (Fri, 07 May 2010)
New Revision: 1758
Modified:
trunk/server/core/src/main/scala/org/infinispan/server/core/transport/ChannelBuffer.scala
trunk/server/core/src/main/scala/org/infinispan/server/core/transport/netty/ChannelBufferAdapter.scala
trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/HotRodEncoder.scala
trunk/server/hotrod/src/test/scala/org/infinispan/server/hotrod/test/HotRodClient.scala
Log:
Hashcodes should be read/writen as fixed length integers and not variable ones.
Modified: trunk/server/core/src/main/scala/org/infinispan/server/core/transport/ChannelBuffer.scala
===================================================================
--- trunk/server/core/src/main/scala/org/infinispan/server/core/transport/ChannelBuffer.scala 2010-05-07 12:45:06 UTC (rev 1757)
+++ trunk/server/core/src/main/scala/org/infinispan/server/core/transport/ChannelBuffer.scala 2010-05-07 14:23:44 UTC (rev 1758)
@@ -23,6 +23,7 @@
*/
def readString: String
def readLong: Long
+ def readInt: Int
def writeByte(value: Byte)
def writeBytes(src: Array[Byte])
@@ -40,6 +41,7 @@
*/
def writeString(msg: String)
def writeLong(l: Long)
+ def writeInt(i: Int)
def getUnderlyingChannelBuffer: AnyRef
}
\ No newline at end of file
Modified: trunk/server/core/src/main/scala/org/infinispan/server/core/transport/netty/ChannelBufferAdapter.scala
===================================================================
--- trunk/server/core/src/main/scala/org/infinispan/server/core/transport/netty/ChannelBufferAdapter.scala 2010-05-07 12:45:06 UTC (rev 1757)
+++ trunk/server/core/src/main/scala/org/infinispan/server/core/transport/netty/ChannelBufferAdapter.scala 2010-05-07 14:23:44 UTC (rev 1758)
@@ -32,6 +32,7 @@
*/
override def readString: String = new String(readRangedBytes, "UTF8")
override def readLong: Long = buffer.readLong
+ override def readInt: Int = buffer.readInt
override def writeByte(value: Byte) = buffer.writeByte(value)
override def writeBytes(src: Array[Byte]) = buffer.writeBytes(src)
@@ -52,6 +53,7 @@
*/
override def writeString(msg: String) = writeRangedBytes(msg.getBytes())
override def writeLong(l: Long) = buffer.writeLong(l)
+ override def writeInt(i: Int) = buffer.writeInt(i)
override def getUnderlyingChannelBuffer: AnyRef = buffer
Modified: trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/HotRodEncoder.scala
===================================================================
--- trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/HotRodEncoder.scala 2010-05-07 12:45:06 UTC (rev 1757)
+++ trunk/server/hotrod/src/main/scala/org/infinispan/server/hotrod/HotRodEncoder.scala 2010-05-07 14:23:44 UTC (rev 1758)
@@ -94,7 +94,7 @@
t.view.members.foreach{address =>
buffer.writeString(address.host)
buffer.writeUnsignedShort(address.port)
- buffer.writeUnsignedInt(0) // Address' hash id
+ buffer.writeInt(0) // Address' hash id
}
}
@@ -115,16 +115,16 @@
val cachedHashId = address.hashIds.get(r.cacheName)
val hashId = consistentHash.getHashId(address.clusterAddress)
val newAddress =
- // If distinct or not present, cached hash id needs updating
- if (cachedHashId == None || cachedHashId.get != hashId) {
- if (!hashIdUpdateRequired) hashIdUpdateRequired = true
- val newHashIds = address.hashIds + (r.cacheName -> hashId)
- address.copy(hashIds = newHashIds)
- } else {
- address
- }
+ // If distinct or not present, cached hash id needs updating
+ if (cachedHashId == None || cachedHashId.get != hashId) {
+ if (!hashIdUpdateRequired) hashIdUpdateRequired = true
+ val newHashIds = address.hashIds + (r.cacheName -> hashId)
+ address.copy(hashIds = newHashIds)
+ } else {
+ address
+ }
updateMembers += newAddress
- buffer.writeUnsignedInt(hashId) // Address' hash id
+ buffer.writeInt(hashId) // Address' hash id
}
// At least a hash id had to be updated in the view. Take the view copy and distribute it around the cluster
if (hashIdUpdateRequired) {
Modified: trunk/server/hotrod/src/test/scala/org/infinispan/server/hotrod/test/HotRodClient.scala
===================================================================
--- trunk/server/hotrod/src/test/scala/org/infinispan/server/hotrod/test/HotRodClient.scala 2010-05-07 12:45:06 UTC (rev 1757)
+++ trunk/server/hotrod/src/test/scala/org/infinispan/server/hotrod/test/HotRodClient.scala 2010-05-07 14:23:44 UTC (rev 1758)
@@ -290,7 +290,7 @@
for (i <- 0 until numberClusterMembers) {
val host = buf.readString
val port = buf.readUnsignedShort
- val hashId = buf.readUnsignedInt
+ val hashId = buf.readInt
viewArray(i) = TopologyAddress(host, port, Map(op.cacheName -> hashId), null)
}
Some(HashDistAwareResponse(TopologyView(topologyId, viewArray.toList), numOwners, hashFunction, hashSpace))
More information about the infinispan-commits
mailing list