Hi: We need some help on cassandra repair and compact for a table that uses TWCS. We are running cassandra 4.0-rc1. A database called test_db, biggest table "minute_rate", storing time-series data. It has the following configuration:
CREATE TABLE test_db.minute_rate ( market smallint, sin bigint, field smallint, slot timestamp, close frozen<pricerecord>, high frozen<pricerecord>, low frozen<pricerecord>, open frozen<pricerecord>, PRIMARY KEY ((market, sin, field), slot) ) WITH CLUSTERING ORDER BY (slot ASC) AND additional_write_policy = '99p' AND bloom_filter_fp_chance = 0.01 AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'} AND cdc = false AND comment = '' AND compaction = {'class': 'org.apache.cassandra.db.compaction.TimeWindowCompactionStrategy', 'compaction_window_size': '4', 'compaction_window_unit': 'HOURS', '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 default_time_to_live = 604800 AND extensions = {} AND gc_grace_seconds = 86400 AND max_index_interval = 2048 AND memtable_flush_period_in_ms = 0 AND min_index_interval = 128 AND read_repair = 'BLOCKING' AND speculative_retry = '99p'; minute_rate is configured to use TWCS. We can see that it creates about 8 data files per day. Each data file is relatively small size around 2GB each. so far so good. However, when "nodetool compact test_db minute_rate" ran on the weekend, it seems to consolidate all small data files into one big files. nodetool compact after 2 or 3 weeks we ended up having bigger and bigger data files. eating up all disk space on the machine. >From what I understand about TWCS, cassandra will simply drop the data files >when the records inside the data file is older than default_time_to_live of >604800 (7 days). But somehow this is not what we are seeing. When I >sstablemetadata the oldest data file (sample below), I can see tombstone drop >time all got updated. Resulting in the data file never get removed. This lead me to think I am configuring things the wrong way. So I want to know when using TWCS, do we need to repair and compact? I saw in cassandra-reaper (we use reaper for repair) it is configured to skip TWCS. Should I stop running "nodetool compact test_db minute_rate"? If without "nodetool compact", will cassandra clean up the tombstoned data file? Thanks, Eric # sstablemetadata na-6681303-big-Data.db SSTable: /var/lib/cassandra/data/test_db/minute_rate-d7955270f31d11ea88fabb8dcc37b800/na-6681303-big Partitioner: org.apache.cassandra.dht.Murmur3Partitioner Bloom Filter FP chance: 0.01 Minimum timestamp: 1622528285761740 (06/01/2021 06:18:05) Maximum timestamp: 1624699757821614 (06/26/2021 09:29:17) SSTable min local deletion time: 1624767191 (06/27/2021 04:13:11) SSTable max local deletion time: 2147483647 (no tombstones) Compressor: org.apache.cassandra.io.compress.LZ4Compressor Compression ratio: 0.2753232939720765 TTL min: 0 TTL max: 604800 (7 days) First token: -9223371506914883753 (3870:16432974:7) Last token: 9223358359954725918 (505:23187788:6) minClusteringValues: [2021-04-12T16:54:00.000Z] maxClusteringValues: [2021-06-26T09:28:00.000Z] Estimated droppable tombstones: 0.3683520383378445 SSTable Level: 0 Repaired at: 0 Pending repair: -- Replay positions covered: {} totalColumnsSet: 17179881008 totalRows: 4413102532 Estimated tombstone drop times: Drop Time | Count (%) Histogram 1624768080 (06/27/2021 04:28:00) | 2 ( 0) 1624771440 (06/27/2021 05:24:00) | 98 ( 0) 1624777020 (06/27/2021 06:57:00) | 85 ( 0) 1624781640 (06/27/2021 08:14:00) | 74 ( 0) 1624786080 (06/27/2021 09:28:00) | 74 ( 0) 1624790280 (06/27/2021 10:38:00) | 66 ( 0) 1624794900 (06/27/2021 11:55:00) | 87 ( 0) 1624800060 (06/27/2021 13:21:00) | 83 ( 0) 1624804680 (06/27/2021 14:38:00) | 108064 ( 0) 1624809180 (06/27/2021 15:53:00) | 304148 ( 0) 1624812540 (06/27/2021 16:49:00) | 133188 ( 0) 1624819440 (06/27/2021 18:44:00) | 88 ( 0) 1624824060 (06/27/2021 20:01:00) | 73 ( 0) 1624828080 (06/27/2021 21:08:00) | 66 ( 0) 1624832520 (06/27/2021 22:22:00) | 1 ( 0) 1624835880 (06/27/2021 23:18:00) | 23578916 ( 0) o 1624839720 (06/28/2021 00:22:00) | 21783899 ( 0) o 1624843740 (06/28/2021 01:29:00) | 22758204 ( 0) o 1624848120 (06/28/2021 02:42:00) | 25237306 ( 0) o 1624853520 (06/28/2021 04:12:00) | 44003185 ( 0) O. 1624858080 (06/28/2021 05:28:00) | 145977595 ( 0) OOOOO 1624862460 (06/28/2021 06:41:00) | 331875915 ( 1) OOOOOOOOOOOo 1624866060 (06/28/2021 07:41:00) | 463284230 ( 2) OOOOOOOOOOOOOOOO. 1624869540 (06/28/2021 08:39:00) | 455732185 ( 2) OOOOOOOOOOOOOOOO 1624873140 (06/28/2021 09:39:00) | 492533095 ( 2) OOOOOOOOOOOOOOOOO. 1624876620 (06/28/2021 10:37:00) | 481999210 ( 2) OOOOOOOOOOOOOOOOO 1624880280 (06/28/2021 11:38:00) | 498443030 ( 2) OOOOOOOOOOOOOOOOOo 1624883940 (06/28/2021 12:39:00) | 520404180 ( 2) OOOOOOOOOOOOOOOOOO. 1624887840 (06/28/2021 13:44:00) | 581806225 ( 2) OOOOOOOOOOOOOOOOOOOO. 1624891680 (06/28/2021 14:48:00) | 581503090 ( 2) OOOOOOOOOOOOOOOOOOOO. 1624895220 (06/28/2021 15:47:00) | 465873220 ( 2) OOOOOOOOOOOOOOOO. 1624898820 (06/28/2021 16:47:00) | 406239880 ( 1) OOOOOOOOOOOOOO. 1624902600 (06/28/2021 17:50:00) | 429656505 ( 1) OOOOOOOOOOOOOOO. 1624906500 (06/28/2021 18:55:00) | 410067155 ( 1) OOOOOOOOOOOOOO. 1624910460 (06/28/2021 20:01:00) | 365053925 ( 1) OOOOOOOOOOOOO 1624914480 (06/28/2021 21:08:00) | 58380400 ( 0) OO 1624919700 (06/28/2021 22:35:00) | 23698865 ( 0) o 1624956900 (06/29/2021 08:55:00) | 3894845 ( 0) 1624960380 (06/29/2021 09:53:00) | 842061700 ( 3) OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 1624963860 (06/29/2021 10:51:00) | 1423860 ( 0) 1624967820 (06/29/2021 11:57:00) | 698030 ( 0) 1624971900 (06/29/2021 13:05:00) | 240193520 ( 1) OOOOOOOO. 1624980000 (06/29/2021 15:20:00) | 78693575 ( 0) OOo 1624984680 (06/29/2021 16:38:00) | 8843580 ( 0) . 1624994220 (06/29/2021 19:17:00) | 101922005 ( 0) OOO. 1624999860 (06/29/2021 20:51:00) | 89190335 ( 0) OOO 1625005380 (06/29/2021 22:23:00) | 14607250 ( 0) . 1625021760 (06/30/2021 02:56:00) | 390529310 ( 1) OOOOOOOOOOOOOo 1625026020 (06/30/2021 04:07:00) | 26338835 ( 0) o 1625030760 (06/30/2021 05:26:00) | 17315030 ( 0) . 1625034180 (06/30/2021 06:23:00) | 17466955 ( 0) . 1625038260 (06/30/2021 07:31:00) | 476323610 ( 2) OOOOOOOOOOOOOOOOo 1625043240 (06/30/2021 08:54:00) | 360663480 ( 1) OOOOOOOOOOOOo 1625047020 (06/30/2021 09:57:00) | 162371390 ( 0) OOOOOo 1625053380 (06/30/2021 11:43:00) | 131161180 ( 0) OOOO. 1625058780 (06/30/2021 13:13:00) | 8394630 ( 0) 1625062260 (06/30/2021 14:11:00) | 105939220 ( 0) OOOo 1625065680 (06/30/2021 15:08:00) | 76280800 ( 0) OO. 1625075940 (06/30/2021 17:59:00) | 501265 ( 0) 1625135880 (07/01/2021 10:38:00) | 761088820 ( 3) OOOOOOOOOOOOOOOOOOOOOOOOOOO 1625140140 (07/01/2021 11:49:00) | 511159205 ( 2) OOOOOOOOOOOOOOOOOO 1625143980 (07/01/2021 12:53:00) | 492520020 ( 2) OOOOOOOOOOOOOOOOO. 1625147580 (07/01/2021 13:53:00) | 520719095 ( 2) OOOOOOOOOOOOOOOOOO. 1625151180 (07/01/2021 14:53:00) | 504806855 ( 2) OOOOOOOOOOOOOOOOOo 1625154720 (07/01/2021 15:52:00) | 446265015 ( 2) OOOOOOOOOOOOOOOo 1625158380 (07/01/2021 16:53:00) | 408591530 ( 1) OOOOOOOOOOOOOO. 1625161980 (07/01/2021 17:53:00) | 407185215 ( 1) OOOOOOOOOOOOOO. 1625165700 (07/01/2021 18:55:00) | 387552375 ( 1) OOOOOOOOOOOOOo 1625169840 (07/01/2021 20:04:00) | 352752965 ( 1) OOOOOOOOOOOO. 1625173800 (07/01/2021 21:10:00) | 61856610 ( 0) OO 1625178600 (07/01/2021 22:30:00) | 660 ( 0) 1625187720 (07/02/2021 01:02:00) | 127432425 ( 0) OOOO. 1625192100 (07/02/2021 02:15:00) | 110082460 ( 0) OOOo 1625196180 (07/02/2021 03:23:00) | 99408705 ( 0) OOO. 1625200080 (07/02/2021 04:28:00) | 96594150 ( 0) OOO. 1625204280 (07/02/2021 05:38:00) | 122591330 ( 0) OOOO. 1625208120 (07/02/2021 06:42:00) | 304278735 ( 1) OOOOOOOOOOo 1625211660 (07/02/2021 07:41:00) | 480851410 ( 2) OOOOOOOOOOOOOOOOO 1625215140 (07/02/2021 08:39:00) | 477311285 ( 2) OOOOOOOOOOOOOOOOO 1625218680 (07/02/2021 09:38:00) | 454566725 ( 2) OOOOOOOOOOOOOOOO 1625222400 (07/02/2021 10:40:00) | 462280685 ( 2) OOOOOOOOOOOOOOOO. 1625225940 (07/02/2021 11:39:00) | 448421865 ( 2) OOOOOOOOOOOOOOOo 1625229780 (07/02/2021 12:43:00) | 492199905 ( 2) OOOOOOOOOOOOOOOOO. 1625233680 (07/02/2021 13:48:00) | 545296705 ( 2) OOOOOOOOOOOOOOOOOOO. 1625237520 (07/02/2021 14:52:00) | 542032490 ( 2) OOOOOOOOOOOOOOOOOOO. 1625241120 (07/02/2021 15:52:00) | 439191210 ( 2) OOOOOOOOOOOOOOO. 1625244720 (07/02/2021 16:52:00) | 384025420 ( 1) OOOOOOOOOOOOO. 1625248380 (07/02/2021 17:53:00) | 386264375 ( 1) OOOOOOOOOOOOOo 1625252280 (07/02/2021 18:58:00) | 378855715 ( 1) OOOOOOOOOOOOO. 1625256660 (07/02/2021 20:11:00) | 380212785 ( 1) OOOOOOOOOOOOO. 1625261280 (07/02/2021 21:28:00) | 12215 ( 0) 1625266380 (07/02/2021 22:53:00) | 455 ( 0) 1625271120 (07/03/2021 00:12:00) | 365 ( 0) 1625275200 (07/03/2021 01:20:00) | 330 ( 0) 1625279100 (07/03/2021 02:25:00) | 325 ( 0) 1625283360 (07/03/2021 03:36:00) | 355 ( 0) 1625289180 (07/03/2021 05:13:00) | 2080 ( 0) 1625294400 (07/03/2021 06:40:00) | 5 ( 0) 1625298000 (07/03/2021 07:40:00) | 697840 ( 0) 1625303040 (07/03/2021 09:04:00) | 621800 ( 0) Percentiles 50th 1663415872 (09/17/2022 11:57:52) 75th 1663415872 (09/17/2022 11:57:52) 95th 1663415872 (09/17/2022 11:57:52) 98th 1663415872 (09/17/2022 11:57:52) 99th 1663415872 (09/17/2022 11:57:52) Min 1386179894 (12/04/2013 17:58:14) Max 1663415872 (09/17/2022 11:57:52) Partition Size: Size (bytes) | Count (%) Histogram 72 (72 B) | 3 ( 0) 103 (103 B) | 10 ( 0) 215 (215 B) | 4047 ( 0) 258 (258 B) | 4 ( 0) 372 (372 B) | 2803 ( 0) 535 (535 B) | 2645 ( 0) 642 (642 B) | 6 ( 0) 770 (770 B) | 4157 ( 0) 924 (924 B) | 3935 ( 0) 1109 (1.1 kB) | 11326 ( 0) . 1331 (1.3 kB) | 15721 ( 0) o 1597 (1.6 kB) | 3963 ( 0) 1916 (1.9 kB) | 4821 ( 0) 2299 (2.2 kB) | 1526 ( 0) 2759 (2.7 kB) | 2563 ( 0) 3311 (3.2 kB) | 3520 ( 0) 3973 (3.9 kB) | 2920 ( 0) 4768 (4.7 kB) | 5226 ( 0) . 5722 (5.6 kB) | 7591 ( 0) . 6866 (6.7 kB) | 9223 ( 0) . 8239 (8.0 kB) | 8735 ( 0) . 9887 (9.7 kB) | 8812 ( 0) . 11864 (11.6 kB) | 10849 ( 0) . 14237 (13.9 kB) | 12796 ( 0) o 17084 (16.7 kB) | 18246 ( 0) O 20501 (20.0 kB) | 23489 ( 0) O. 24601 (24.0 kB) | 31568 ( 1) Oo 29521 (28.8 kB) | 37923 ( 1) OO 35425 (34.6 kB) | 37482 ( 1) OO 42510 (41.5 kB) | 45582 ( 1) OO. 51012 (49.8 kB) | 51966 ( 1) OOO 61214 (59.8 kB) | 61596 ( 2) OOO. 73457 (71.7 kB) | 76006 ( 2) OOOO. 88148 (86.1 kB) | 85373 ( 3) OOOOO 105778 (103.3 kB) | 95825 ( 3) OOOOOo 126934 (124.0 kB) | 102830 ( 3) OOOOOO 152321 (148.8 kB) | 113760 ( 4) OOOOOOo 182785 (178.5 kB) | 133287 ( 4) OOOOOOOO 219342 (214.2 kB) | 162030 ( 5) OOOOOOOOO. 263210 (257.0 kB) | 255776 ( 9) OOOOOOOOOOOOOOO. 315852 (308.4 kB) | 267785 ( 9) OOOOOOOOOOOOOOOO 379022 (370.1 kB) | 326228 ( 11) OOOOOOOOOOOOOOOOOOO. 454826 (444.2 kB) | 499363 ( 17) OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 545791 (533.0 kB) | 154907 ( 5) OOOOOOOOO. 654949 (639.6 kB) | 79305 ( 2) OOOOo 785939 (767.5 kB) | 16 ( 0) Percentiles 50th 263210 (257.0 kB) 75th 454826 (444.2 kB) 95th 545791 (533.0 kB) 98th 654949 (639.6 kB) 99th 654949 (639.6 kB) Min 61 (61 B) Max 785939 (767.5 kB) Column Count: Columns | Count (%) Histogram 1 | 1575 ( 0) 4 | 4051 ( 0) 8 | 2805 ( 0) 12 | 2667 ( 0) 17 | 4151 ( 0) 20 | 3915 ( 0) 24 | 11321 ( 0) o 29 | 9564 ( 0) . 35 | 6160 ( 0) . 42 | 6606 ( 0) . 50 | 2437 ( 0) 60 | 2046 ( 0) 72 | 3431 ( 0) 86 | 3468 ( 0) 103 | 4385 ( 0) . 124 | 7725 ( 0) . 149 | 6543 ( 0) . 179 | 6714 ( 0) . 215 | 7848 ( 0) . 258 | 9551 ( 0) . 310 | 12224 ( 0) o 372 | 18113 ( 0) O. 446 | 22412 ( 0) O. 535 | 25057 ( 0) Oo 642 | 30530 ( 1) OO 770 | 33483 ( 1) OO. 924 | 41045 ( 1) OOo 1109 | 46979 ( 1) OOO. 1331 | 54195 ( 1) OOOo 1597 | 68071 ( 2) OOOOo 1916 | 77555 ( 2) OOOOO. 2299 | 87523 ( 3) OOOOOO. 2759 | 98115 ( 3) OOOOOOO 3311 | 105961 ( 3) OOOOOOO. 3973 | 119527 ( 4) OOOOOOOO. 4768 | 137830 ( 4) OOOOOOOOOo 5722 | 193041 ( 6) OOOOOOOOOOOOOo 6866 | 262273 ( 9) OOOOOOOOOOOOOOOOOOo 8239 | 267143 ( 9) OOOOOOOOOOOOOOOOOOO 9887 | 403882 ( 14) OOOOOOOOOOOOOOOOOOOOOOOOOOOOO 11864 | 415674 ( 14) OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 14237 | 126880 ( 4) OOOOOOOOO 17084 | 33068 ( 1) OO. 20501 | 1 ( 0) Percentiles 50th 6866 75th 9887 95th 14237 98th 14237 99th 17084 Min 0 Max 20501 Estimated cardinality: 2772003 EncodingStats minTTL: 0 EncodingStats minLocalDeletionTime: 1624674132 (06/26/2021 02:22:12) EncodingStats minTimestamp: 1622528285761740 (06/01/2021 06:18:05) KeyType: org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.ShortType,org.apache.cassandra.db.marshal.LongType,org.apache.cassandra.db.marshal.ShortType) ClusteringTypes: [org.apache.cassandra.db.marshal.TimestampType] StaticColumns: RegularColumns: high:org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.UserType(storage_system,70726963657265636f7264,73697a65:org.apache.cassandra.db.marshal.Int32Type,7473:org.apache.cassandra.db.marshal.TimestampType,76616c7565:org.apache.cassandra.db.marshal.DoubleType)), low:org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.UserType(storage_system,70726963657265636f7264,73697a65:org.apache.cassandra.db.marshal.Int32Type,7473:org.apache.cassandra.db.marshal.TimestampType,76616c7565:org.apache.cassandra.db.marshal.DoubleType)), close:org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.UserType(storage_system,70726963657265636f7264,73697a65:org.apache.cassandra.db.marshal.Int32Type,7473:org.apache.cassandra.db.marshal.TimestampType,76616c7565:org.apache.cassandra.db.marshal.DoubleType)), open:org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.UserType(storage_system,70726963657265636f7264,73697a65:org.apache.cassandra.db.marshal.Int32Type,7473:org.apache.cassandra.db.marshal.TimestampType,76616c7565:org.apache.cassandra.db.marshal.DoubleType)) IsTransient: false [09:22:38 root@storageserver-cassandra-d1-1.fra1.quotehub:/var/lib/cassandra/data/storage_system/min-d7955270f31d11ea88fabb8dcc37b800<mailto:root@storageserver-cassandra-d1-1.fra1.quotehub:/var/lib/cassandra/data/storage_system/min-d7955270f31d11ea88fabb8dcc37b800>] #