Can you turn on debug logging and try this patch?

On Wed, Jul 21, 2010 at 1:23 AM, Per Olesen <p...@trifork.com> wrote:
>>> And when one of my non-seed nodes in my 3 node cluster is down, I do NOT 
>>> get the exception.
>>> Anyway, guess I need to try and reproduce it in small scale.
>>
>>Does it return w/ UE immediately, or does it wait for RPCTimeout first?
>
> It returns with UE immediately.
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com
Index: src/java/org/apache/cassandra/service/StorageProxy.java
===================================================================
--- src/java/org/apache/cassandra/service/StorageProxy.java     (revision 
979441)
+++ src/java/org/apache/cassandra/service/StorageProxy.java     (working copy)
@@ -204,6 +204,7 @@
                 Collection<InetAddress> writeEndpoints = 
rs.getWriteEndpoints(StorageService.getPartitioner().getToken(rm.key()), table, 
naturalEndpoints);
                 Multimap<InetAddress, InetAddress> hintedEndpoints = 
rs.getHintedEndpoints(table, writeEndpoints);
                 int blockFor = determineBlockFor(writeEndpoints.size(), 
consistency_level);
+                logger.debug("blocking for " + blockFor + " endpoints out of " 
+ writeEndpoints.size());
 
                 // avoid starting a write we know can't achieve the required 
consistency
                 assureSufficientLiveNodes(blockFor, writeEndpoints, 
hintedEndpoints, consistency_level);
@@ -296,6 +297,7 @@
         }
         if (liveNodes < blockFor)
         {
+            logger.debug("only " + liveNodes + " seen out of " + blockFor + " 
required; throwing UE");
             throw new UnavailableException();
         }
     }

Reply via email to