You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by be...@apache.org on 2014/09/09 04:39:55 UTC
[3/6] git commit: In RowDataResolver, reduce calls to replies.size(),
and use replies.peek() instead of replies.iterator().next()
In RowDataResolver, reduce calls to replies.size(), and use replies.peek() instead of replies.iterator().next()
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f099e086
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f099e086
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f099e086
Branch: refs/heads/trunk
Commit: f099e086f3f002789e24bd6c58e52b7553cd5381
Parents: 852f084
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Tue Sep 9 09:36:14 2014 +0700
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Tue Sep 9 09:38:16 2014 +0700
----------------------------------------------------------------------
.../apache/cassandra/service/AbstractRowResolver.java | 4 ++--
.../org/apache/cassandra/service/RowDataResolver.java | 11 ++++++-----
2 files changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/f099e086/src/java/org/apache/cassandra/service/AbstractRowResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/AbstractRowResolver.java b/src/java/org/apache/cassandra/service/AbstractRowResolver.java
index 1fbb92b..fbbf473 100644
--- a/src/java/org/apache/cassandra/service/AbstractRowResolver.java
+++ b/src/java/org/apache/cassandra/service/AbstractRowResolver.java
@@ -18,7 +18,7 @@
package org.apache.cassandra.service;
import java.nio.ByteBuffer;
-import java.util.Collection;
+import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import org.slf4j.Logger;
@@ -35,7 +35,7 @@ public abstract class AbstractRowResolver implements IResponseResolver<ReadRespo
protected final String keyspaceName;
// CLQ gives us thread-safety without the overhead of guaranteeing uniqueness like a Set would
- protected final Collection<MessageIn<ReadResponse>> replies = new ConcurrentLinkedQueue<>();
+ protected final Queue<MessageIn<ReadResponse>> replies = new ConcurrentLinkedQueue<>();
protected final DecoratedKey key;
public AbstractRowResolver(ByteBuffer key, String keyspaceName)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/f099e086/src/java/org/apache/cassandra/service/RowDataResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/RowDataResolver.java b/src/java/org/apache/cassandra/service/RowDataResolver.java
index f5eee40..9c24776 100644
--- a/src/java/org/apache/cassandra/service/RowDataResolver.java
+++ b/src/java/org/apache/cassandra/service/RowDataResolver.java
@@ -57,15 +57,16 @@ public class RowDataResolver extends AbstractRowResolver
*/
public Row resolve() throws DigestMismatchException
{
+ int replyCount = replies.size();
if (logger.isDebugEnabled())
- logger.debug("resolving {} responses", replies.size());
+ logger.debug("resolving {} responses", replyCount);
long start = System.nanoTime();
ColumnFamily resolved;
- if (replies.size() > 1)
+ if (replyCount > 1)
{
- List<ColumnFamily> versions = new ArrayList<ColumnFamily>(replies.size());
- List<InetAddress> endpoints = new ArrayList<InetAddress>(replies.size());
+ List<ColumnFamily> versions = new ArrayList<>(replyCount);
+ List<InetAddress> endpoints = new ArrayList<>(replyCount);
for (MessageIn<ReadResponse> message : replies)
{
@@ -158,7 +159,7 @@ public class RowDataResolver extends AbstractRowResolver
public Row getData()
{
- return replies.iterator().next().payload.row();
+ return replies.peek().payload.row();
}
public boolean isDataPresent()