diff --git a/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java b/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java
index 4de58b4b6b..d40d6a6f07 100644
--- a/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java
@@ -38,13 +38,14 @@ import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.DecoratedKey;
import org.apache.cassandra.db.lifecycle.LifecycleTransaction;
+import org.apache.cassandra.db.memtable.Flushing;
import org.apache.cassandra.dht.IPartitioner;
import org.apache.cassandra.io.sstable.Component;
-import org.apache.cassandra.io.sstable.SSTable;
import org.apache.cassandra.io.sstable.Descriptor;
import org.apache.cassandra.io.sstable.GaugeProvider;
import org.apache.cassandra.io.sstable.IScrubber;
import org.apache.cassandra.io.sstable.MetricsProviders;
+import org.apache.cassandra.io.sstable.SSTable;
import org.apache.cassandra.io.sstable.filter.BloomFilterMetrics;
import org.apache.cassandra.io.sstable.format.AbstractSSTableFormat;
import org.apache.cassandra.io.sstable.format.SSTableFormat;
@@ -66,7 +67,99 @@ import org.apache.cassandra.utils.Pair;
import static org.apache.cassandra.io.sstable.format.SSTableFormat.Components.DATA;
/**
- * Legacy bigtable format
+ * Legacy bigtable format. Components and approximate lifecycle:
+ *
+ * {@link SSTableFormat.Components}
+ *
+ * {@link Components#ALL_COMPONENTS}
+ *
+ * -
+ * {@link Components#SUMMARY}: When searching for a PK we go here for a first approximation on where to look in the index file. It is
+ * a small sampling of the Index entries intended for a first fast search in-memory.
+ *
+ * {@link org.apache.cassandra.io.sstable.indexsummary.IndexSummary}
+ *
+ * {@link IndexSummaryComponent}
+ *
+ *
+ * -
+ * {@link Components#PRIMARY_INDEX}: We'll land here in the approximate area where to look for the PK thanks to the Summary. Now we'll search for
+ * the exact PK to get it's exact position in the data file.
+ *
+ * {@link BigTableWriter#indexWriter}
+ *
+ * {@link RowIndexEntry}
+ *
+ * {@link org.apache.cassandra.io.sstable.IndexInfo}
+ *
+ * {@link org.apache.cassandra.io.sstable.format.IndexComponent}
+ *
+ *
+ * -
+ * {@link Components#DATA}: The actual data/partitions file as an array or partitions. Each partition has the form:
+ *
+ * - A partition header
+ * - Maybe a static row
+ * - Rows or range tombstone
+ *
+ * I.e. upon flush {@link Flushing.FlushRunnable#writeSortedContents}
+ *
+ * Down to {@link org.apache.cassandra.io.sstable.format.SortedTableWriter#startPartition}
+ *
+ * Down to {@link org.apache.cassandra.io.sstable.format.SortedTablePartitionWriter#start}
+ *
+ * {@link org.apache.cassandra.io.sstable.format.DataComponent}
+ *
+ *
+ * -
+ * {@link Components#STATS}: Stats on the data such as min timestamps to later vint encode TTL, markForDeleteAt, etc
+ *
+ * {@link org.apache.cassandra.db.rows.EncodingStats}
+ *
+ * {@link org.apache.cassandra.io.sstable.format.StatsComponent}
+ *
+ *
+ * -
+ * {@link Components#COMPRESSION_INFO}: Contains compresion metadata
+ *
+ * {@link org.apache.cassandra.io.compress.CompressedSequentialWriter}
+ *
+ * {@link org.apache.cassandra.io.compress.CompressionMetadata}
+ *
+ * {@link org.apache.cassandra.io.sstable.format.CompressionInfoComponent}
+ *
+ *
+ * -
+ * {@link Components#DIGEST}: The digest supporting the compression
+ *
+ * {@link org.apache.cassandra.io.compress.CompressedSequentialWriter}
+ *
+ * {@link org.apache.cassandra.io.util.ChecksumWriter}
+ *
+ *
+ * -
+ * {@link Components#FILTER}: Bloom filter for data files
+ *
+ * {@link org.apache.cassandra.io.sstable.format.FilterComponent}
+ *
+ * {@link org.apache.cassandra.utils.BloomFilterSerializer}
+ *
+ *
+ * -
+ * {@link Components#CRC}: CRC for the data
+ *
+ * {@link org.apache.cassandra.io.util.ChecksummedSequentialWriter}
+ *
+ * {@link org.apache.cassandra.io.util.ChecksumWriter}
+ *
+ *
+ * -
+ * {@link Components#TOC}: List of all the components for the SSTable
+ *
+ * {@link org.apache.cassandra.io.sstable.format.TOCComponent}
+ *
+ *
+ *
*/
public class BigFormat extends AbstractSSTableFormat
{
diff --git a/src/java/org/apache/cassandra/io/sstable/indexsummary/IndexSummary.java b/src/java/org/apache/cassandra/io/sstable/indexsummary/IndexSummary.java
index 0d5ccb750b..3aa9fd9d8b 100644
--- a/src/java/org/apache/cassandra/io/sstable/indexsummary/IndexSummary.java
+++ b/src/java/org/apache/cassandra/io/sstable/indexsummary/IndexSummary.java
@@ -61,6 +61,8 @@ import static org.apache.cassandra.io.sstable.Downsampling.BASE_SAMPLING_LEVEL;
* to find the position in the Memory to start reading the actual index summary entry.
* (This is necessary because keys can have different lengths.)
* 2. A sequence of (DecoratedKey, position) pairs, where position is the offset into the actual index file.
+ *
+ * See the serializer for the exact on disk details.
*/
public class IndexSummary extends WrappedSharedCloseable
{