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 2011/02/07 15:30:40 UTC
svn commit: r1067952 - in
/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra:
net/MessagingService.java service/StorageProxy.java utils/ExpiringMap.java
Author: jbellis
Date: Mon Feb 7 14:30:39 2011
New Revision: 1067952
URL: http://svn.apache.org/viewvc?rev=1067952&view=rev
Log:
avoid re-using Message object in index queries
patch by Aaron Morton; reviewed by jbellis for CASSANDRA-2081
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/net/MessagingService.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageProxy.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ExpiringMap.java
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/net/MessagingService.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/net/MessagingService.java?rev=1067952&r1=1067951&r2=1067952&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/net/MessagingService.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/net/MessagingService.java Mon Feb 7 14:30:39 2011
@@ -258,7 +258,8 @@ public final class MessagingService impl
private void addCallback(IMessageCallback cb, String messageId, InetAddress to)
{
- callbacks.put(messageId, new Pair<InetAddress, IMessageCallback>(to, cb));
+ Pair<InetAddress, IMessageCallback> previous = callbacks.put(messageId, new Pair<InetAddress, IMessageCallback>(to, cb));
+ assert previous == null;
}
/**
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageProxy.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageProxy.java?rev=1067952&r1=1067951&r2=1067952&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageProxy.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageProxy.java Mon Feb 7 14:30:39 2011
@@ -811,9 +811,9 @@ public class StorageProxy implements Sto
throw new UnavailableException();
IndexScanCommand command = new IndexScanCommand(keyspace, column_family, index_clause, column_predicate, range);
- Message message = command.getMessage();
for (InetAddress endpoint : liveEndpoints)
{
+ Message message = command.getMessage();
MessagingService.instance().sendRR(message, endpoint, handler);
if (logger.isDebugEnabled())
logger.debug("reading " + command + " from " + message.getMessageId() + "@" + endpoint);
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ExpiringMap.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ExpiringMap.java?rev=1067952&r1=1067951&r2=1067952&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ExpiringMap.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/ExpiringMap.java Mon Feb 7 14:30:39 2011
@@ -107,9 +107,10 @@ public class ExpiringMap<K, V>
timer.cancel();
}
- public void put(K key, V value)
+ public V put(K key, V value)
{
- cache.put(key, new CacheableObject<V>(value));
+ CacheableObject<V> previous = cache.put(key, new CacheableObject<V>(value));
+ return (previous == null) ? null : previous.getValue();
}
public V get(K key)