Author: jbellis
Date: Mon Apr 25 13:53:53 2011
New Revision: 1096483
URL: http://svn.apache.org/viewvc?rev=1096483&view=rev
Log:
centralize timeout logging in StorageProxy, and preserve the timeoutexception
message
patch by Stu Hood; reviewed by jbellis for CASSANDRA-2532
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageProxy.java
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageProxy.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageProxy.java?rev=1096483&r1=1096482&r2=1096483&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageProxy.java
(original)
+++
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageProxy.java
Mon Apr 25 13:53:53 2011
@@ -160,6 +160,17 @@ public class StorageProxy implements Sto
responseHandler.get();
}
}
+ catch (TimeoutException ex)
+ {
+ if (logger.isDebugEnabled())
+ {
+ List<String> mstrings = new ArrayList<String>();
+ for (IMutation mutation : mutations)
+ mstrings.add(mutation.toString(true));
+ logger.debug("Write timeout {} for one (or more) of: ",
ex.toString(), mstrings);
+ }
+ throw ex;
+ }
catch (IOException e)
{
assert mostRecentMutation != null;
@@ -568,11 +579,16 @@ public class StorageProxy implements Sto
if (logger.isDebugEnabled())
logger.debug("Read: " + (System.currentTimeMillis() -
startTime2) + " ms.");
}
+ catch (TimeoutException ex)
+ {
+ if (logger.isDebugEnabled())
+ logger.debug("Read timeout: {}", ex.toString());
+ throw ex;
+ }
catch (DigestMismatchException ex)
{
if (logger.isDebugEnabled())
- logger.debug("Digest mismatch:", ex);
-
+ logger.debug("Digest mismatch: {}", ex.toString());
RowRepairResolver resolver = new
RowRepairResolver(command.table, command.key);
RepairCallback<Row> repairHandler = new
RepairCallback<Row>(resolver, handler.endpoints);
for (InetAddress endpoint : handler.endpoints)
@@ -703,6 +719,12 @@ public class StorageProxy implements Sto
logger.debug("range slices read {}", row.key);
}
}
+ catch (TimeoutException ex)
+ {
+ if (logger.isDebugEnabled())
+ logger.debug("Range slice timeout: {}",
ex.toString());
+ throw ex;
+ }
catch (DigestMismatchException e)
{
throw new AssertionError(e); // no digests in range
slices yet
@@ -963,6 +985,12 @@ public class StorageProxy implements Sto
logger.debug("read {}", row);
}
}
+ catch (TimeoutException ex)
+ {
+ if (logger.isDebugEnabled())
+ logger.debug("Index scan timeout: {}", ex.toString());
+ throw ex;
+ }
catch (DigestMismatchException e)
{
throw new RuntimeException(e);
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java?rev=1096483&r1=1096482&r2=1096483&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
(original)
+++
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/thrift/CassandraServer.java
Mon Apr 25 13:53:53 2011
@@ -115,7 +115,6 @@ public class CassandraServer implements
}
catch (TimeoutException e)
{
- logger.debug("... timed out");
throw new TimedOutException();
}
catch (IOException e)
@@ -552,7 +551,6 @@ public class CassandraServer implements
}
catch (TimeoutException e)
{
- logger.debug("... timed out");
throw new TimedOutException();
}
}
@@ -620,7 +618,6 @@ public class CassandraServer implements
}
catch (TimeoutException e)
{
- logger.debug("... timed out");
throw new TimedOutException();
}
catch (IOException e)
@@ -666,7 +663,6 @@ public class CassandraServer implements
}
catch (TimeoutException e)
{
- logger.debug("... timed out");
throw new TimedOutException();
}
return thriftifyKeySlices(rows, column_parent, column_predicate);
@@ -1064,10 +1060,7 @@ public class CassandraServer implements
public void remove_counter(ByteBuffer key, ColumnPath path,
ConsistencyLevel consistency_level)
throws InvalidRequestException, UnavailableException,
TimedOutException, TException
{
- if (logger.isDebugEnabled())
- logger.debug("remove_counter");
-
- String keyspace = state().getKeyspace();
+ logger.debug("remove_counter");
internal_remove(key, path, System.currentTimeMillis(),
consistency_level, true);
}