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()