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 2009/09/30 21:40:04 UTC
svn commit: r820418 - in
/incubator/cassandra/trunk/src/java/org/apache/cassandra:
db/ReadVerbHandler.java service/ReadResponseResolver.java
service/StorageProxy.java
Author: jbellis
Date: Wed Sep 30 19:40:04 2009
New Revision: 820418
URL: http://svn.apache.org/viewvc?rev=820418&view=rev
Log:
logging for digests. patch by jbellis for CASSANDRA-462
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ReadVerbHandler.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/ReadResponseResolver.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ReadVerbHandler.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ReadVerbHandler.java?rev=820418&r1=820417&r2=820418&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ReadVerbHandler.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ReadVerbHandler.java Wed Sep 30 19:40:04 2009
@@ -29,6 +29,7 @@
import org.apache.cassandra.net.Message;
import org.apache.cassandra.net.MessagingService;
import org.apache.cassandra.service.StorageService;
+import org.apache.cassandra.utils.FBUtilities;
import org.apache.log4j.Logger;
@@ -79,6 +80,8 @@
ReadResponse readResponse;
if (readCommand.isDigestQuery())
{
+ if (logger_.isDebugEnabled())
+ logger_.debug("digest is " + FBUtilities.bytesToHex(row.digest()));
readResponse = new ReadResponse(row.digest());
}
else
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/service/ReadResponseResolver.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/ReadResponseResolver.java?rev=820418&r1=820417&r2=820418&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/service/ReadResponseResolver.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/service/ReadResponseResolver.java Wed Sep 30 19:40:04 2009
@@ -34,6 +34,8 @@
import org.apache.cassandra.net.EndPoint;
import org.apache.cassandra.net.Message;
import org.apache.cassandra.utils.LogUtil;
+import org.apache.cassandra.utils.FBUtilities;
+
import org.apache.log4j.Logger;
@@ -76,10 +78,7 @@
{
byte[] body = response.getMessageBody();
bufIn.reset(body, body.length);
- long start = System.currentTimeMillis();
ReadResponse result = ReadResponse.serializer().deserialize(bufIn);
- if (logger_.isDebugEnabled())
- logger_.debug( "Response deserialization time : " + (System.currentTimeMillis() - start) + " ms.");
if (result.isDigestQuery())
{
digest = result.digest();
@@ -102,11 +101,12 @@
if (!Arrays.equals(row.digest(), digest))
{
/* Wrap the key as the context in this exception */
- throw new DigestMismatchException(row.key());
- }
- }
- }
-
+ String s = String.format("Mismatch for key %s (%s vs %s)", row.key(), FBUtilities.bytesToHex(row.digest()), FBUtilities.bytesToHex(digest));
+ throw new DigestMismatchException(s);
+ }
+ }
+ }
+
/* If the rowList is empty then we had some exception above. */
if (rowList.size() == 0)
{
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java?rev=820418&r1=820417&r2=820418&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java Wed Sep 30 19:40:04 2009
@@ -404,7 +404,7 @@
QuorumResponseHandler<Row> quorumResponseHandlerRepair = new QuorumResponseHandler<Row>(
DatabaseDescriptor.getQuorum(),
readResponseResolverRepair);
- logger.info("DigestMismatchException: " + command.key);
+ logger.info("DigestMismatchException: " + ex.getMessage());
Message messageRepair = command.makeReadMessage();
MessagingService.getMessagingInstance().sendRR(messageRepair, commandEndPoints.get(commandIndex), quorumResponseHandlerRepair);
try