cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Cassandra Wiki] Update of "ArchitectureInternals" by PeterSchuller
Date Tue, 12 Apr 2011 22:03:07 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.

The "ArchitectureInternals" page has been changed by PeterSchuller.
http://wiki.apache.org/cassandra/ArchitectureInternals?action=diff&rev1=25&rev2=26

--------------------------------------------------

       * The DynamicSnitch, typically enabled in the configuration, wraps whatever underlying
snitch (such as SimpleSnitch and NetworkTopologySnitch) so as to dynamically adjust the perceived
"closeness" of endpoints based on their recent performance. This is in an effort to try to
avoid routing traffic to endpoints that are slow to respond.
   * !StorageProxy then arranges for messages to be sent to nodes as required:
     * The closest node (as determined by proximity sorting as described above) will be sent
a command to perform an actual data read (i.e., return data to the co-ordinating node). 
-    * As required by consistency level, additional nodes may be sent digest commands, asking
them to perform the read locally but send back the digest only. For example, at replication
factor 3 a read at consistency level QUORUM would require one digest read in additional to
the data read sent to the closest node. (See ReadCallback, instantiated by StorageProxy)
+    * As required by consistency level, additional nodes may be sent digest commands, asking
them to perform the read locally but send back the digest only.
+      * For example, at replication factor 3 a read at consistency level QUORUM would require
one digest read in additional to the data read sent to the closest node. (See ReadCallback,
instantiated by StorageProxy)
     * If read repair is enabled (probabilistically if read repair chance is somewhere between
0% and 100%), remaining nodes responsible for the row will be sent messages to compute the
digest of the response. (Again, see ReadCallback, instantiated by StorageProxy)
   * On the data node, !ReadVerbHandler gets the data from CFS.getColumnFamily or CFS.getRangeSlice
and sends it back as a !ReadResponse
     * The row is located by doing a binary search on the index in SSTableReader.getPosition

Mime
View raw message