title: Cassandra SSTable corruption - How to prevent?
body: <p>We running a two data center Cassandra cluster. And write data from Apache spark using Cassandra spark connector.</p>
  <p>We sometimes see SS Table corruption errors in some nodes.
  Below is a sample exception:</p>
  <blockquote>
  <p>java.lang.RuntimeException: org.apache.cassandra.io.sstable.CorruptSSTableException: Corrupted: /cassandra/data/data/ams/mydata_attr_v1-de4f9960a01711e783ea2bd3a6beadcf/mc-2925-big-Data.db at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2490) ~[apache-cassandra-3.9.jar:3.9] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_72] at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164) ~</p>
  </blockquote>
  <p>My questions:</p>
  <ol>
  <li>What are the reason for SSTable corruption errors?</li>
  <li>How do I prevent SSTable corruption errors?</li>
  </ol>
  <p>I see documentation on how fix SStable errors when it happens, but there is no clear documentation on causes of these errors and preventing them.</p>