Question-101: Suppose one of the nodes in the cluster goes down and for write operation this node was working as a coordinator node, what can be done in this case?

Answer: As it is clearly mentioned that this node was working as a coordinator node for all the writes. These writes are also being written to commit log, so after restart of the node we can replay the all records from the commit log to recover the missing write operation.

Question-102: What are the events you see when Memtable would be flushed?

Answer: Memtables are flushed in case

  1. When manual flash is triggered using nodetool command like drain or flush.
  2. When Memtable has reached the configured fill limit.
  3. If commit table is full then also it forces all the Memtable to be flushed whether Memtable is full or not does not matter.

Question-103: is commit log shared across multiple table?

Answer: On a particular node in the cluster Memtable and SSTable are maintained per table basis. While commit log is shared among all the tables in a keyspace on that node.  

Question-104: Is it possible that a particular partition is stored across the SSTable on a particular node?

Answer: yes, it is possible because whenever Memtable is full it got flesh to SSTable. Once SSTable is created it cannot be overwritten. When data is written for the same partition again then it would go in the new SSTable, which causes same partition spread across multiple SSTable. During the compaction process all the partition can be merged and single SSTable would be created. 

Question-105: For efficient read data from SSTable a particular Data Structure is checked whether this SSTable has the data or not, what is that data structure?

Answer: This is a Bloom filter, which tells the probability of having particular partition key in an SSTable. However, it does not give a guarantee that whatever it is telling/informing about particular partition key is available in this SSTable would be there in SSTable. Hence, this is false positive behavior, but it guarantees that if it says that this partition key is not available in this SSTable then it is guaranteed, and this is true negative behavior.