Dear Wiki user,

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

The "ArchitectureGossip" page has been changed by JonathanEllis.
http://wiki.apache.org/cassandra/ArchitectureGossip?action=diff&rev1=2&rev2=3

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

  = Gossiper =
+ 
+ The gossiper is responsible for making sure every node in the system 
eventually knows important information about every other node's state, 
including those that are unreachable or not yet in the cluster when any given 
state change occurs.
+ 
+ == API ==
+ 
+ Information to gossip is wrapped in an !ApplicationState object, which is 
essentially a key/value pair.  (See "Data Structures" below for more detail.)  
The gossiper propagates these to other nodes, where interested classes 
subscribe to changes via the !IEndPointStateChangeSubscriber interface.  This 
provides onJoin, onAlive, and onDead methods indicating the obvious things, and 
onChange for !ApplicationState changes.  onChange is called once for each 
!ApplicationState.  There are two non-obvious properties to this:
+  1. If a node makes multiple changes to a given !ApplicationState key, other 
nodes are guaranteed to see the most recent one but not intermediate ones
+  1. There is no provision for deleting an !ApplicationState entirely
+ 
+ == Gossiper implementation ==
+ 
  Gossip timer task runs every second. During each of these runs the node 
initiates gossip exchange according to following rules:
  
   1. Gossip to random live endpoint (if any)

Reply via email to