title: Why doesn't Major compaction free space but garbagecollect does?
body: <p>We have a three node Cassandra cluster with RF 3. There is a table with SizeTieredCompaction strategy. In some cases, performing a major compaction <code>nodetool compact --split-output -- &lt;keyspace&gt; &lt;table&gt;</code> on this table, doesn't free up disk, but performing <code>nodetool garbagecollect -- &lt;keyspace&gt; &lt;table&gt;</code> frees up the disk. The gc_grace_seconds is set to 1 hour and default_time_to_live is set to 3 hours:</p>
  <p>‍‍</p>
  <pre><code>CREATE TABLE keyspace.table (
      id text PRIMARY KEY,
      json text
  ) WITH bloom_filter_fp_chance = 0.01
      AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
      AND comment = ''
      AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
      AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
      AND crc_check_chance = 1.0
      AND dclocal_read_repair_chance = 0.1
      AND default_time_to_live = 10800
      AND gc_grace_seconds = 3600
      AND max_index_interval = 2048
      AND memtable_flush_period_in_ms = 0
      AND min_index_interval = 128
      AND read_repair_chance = 0.0
      AND speculative_retry = '99PERCENTILE';
  </code></pre>
  <p>Does anyone know the reason?</p>
  <p>Thanks in advance!</p>