Author: slebresne
Date: Sat Oct 1 15:17:28 2011
New Revision: 1178012
URL: http://svn.apache.org/viewvc?rev=1178012&view=rev
Log:
Don't try to deliver hints when there isn't any
patch by jbellis; reviewed by slebresne for CASSANDRA-3176
Modified:
cassandra/branches/cassandra-1.0.0/CHANGES.txt
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java
Modified: cassandra/branches/cassandra-1.0.0/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/CHANGES.txt?rev=1178012&r1=1178011&r2=1178012&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0.0/CHANGES.txt Sat Oct 1 15:17:28 2011
@@ -15,6 +15,7 @@
* ignore any CF ids sent by client for adding CF/KS (CASSANDRA-3288)
* remove obsolete hints on first startup (CASSANDRA-3291)
* use correct ISortedColumns for time-optimized reads (CASSANDRA-3289)
+ * don't try delivering hints if when there isn't any (CASSANDRA-3176)
1.0.0-rc1
Modified:
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java?rev=1178012&r1=1178011&r2=1178012&view=diff
==============================================================================
---
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java
(original)
+++
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/HintedHandOffManager.java
Sat Oct 1 15:17:28 2011
@@ -225,6 +225,10 @@ public class HintedHandOffManager implem
private void deliverHintsToEndpoint(InetAddress endpoint) throws
IOException, DigestMismatchException, InvalidRequestException,
TimeoutException, InterruptedException
{
+ ColumnFamilyStore hintStore =
Table.open(Table.SYSTEM_TABLE).getColumnFamilyStore(HINTS_CF);
+ if (hintStore.getSSTables().isEmpty())
+ return; // nothing to do, don't confuse users by logging a no-op
handoff
+
try
{
logger_.debug("Checking remote({}) schema before delivering
hints", endpoint);
@@ -260,7 +264,6 @@ public class HintedHandOffManager implem
ByteBuffer tokenBytes =
StorageService.getPartitioner().getTokenFactory().toByteArray(token);
DecoratedKey<?> epkey =
StorageService.getPartitioner().decorateKey(tokenBytes);
int rowsReplayed = 0;
- ColumnFamilyStore hintStore =
Table.open(Table.SYSTEM_TABLE).getColumnFamilyStore(HINTS_CF);
ByteBuffer startColumn = ByteBufferUtil.EMPTY_BYTE_BUFFER;
delivery:
@@ -323,6 +326,7 @@ public class HintedHandOffManager implem
*/
public void deliverHints(final InetAddress to)
{
+ logger_.debug("deliverHints to {}", to);
if (!queuedDeliveries.add(to))
return;