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/27 03:20:05 UTC

svn commit: r1151302 - in /cassandra/trunk/src/java/org/apache/cassandra/service: RowDigestResolver.java RowRepairResolver.java StorageProxy.java

Author: jbellis
Date: Wed Jul 27 01:20:04 2011
New Revision: 1151302

URL: http://svn.apache.org/viewvc?rev=1151302&view=rev
Log:
update comments

Modified:
    cassandra/trunk/src/java/org/apache/cassandra/service/RowDigestResolver.java
    cassandra/trunk/src/java/org/apache/cassandra/service/RowRepairResolver.java
    cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java

Modified: cassandra/trunk/src/java/org/apache/cassandra/service/RowDigestResolver.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/RowDigestResolver.java?rev=1151302&r1=1151301&r2=1151302&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/service/RowDigestResolver.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/RowDigestResolver.java Wed Jul 27 01:20:04 2011
@@ -49,12 +49,12 @@ public class RowDigestResolver extends A
     /*
      * This method handles two different scenarios:
      *
-     * 1a)we're handling the initial read, of data from the closest replica + digests
+     * a) we're handling the initial read, of data from the closest replica + digests
      *    from the rest.  In this case we check the digests against each other,
      *    throw an exception if there is a mismatch, otherwise return the data row.
      *
-     * 1b)we're checking additional digests that arrived after the minimum to handle
-     *    the requested ConsistencyLevel, i.e. asynchronouse read repair check
+     * b) we're checking additional digests that arrived after the minimum to handle
+     *    the requested ConsistencyLevel, i.e. asynchronous read repair check
      */
     public Row resolve() throws DigestMismatchException, IOException
     {
@@ -64,7 +64,7 @@ public class RowDigestResolver extends A
         long startTime = System.currentTimeMillis();
 		ColumnFamily data = null;
 
-        // case 1: validate digests against each other; throw immediately on mismatch.
+        // validate digests against each other; throw immediately on mismatch.
         // also, collects data results into versions/endpoints lists.
         //
         // results are cleared as we process them, to avoid unnecessary duplication of work
@@ -93,12 +93,11 @@ public class RowDigestResolver extends A
             }
         }
 
-		// If there was a digest query compare it with all the data digests
-		// If there is a mismatch then throw an exception so that read repair can happen.
+		// Compare digest (only one, since we threw earlier if there were different replies)
+        // with the data response. If there is a mismatch then throw an exception so that read repair can happen.
         //
-        // It's important to note that we do not compare the digests of multiple data responses --
-        // if we are in that situation we know there was a previous mismatch and now we're doing a repair,
-        // so our job is now case 2: figure out what the most recent version is and update everyone to that version.
+        // It's important to note that we do not consider the possibility of multiple data responses --
+        // that can only happen when we're doing the repair post-mismatch, and will be handled by RowRepairResolver.
         if (digest != null)
         {
             ByteBuffer digest2 = ColumnFamily.digest(data);

Modified: cassandra/trunk/src/java/org/apache/cassandra/service/RowRepairResolver.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/RowRepairResolver.java?rev=1151302&r1=1151301&r2=1151302&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/service/RowRepairResolver.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/RowRepairResolver.java Wed Jul 27 01:20:04 2011
@@ -45,7 +45,7 @@ public class RowRepairResolver extends A
     /*
     * This method handles the following scenario:
     *
-    * there was a mismatch on the initial read (1a or 1b), so we redid the digest requests
+    * there was a mismatch on the initial read, so we redid the digest requests
     * as full data reads.  In this case we need to compute the most recent version
     * of each column, and send diffs to out-of-date replicas.
     */

Modified: cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java?rev=1151302&r1=1151301&r2=1151302&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java Wed Jul 27 01:20:04 2011
@@ -528,14 +528,12 @@ public class StorageProxy implements Sto
             InetAddress dataPoint = handler.endpoints.get(0);
             if (dataPoint.equals(FBUtilities.getBroadcastAddress()))
             {
-                if (logger.isDebugEnabled())
-                    logger.debug("reading data locally");
+                logger.debug("reading data locally");
                 StageManager.getStage(Stage.READ).execute(new LocalReadRunnable(command, handler));
             }
             else
             {
-                if (logger.isDebugEnabled())
-                    logger.debug("reading data from " + dataPoint);
+                logger.debug("reading data from {}", dataPoint);
                 MessagingService.instance().sendRR(command, dataPoint, handler);
             }
 
@@ -546,14 +544,12 @@ public class StorageProxy implements Sto
             {
                 if (digestPoint.equals(FBUtilities.getBroadcastAddress()))
                 {
-                    if (logger.isDebugEnabled())
-                        logger.debug("reading digest locally");
+                    logger.debug("reading digest locally");
                     StageManager.getStage(Stage.READ).execute(new LocalReadRunnable(digestCommand, handler));
                 }
                 else
                 {
-                    if (logger.isDebugEnabled())
-                        logger.debug("reading digest for from " + digestPoint);
+                    logger.debug("reading digest from {}", digestPoint);
                     MessagingService.instance().sendRR(producer, digestPoint, handler);
                 }
             }