You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2012/02/09 04:46:21 UTC

[2/3] git commit: make FBUtilities.hash more efficient patch by Dave Brosius; reviewed by jbellis for CASSANDRA-3869

make FBUtilities.hash more efficient
patch by Dave Brosius; reviewed by jbellis for CASSANDRA-3869


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/96afdba8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/96afdba8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/96afdba8

Branch: refs/heads/trunk
Commit: 96afdba855f94bce44f5747121e6019529dc8c07
Parents: ba637b4
Author: Jonathan Ellis <jb...@apache.org>
Authored: Wed Feb 8 21:46:00 2012 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Wed Feb 8 21:46:00 2012 -0600

----------------------------------------------------------------------
 .../org/apache/cassandra/utils/FBUtilities.java    |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/96afdba8/src/java/org/apache/cassandra/utils/FBUtilities.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/utils/FBUtilities.java b/src/java/org/apache/cassandra/utils/FBUtilities.java
index 6bed524..7736d4c 100644
--- a/src/java/org/apache/cassandra/utils/FBUtilities.java
+++ b/src/java/org/apache/cassandra/utils/FBUtilities.java
@@ -216,9 +216,12 @@ public class FBUtilities
     public static byte[] hash(ByteBuffer... data)
     {
         MessageDigest messageDigest = localMD5Digest.get();
-        for(ByteBuffer block : data)
+        for (ByteBuffer block : data)
         {
-            messageDigest.update(block.duplicate());
+            if (block.hasArray())
+                messageDigest.update(block.array(), block.position(), block.remaining());
+            else
+                messageDigest.update(block.duplicate());
         }
 
         return messageDigest.digest();