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/07/06 15:23:30 UTC

svn commit: r1143399 - in /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service: DatacenterReadCallback.java ReadCallback.java

Author: jbellis
Date: Wed Jul  6 13:23:29 2011
New Revision: 1143399

URL: http://svn.apache.org/viewvc?rev=1143399&view=rev
Log:
log unavailableexception details at debug level
patch by jbellis; reviewed by slebresne for CASSANDRA-2856

Modified:
    cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/DatacenterReadCallback.java
    cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/ReadCallback.java

Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/DatacenterReadCallback.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/DatacenterReadCallback.java?rev=1143399&r1=1143398&r2=1143399&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/DatacenterReadCallback.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/DatacenterReadCallback.java Wed Jul  6 13:23:29 2011
@@ -77,8 +77,21 @@ public class DatacenterReadCallback<T> e
             if (localdc.equals(snitch.getDatacenter(endpoint)))
                 localEndpoints++;
         }
-        
-        if(localEndpoints < blockfor)
+
+        if (localEndpoints < blockfor)
+        {
+            if (logger.isDebugEnabled())
+            {
+                StringBuilder builder = new StringBuilder("Local replicas [");
+                for (InetAddress endpoint : endpoints)
+                {
+                    if (localdc.equals(snitch.getDatacenter(endpoint)))
+                        builder.append(endpoint).append(", ");
+                }
+                builder.append("] are insufficient to satisfy LOCAL_QUORUM requirement of ").append(blockfor).append(" live nodes");
+            }
+
             throw new UnavailableException();
+        }
     }
 }

Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/ReadCallback.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/ReadCallback.java?rev=1143399&r1=1143398&r2=1143399&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/ReadCallback.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/ReadCallback.java Wed Jul  6 13:23:29 2011
@@ -204,7 +204,11 @@ public class ReadCallback<T> implements 
     public void assureSufficientLiveNodes() throws UnavailableException
     {
         if (endpoints.size() < blockfor)
+        {
+            logger.debug("Live nodes {} do not satisfy ConsistencyLevel ({} required)",
+                         StringUtils.join(endpoints, ", "), blockfor);
             throw new UnavailableException();
+        }
     }
 
     public boolean isLatencyForSnitch()