forked from apache/cassandra
-
Notifications
You must be signed in to change notification settings - Fork 2
/
CHANGES.txt
7913 lines (7587 loc) · 480 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
5.1
* Add the ability to disable bulk loading of SSTables (CASSANDRA-18781)
* Clean up obsolete functions and simplify cql_version handling in cqlsh (CASSANDRA-18787)
Merged from 5.0:
* Do not log stacktrace on mismatched cache and schema version and checksum error in AutoSavingCache (CASSANDRA-18862)
* Remove wrong assertion in SSTableLoader (CASSANDRA-18840)
* Fix accessing java.nio.Bits.TOTAL_CAPACITY in Java17 (CASSANDRA-18848)
* Remove metrics-reporter-config dependency (CASSANDRA-18743)
* Fix SAI's SegmentMetadata min and max primary keys (CASSANDRA-18734)
* Remove commons-codec dependency (CASSANDRA-18772)
Merged from 4.1:
* Nodetool paxos-only repair is no longer incremental (CASSANDRA-18466)
Merged from 4.0:
* Enable 3rd party JDK installations for Debian package (CASSANDRA-18844)
Merged from 3.11:
* Revert CASSANDRA-18543 (CASSANDRA-18854)
Merged from 3.0:
* Add cqlshrc.sample and credentials.sample into Debian package (CASSANDRA-18818)
5.0-alpha1
* Remove wrong assertion in SSTableLoader (CASSANDRA-18840)
* Fix rpm installations to work with jdk17 (CASSANDRA-18817)
* Fix Depends and Build-Depends for Java for Debian packages (CASSANDRA-18809)
* Update command line flags --add-exports and --add-opens for JDK17 (CASSANDRA-18439)
* Update commons-lang3 to 3.13.0 (CASSANDRA-18789)
* Forbid SAI indexes with analysis options on primary key columns (CASSANDRA-18782)
* Expose bootstrap failure state via JMX and nodetool info (CASSANDRA-18749)
* Reduce size of per-SSTable index components for SAI (CASSANDRA-18673)
* Remove unnecessary Netty dependencies after upgrade to version 4.1.96 (CASSANDRA-18729)
* Prevent InaccessibleObjectException when the Leak Detector is traversing objects (CASSANDRA-18708)
* Remove legacy command line options from cassandra-stress (CASSANDRA-18529)
* Remove commitlog_sync_batch_window_in_ms (CASSANDRA-17161)
* Upgrade JMH from 1.21 to 1.36 (CASSANDRA-18696)
* Add guardrail for vector dimensions (CASSANDRA-18730)
Merged from 4.1:
* Waiting indefinitely on ReceivedMessage response in StreamSession#receive() can cause deadlock (CASSANDRA-18733)
* Allow empty keystore_password in encryption_options (CASSANDRA-18778)
Merged from 4.0:
Merged from 3.11:
* Fix NPE when using udfContext in UDF after a restart of a node (CASSANDRA-18739)
Merged from 3.0:
* Add cqlshrc.sample and credentials.sample into Debian package (CASSANDRA-18818)
* Refactor validation logic in StorageService.rebuild (CASSANDRA-18803)
* Make alternation of a user type validate the same way as creation of a user type does (CASSANDRA-18585)
* Fix missing speculative retries in tablestats (CASSANDRA-18767)
* Fix Requires for Java for RPM package (CASSANDRA-18751)
* Fix CQLSH online help topic link (CASSANDRA-17534)
* Remove unused suppressions (CASSANDRA-18724)
5.0
* Upgraded Netty to 4.1.96, added BouncyCastle dependency (CASSANDRA-17992)
* Fix for (unsupported) big endian unaligned architecture, eg s390x (CASSANDRA-17723)
* CIDR filtering authorizer (CASSANDRA-18592)
* Remove 3.x from the versions checked for prepared statement behaviour (CASSANDRA-18695)
* Add vector similarity functions (CASSANDRA-18640)
* Lift MessagingService.minimum_version to 40 (CASSANDRA-18314)
* Introduce pluggable crypto providers and default to AmazonCorrettoCryptoProvider (CASSANDRA-18624)
* Improved DeletionTime serialization (CASSANDRA-18648)
* CEP-7: Storage Attached Indexes (CASSANDRA-16052)
* Add equals/hashCode override for ServerEncryptionOptions (CASSANDRA-18428)
* Upgrade ECJ to version 3.33.0 (CASSANDRA-18190)
* Fix ClassCastException from jdk GaloisCounterMode when using JDK17 provider (CASSANDRA-18180)
* Drop JDK8, add JDK17 (CASSANDRA-18255)
* Remove WaitingOnFreeMemtableSpace and DroppedMutations metrics (CASSANDRA-18298)
* Upgrade Jamm version to 0.4.0 (CASSANDRA-17884, CASSANDRA-16304, CASSANDRA-18329)
* Remove legacy 3.0/3.11 buffer pool metrics (CASSANDRA-18313)
* Add AzureSnitch (CASSANDRA-18646)
* Implementation of the Unified Compaction Strategy as described in CEP-26 (CASSANDRA-18397)
* Upgrade commons cli to 1.5.0 (CASSANDRA-18659)
* Disable the deprecated keyspace/table thresholds and convert them to guardrails (CASSANDRA-18617)
* Deprecate CloudstackSnitch and remove duplicate code in snitches (CASSANDRA-18438)
* Add support for vectors in UDFs (CASSANDRA-18613)
* Improve vector value validation errors (CASSANDRA-18652)
* Upgrade Guava to 32.0.1 (CASSANDRA-18645)
* Add duration and count of partition keys to sstablemetadata (CASSANDRA-18639)
* Remove deprecated compaction_tombstone_warning_threshold and compaction_large_partition_warning_threshold from yaml (CASSANDRA-18626)
* Enhance nodetool compactionstats with additional metrics (CASSANDRA-18305)
* Added support for type VECTOR<type, dimension> (CASSANDRA-18504)
* Expose bootstrap and decommission state to nodetool info (CASSANDRA-18555)
* Fix SSTabledump errors when dumping data from index (CASSANDRA-17698)
* Avoid unnecessary deserialization of terminal arguments when executing CQL functions (CASSANDRA-18566)
* Remove dependency on pytz library for setting CQLSH timezones on Python version >= 3.9 (CASSANDRA-17433)
* Extend maximum expiration date (CASSANDRA-14227)
* Add guardrail for partition tombstones and deprecate compaction_tombstone_warning_threshold (CASSANDRA-17194)
* Print header and statistics for cassandra-stress output with arbitrary frequency (CASSANDRA-12972)
* CEP-25: Trie-indexed SSTable format (CASSANDRA-18398)
* Make cassandra-stress able to read all credentials from a file (CASSANDRA-18544)
* Add guardrail for partition size and deprecate compaction_large_partition_warning_threshold (CASSANDRA-18500)
* Add HISTORY command for CQLSH (CASSANDRA-15046)
* Fix sstable formats configuration (CASSANDRA-18441)
* Add guardrail to bound timestamps (CASSANDRA-18352)
* Add keyspace_name column to system_views.clients (CASSANDRA-18525)
* Moved system properties and envs to CassandraRelevantProperties and CassandraRelevantEnv respectively (CASSANDRA-17797)
* Add sstablepartitions offline tool to find large partitions in sstables (CASSANDRA-8720)
* Replace usages of json-simple dependency by Jackson (CASSANDRA-16855)
* When decommissioning should set Severity to limit traffic (CASSANDRA-18430)
* For Java11 and Java17 remove -XX:-UseBiasedLocking as it is the default already (CASSANDRA-17869)
* Upgrade commons-io to 2.11.0 (CASSANDRA-17364)
* Node Draining Should Abort All Current SSTables Imports (CASSANDRA-18373)
* Use snake case for the names of CQL native functions (CASSANDRA-18037)
* Use jdk-dependent checkstyle version to check the source code (CASSANDRA-18262)
* Provide summary of failed SessionInfo's in StreamResultFuture (CASSANDRA-17199)
* CEP-20: Dynamic Data Masking (CASSANDRA-17940)
* Add system_views.snapshots virtual table (CASSANDRA-18102)
* Update OpenHFT dependencies (chronicle-queue, chronicle-core, chronicle-bytes, chronicle-wire, chronicle-threads) (CASSANDRA-18049)
* Remove org.apache.cassandra.hadoop code (CASSANDRA-18323)
* Remove deprecated CQL functions dateOf and unixTimestampOf (CASSANDRA-18328)
* Remove DateTieredCompactionStrategy (CASSANDRA-18043)
* Add system_views.max_sstable_size and system_views.max_sstable_duration tables (CASSANDRA-18333)
* Extend implicit allow-filtering for virtual tables to clustering columns (CASSANDRA-18331)
* Upgrade maven-shade-plugin to 3.4.1 to fix shaded dtest JAR build (CASSANDRA-18136)
* Upgrade to Opcodes.ASM9 (CASSANDRA-17971)
* Add MaxSSTableSize and MaxSSTableDuration metrics and propagate them together with local read/write ratio to tablestats (CASSANDRA-18283)
* Add more logging around CompactionManager operations (CASSANDRA-18268)
* Reduce memory allocations of calls to ByteBufer.duplicate() made in org.apache.cassandra.transport.CBUtil#writeValue (CASSANDRA-18212)
* CEP-17: SSTable API (CASSANDRA-17056)
* Gossip stateMapOrdering does not have correct ordering when both EndpointState are in the bootstrapping set (CASSANDRA-18292)
* Snapshot only sstables containing mismatching ranges on preview repair mismatch (CASSANDRA-17561)
* More accurate skipping of sstables in read path (CASSANDRA-18134)
* Prepare for JDK17 experimental support (CASSANDRA-18179, CASSANDRA-18258)
* Remove Scripted UDFs internals; hooks to be added later in CASSANDRA-17281 (CASSANDRA-18252)
* Update JNA to 5.13.0 (CASSANDRA-18050)
* Make virtual tables decide if they implicitly enable ALLOW FILTERING (CASSANDRA-18238)
* Add row, tombstone, and sstable count to nodetool profileload (CASSANDRA-18022)
* Coordinator level metrics for read response and mutation row and column counts (CASSANDRA-18155)
* Add CQL functions for dynamic data masking (CASSANDRA-17941)
* Print friendly error when nodetool attempts to connect to uninitialized server (CASSANDRA-11537)
* Use G1GC by default, and update default G1GC settings (CASSANDRA-18027)
* SimpleSeedProvider can resolve multiple IP addresses per DNS record (CASSANDRA-14361)
* Remove mocking in InternalNodeProbe spying on StorageServiceMBean (CASSANDRA-18152)
* Add compaction_properties column to system.compaction_history table and nodetool compactionhistory command (CASSANDRA-18061)
* Remove ProtocolVersion entirely from the CollectionSerializer ecosystem (CASSANDRA-18114)
* Fix serialization error in new getsstables --show-levels option (CASSANDRA-18140)
* Use checked casts when reading vints as ints (CASSANDRA-18099)
* Add Mutation Serialization Caching (CASSANDRA-17998)
* Only reload compaction strategies if disk boundaries change (CASSANDRA-17874)
* CEP-10: Simulator Java11 Support (CASSANDRA-17178)
* Set the major compaction type correctly for compactionstats (CASSANDRA-18055)
* Print exception message without stacktrace when nodetool commands fail on probe.getOwnershipWithPort() (CASSANDRA-18079)
* Add option to print level in nodetool getsstables output (CASSANDRA-18023)
* Implement a guardrail for not having zero default_time_to_live on tables with TWCS (CASSANDRA-18042)
* Add CQL scalar functions for collection aggregation (CASSANDRA-18060)
* Make cassandra.replayList property for CommitLogReplayer possible to react on keyspaces only (CASSANDRA-18044)
* Add Mathematical functions (CASSANDRA-17221)
* Make incremental backup configurable per table (CASSANDRA-15402)
* Change shebangs of Python scripts to resolve Python 3 from env command (CASSANDRA-17832)
* Add reasons to guardrail messages and consider guardrails in the error message for needed ALLOW FILTERING (CASSANDRA-17967)
* Add support for CQL functions on collections, tuples and UDTs (CASSANDRA-17811)
* Add flag to exclude nodes from local DC when running nodetool rebuild (CASSANDRA-17870)
* Adding endpoint verification option to client_encryption_options (CASSANDRA-18034)
* Replace 'wcwidth.py' with pypi module (CASSANDRA-17287)
* Add nodetool forcecompact to remove tombstoned or ttl'd data ignoring GC grace for given table and partition keys (CASSANDRA-17711)
* Offer IF (NOT) EXISTS in cqlsh completion for CREATE TYPE, DROP TYPE, CREATE ROLE and DROP ROLE (CASSANDRA-16640)
* Nodetool bootstrap resume will now return an error if the operation fails (CASSANDRA-16491)
* Disable resumable bootstrap by default (CASSANDRA-17679)
* Include Git SHA in --verbose flag for nodetool version (CASSANDRA-17753)
* Update Byteman to 4.0.20 and Jacoco to 0.8.8 (CASSANDRA-16413)
* Add memtable option among possible tab completions for a table (CASSANDRA-17982)
* Adds a trie-based memtable implementation (CASSANDRA-17240)
* Further improves precision of memtable heap tracking (CASSANDRA-17240)
* Fix formatting of metrics documentation (CASSANDRA-17961)
* Keep sstable level when streaming for decommission and move (CASSANDRA-17969)
* Add Unavailables metric for CASWrite in the docs (CASSANDRA-16357)
* Make Cassandra logs able to be viewed in the virtual table system_views.system_logs (CASSANDRA-17946)
* IllegalArgumentException in Gossiper#order due to concurrent mutations to elements being applied (CASSANDRA-17908)
* Include estimated active compaction remaining write size when starting a new compaction (CASSANDRA-17931)
* Mixed mode support for internode authentication during TLS upgrades (CASSANDRA-17923)
* Revert Mockito downgrade from CASSANDRA-17750 (CASSANDRA-17496)
* Add --older-than and --older-than-timestamp options for nodetool clearsnapshots (CASSANDRA-16860)
* Fix "open RT bound as its last item" exception (CASSANDRA-17810)
* Fix leak of non-standard Java types in JMX MBeans `org.apache.cassandra.db:type=StorageService`
and `org.apache.cassandra.db:type=RepairService` as clients using JMX cannot handle them. More details in NEWS.txt (CASSANDRA-17668)
* Deprecate Throwables.propagate usage (CASSANDRA-14218)
* Allow disabling hotness persistence for high sstable counts (CASSANDRA-17868)
* Prevent NullPointerException when changing neverPurgeTombstones from true to false (CASSANDRA-17897)
* Add metrics around storage usage and compression (CASSANDRA-17898)
* Remove usage of deprecated javax certificate classes (CASSANDRA-17867)
* Make sure preview repairs don't optimise streams unless configured to (CASSANDRA-17865)
* Optionally avoid hint transfer during decommission (CASSANDRA-17808)
* Make disabling auto snapshot on selected tables possible (CASSANDRA-10383)
* Introduce compaction priorities to prevent upgrade compaction inability to finish (CASSANDRA-17851)
* Prevent a user from manually removing ephemeral snapshots (CASSANDRA-17757)
* Remove dependency on Maven Ant Tasks (CASSANDRA-17750)
* Update ASM(9.1 to 9.3), Mockito(1.10.10 to 1.12.13) and ByteBuddy(3.2.4 to 4.7.0) (CASSANDRA-17835)
* Add the ability for operators to loosen the definition of "empty" for edge cases (CASSANDRA-17842)
* Fix potential out of range exception on column index downsampling (CASSANDRA-17839)
* Introduce target directory to vtable output for sstable_tasks and for compactionstats (CASSANDRA-13010)
* Read/Write/Truncate throw RequestFailure in a race condition with callback timeouts, should return Timeout instead (CASSANDRA-17828)
* Add ability to log load profiles at fixed intervals (CASSANDRA-17821)
* Protect against Gossip backing up due to a quarantined endpoint without version information (CASSANDRA-17830)
* NPE in org.apache.cassandra.cql3.Attributes.getTimeToLive (CASSANDRA-17822)
* Add guardrail for column size (CASSANDRA-17151)
* When doing a host replacement, we need to check that the node is a live node before failing with "Cannot replace a live node..." (CASSANDRA-17805)
* Add support to generate a One-Shot heap dump on unhandled exceptions (CASSANDRA-17795)
* Rate-limit new client connection auth setup to avoid overwhelming bcrypt (CASSANDRA-17812)
* DataOutputBuffer#scratchBuffer can use off-heap or on-heap memory as a means to control memory allocations (CASSANDRA-16471)
* Add ability to read the TTLs and write times of the elements of a collection and/or UDT (CASSANDRA-8877)
* Removed Python < 2.7 support from formatting.py (CASSANDRA-17694)
* Cleanup pylint issues with pylexotron.py (CASSANDRA-17779)
* NPE bug in streaming checking if SSTable is being repaired (CASSANDRA-17801)
* Users of NativeLibrary should handle lack of JNA appropriately when running in client mode (CASSANDRA-17794)
* Warn on unknown directories found in system keyspace directory rather than kill node during startup checks (CASSANDRA-17777)
* Log duplicate rows sharing a partition key found in verify and scrub (CASSANDRA-17789)
* Add separate thread pool for Secondary Index building so it doesn't block compactions (CASSANDRA-17781)
* Added JMX call to getSSTableCountPerTWCSBucket for TWCS (CASSANDRA-17774)
* When doing a host replacement, -Dcassandra.broadcast_interval_ms is used to know when to check the ring but checks that the ring wasn't changed in -Dcassandra.ring_delay_ms, changes to ring delay should not depend on when we publish load stats (CASSANDRA-17776)
* When bootstrap fails, CassandraRoleManager may attempt to do read queries that fail with "Cannot read from a bootstrapping node", and increments unavailables counters (CASSANDRA-17754)
* Add guardrail to disallow DROP KEYSPACE commands (CASSANDRA-17767)
* Remove ephemeral snapshot marker file and introduce a flag to SnapshotManifest (CASSANDRA-16911)
* Add a virtual table that exposes currently running queries (CASSANDRA-15241)
* Allow sstableloader to specify table without relying on path (CASSANDRA-16584)
* Fix TestGossipingPropertyFileSnitch.test_prefer_local_reconnect_on_listen_address (CASSANDRA-17700)
* Add ByteComparable API (CASSANDRA-6936)
* Add guardrail for maximum replication factor (CASSANDRA-17500)
* Increment CQLSH to version 6.2.0 for release 4.2 (CASSANDRA-17646)
* Adding support to perform certificate based internode authentication (CASSANDRA-17661)
* Option to disable CDC writes of repaired data (CASSANDRA-17666)
* When a node is bootstrapping it gets the whole gossip state but applies in random order causing some cases where StorageService will fail causing an instance to not show up in TokenMetadata (CASSANDRA-17676)
* Add CQLSH command SHOW REPLICAS (CASSANDRA-17577)
* Add guardrail to allow disabling of SimpleStrategy (CASSANDRA-17647)
* Change default directory permission to 750 in packaging (CASSANDRA-17470)
* Adding support for TLS client authentication for internode communication (CASSANDRA-17513)
* Add new CQL function maxWritetime (CASSANDRA-17425)
* Add guardrail for ALTER TABLE ADD / DROP / REMOVE column operations (CASSANDRA-17495)
* Rename DisableFlag class to EnableFlag on guardrails (CASSANDRA-17544)
Merged from 4.1:
* Skip ColumnFamilyStore#topPartitions initialization when client or tool mode (CASSANDRA-18697)
Merged from 4.0:
* Partial compaction can resurrect deleted data (CASSANDRA-18507)
Merged from 3.11:
* Fix delayed SSTable release with unsafe_aggressive_sstable_expiration (CASSANDRA-18756)
* Fix NPE when using udfContext in UDF after a restart of a node (CASSANDRA-18739)
Merged from 3.0:
* CQLSH emits a warning when the server version doesn't match (CASSANDRA-18745)
* Fix missing speculative retries in tablestats (CASSANDRA-18767)
* Fix Requires for Java for RPM package (CASSANDRA-18751)
* Fix CQLSH online help topic link (CASSANDRA-17534)
* Remove unused suppressions (CASSANDRA-18724)
4.1.4
Merged from 4.0:
* Fix NTS log message when an unrecognized strategy option is passed (CASSANDRA-18679)
* Fix BulkLoader ignoring cipher suites options (CASSANDRA-18582)
* Migrate Python optparse to argparse (CASSANDRA-17914)
Merged from 3.11:
Merged from 3.0:
4.1.3
Merged from 4.0:
* Revert CASSANDRA-16718 (CASSANDRA-18560)
* Upgrade snappy to 1.1.10.1 (CASSANDRA-18608)
* Fix assertion error when describing mv as table (CASSANDRA-18596)
* Track the amount of read data per row (CASSANDRA-18513)
* Fix Down nodes counter in nodetool describecluster (CASSANDRA-18512)
* Remove unnecessary shuffling of GossipDigests in Gossiper#makeRandomGossipDigest (CASSANDRA-18546)
Merged from 3.11:
* Moved jflex from runtime to build dependencies (CASSANDRA-18664)
* Fix CAST function for float to decimal (CASSANDRA-18647)
* Suppress CVE-2022-45688 (CASSANDRA-18643)
* Remove unrepaired SSTables from garbage collection when only_purge_repaired_tombstones is true (CASSANDRA-14204)
* Wait for live endpoints in gossip waiting to settle (CASSANDRA-18543)
* Fix error message handling when trying to use CLUSTERING ORDER with non-clustering column (CASSANDRA-17818
* Add keyspace and table name to exception message during ColumnSubselection deserialization (CASSANDRA-18346)
Merged from 3.0:
* Suppress CVE-2023-34462 (CASSANDRA-18649)
* Add support for AWS Ec2 IMDSv2 (CASSANDRA-16555)
* Suppress CVE-2023-35116 (CASSANDRA-18630)
* Pass taskId from CompactionTask to system.compaction_history (CASSANDRA-12183)
* Backport CASSANDRA-10508: Remove hard-coded SSL cipher suites (CASSANDRA-18575)
* Suppress CVE-2023-2976 (CASSANDRA-18562)
* Remove dh_python use in Debian packaging (CASSANDRA-18558)
4.1.2
* NPE when deserializing malformed collections from client (CASSANDRA-18505)
* Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124)
* Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371)
* Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359)
* Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304)
* Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353)
* Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354)
Merged from 4.0:
* Improve nodetool enable{audit,fullquery}log (CASSANDRA-18550)
* Report network cache info in nodetool (CASSANDRa-18400)
* Partial compaction can resurrect deleted data (CASSANDRA-18507)
* Allow internal address to change with reconnecting snitches (CASSANDRA-16718)
* Fix quoting in toCqlString methods of UDTs and aggregates (CASSANDRA-17918)
* Improve 'Not enough space for compaction' logging messages (CASSANDRA-18260)
* Incremental repairs fail on mixed IPv4/v6 addresses serializing SyncRequest (CASSANDRA-18474)
* Deadlock updating sstable metadata if disk boundaries need reloading (CASSANDRA-18443)
* Fix nested selection of reversed collections (CASSANDRA-17913)
* Update zstd-jni library to version 1.5.5 (CASSANDRA-18429)
Merged from 3.11:
* Remove unnecessary String.format invocation in QueryProcessor when getting a prepared statement from cache (CASSANDRA-17202)
* Fix the capital P usage in the CQL parser (CASSANDRA-17919)
Merged from 3.0:
* Pass down all contact points to driver for cassandra-stress (CASSANDRA-18025)
* Validate the existence of a datacenter in nodetool rebuild (CASSANDRA-14319)
* Suppress CVE-2023-2251 (CASSANDRA-18497)
* Do not remove SSTables when cause of FSReadError is OutOfMemoryError while using best_effort disk failure policy (CASSANDRA-18336)
* Do not remove truncated_at entry in system.local while dropping an index (CASSANDRA-18105)
4.0.9
* Update zstd-jni library to version 1.5.5 (CASSANDRA-18429)
* Backport CASSANDRA-17205 to 4.0 branch - Remove self-reference in SSTableTidier (CASSANDRA-18332)
* Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370)
* Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311)
* Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125)
* Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259)
* Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242)
Merged from 3.11:
* Fix sstable_count metric missing from tablestats json/yaml output (CASSANDRA-18448)
* Suppress CVE-2022-45688 (CASSANDRA-18389)
* Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013)
Merged from 3.0:
* Do not remove SSTables when cause of FSReadError is OutOfMemoryError while using best_effort disk failure policy (CASSANDRA-18336)
* Do not remove truncated_at entry in system.local while dropping an index (CASSANDRA-18105)
* Save host id to system.local and flush immediately after startup (CASSANDRA-18153)
4.1.1
* Deprecate org.apache.cassandra.hadoop code (CASSANDRA-16984)
* Fix too early schema version change in sysem local table (CASSANDRA-18291)
* Fix copying of JAR of a trigger to temporary file (CASSANDRA-18264)
* Fix possible NoSuchFileException when removing a snapshot (CASSANDRA-18211)
* PaxosPrepare may add instances to the Electorate that are not in gossip (CASSANDRA-18194)
* Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164)
* Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110)
* Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116)
Merged from 4.0:
* Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311)
* Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125)
* Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259)
* Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242)
* Log warning message on aggregation queries without key or on multiple keys (CASSANDRA-18219)
* Fix the output of FQL dump tool to properly separate entries (CASSANDRA-18215)
* Add cache type information for maximum memory usage warning message (CASSANDRA-18184)
* Fix NPE in fqltool dump on null value (CASSANDRA-18113)
* Improve unit tests performance (CASSANDRA-17427)
* Connect to listen address when own broadcast address is requested (CASSANDRA-18200)
* Add safeguard so cleanup fails when node has pending ranges (CASSANDRA-16418)
* Fix legacy clustering serialization for paging with compact storage (CASSANDRA-17507)
* Add support for python 3.11 (CASSANDRA-18088)
* Fix formatting of duration in cqlsh (CASSANDRA-18141)
* Fix sstable loading of keyspaces named snapshots or backups (CASSANDRA-14013)
* Avoid ConcurrentModificationException in STCS/DTCS/TWCS.getSSTables (CASSANDRA-17977)
* Restore internode custom tracing on 4.0's new messaging system (CASSANDRA-17981)
Merged from 3.11:
Merged from 3.0:
* Fix the ordering of sstables when running sstableupgrade tool (CASSANDRA-18143)
* Fix default file system error handler for disk_failure_policy die (CASSANDRA-18294)
* Introduce check for names of test classes (CASSANDRA-17964)
* Suppress CVE-2022-41915 (CASSANDRA-18147)
* Suppress CVE-2021-1471, CVE-2021-3064, CVE-2021-4235 (CASSANDRA-18149)
* Switch to snakeyaml's SafeConstructor (CASSANDRA-18150)
* Expand build.dir property in rat targets (CASSANDRA-18183)
* Suppress CVE-2022-41881 (CASSANDRA-18148)
* Default role is created with zero timestamp (CASSANDRA-12525)
* Suppress CVE-2021-37533 (CASSANDRA-18146)
* Add to the IntelliJ Git Window issue navigation links to Cassandra's Jira (CASSANDRA-18126)
* Avoid anticompaction mixing data from two different time windows with TWCS (CASSANDRA-17970)
* Do not spam the logs with MigrationCoordinator not being able to pull schemas (CASSANDRA-18096)
4.1.0
* Fix ContentionStrategy backoff and Clock.waitUntil (CASSANDRA-18086)
Merged from 4.0:
Merged from 3.11:
Merged from 3.0:
* Fix incorrect resource name in LIST PERMISSION output (CASSANDRA-17848)
* Suppress CVE-2022-41854 and similar (CASSANDRA-18083)
4.1-rc1
* Avoid schema mismatch problems on memtable API misconfiguration (CASSANDRA-18040)
* Start Paxos auto repair in CassandraDaemon (CASSANDRA-18029)
* Restore streaming_keep_alive_period on the netty control streaming channel (CASSANDRA-17768)
* Move Schema.FORCE_LOAD_KEYSPACES and Schema.FORCE_LOAD_KEYSPACES_PROP to CassandraRelevantProps (CASSANDRA-17783)
* Add --resolve-ip option to nodetool gossipinfo (CASSANDRA-17934)
* Allow pre-V5 global limit on bytes in flight to revert to zero asynchronously in RateLimitingTest (CASSANDRA-17927)
Merged from 4.0:
* Backport CASSANDRA-17205 to 4.0 branch - Remove self-reference in SSTableTidier (CASSANDRA-18332)
* Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370)
* Harden parsing of boolean values in CQL in PropertyDefinitions (CASSANDRA-17878)
* Fix error message about type hints (CASSANDRA-17915)
* Fix possible race condition on repair snapshots (CASSANDRA-17955)
* Fix ASM bytecode version inconsistency (CASSANDRA-17873)
* Remove empty cq4 files in log directory to not fail the startup of BinLog (CASSANDRA-17933)
* Fix multiple BufferPool bugs (CASSANDRA-16681)
* Fix StorageService.getNativeaddress handling of IPv6 addresses (CASSANDRA-17945)
Merged from 3.11:
* Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013)
* Suppress CVE-2022-42003 and CVE-2022-42004 (CASSANDRA-17966)
* Make LongBufferPoolTest insensitive to timing (CASSANDRA-16681)
Merged from 3.0:
* Fix running Ant rat targets without git (CASSANDRA-17974)
* Harden JMX by resolving beanshooter issues (CASSANDRA-17921)
* Suppress CVE-2019-2684 (CASSANDRA-17965)
* Fix auto-completing "WITH" when creating a materialized view (CASSANDRA-17879)
4.1-beta1
* We should not emit deprecation warning on startup for `key_cache_save_period`, `row_cache_save_period`, `counter_cache_save_period` (CASSANDRA-17904)
* upsert with adder support is not consistent with numbers and strings in LWT (CASSANDRA-17857)
* Fix race and return after failing connections (CASSANDRA-17618)
* Speculative execution threshold unit mismatch (CASSANDRA-17877)
* Fix BulkLoader to load entireSSTableThrottle and entireSSTableInterDcThrottle (CASSANDRA-17677)
* Fix a race condition where a keyspace can be oopened while it is being removed (CASSANDRA-17658)
* DatabaseDescriptor will set the default failure detector during client initialization (CASSANDRA-17782)
* Avoid initializing schema via SystemKeyspace.getPreferredIP() with the BulkLoader tool (CASSANDRA-17740)
* Improve JMX methods signatures, fix JMX and config backward compatibility (CASSANDRA-17725)
* Fix sstable_preemptive_open_interval disabled value. sstable_preemptive_open_interval = null backward compatible with
sstable_preemptive_open_interval_in_mb = -1 (CASSANDRA-17737)
* Remove usages of Path#toFile() in the snapshot apparatus (CASSANDRA-17769)
* Fix Settings Virtual Table to update paxos_variant after startup and rename enable_uuid_sstable_identifiers to
uuid_sstable_identifiers_enabled as per our config naming conventions (CASSANDRA-17738)
* index_summary_resize_interval_in_minutes = -1 is equivalent to index_summary_resize_interval being set to null or
disabled. JMX MBean IndexSummaryManager, setResizeIntervalInMinutes method still takes resizeIntervalInMinutes = -1 for disabled (CASSANDRA-17735)
* min_tracked_partition_size_bytes parameter from 4.1 alpha1 was renamed to min_tracked_partition_size (CASSANDRA-17733)
* Remove commons-lang dependency during build runtime (CASSANDRA-17724)
* Relax synchronization on StreamSession#onError() to avoid deadlock (CASSANDRA-17706)
* Fix AbstractCell#toString throws MarshalException for cell in collection (CASSANDRA-17695)
* Add new vtable output option to compactionstats (CASSANDRA-17683)
* Fix commitLogUpperBound initialization in AbstractMemtableWithCommitlog (CASSANDRA-17587)
* Fix widening to long in getBatchSizeFailThreshold (CASSANDRA-17650)
* Fix widening from mebibytes to bytes in IntMebibytesBound (CASSANDRA-17716)
* Revert breaking change in nodetool clientstats and expose cient options through nodetool clientstats --client-options. (CASSANDRA-17715)
* Fix missed nowInSec values in QueryProcessor (CASSANDRA-17458)
* Revert removal of withBufferSizeInMB(int size) in CQLSSTableWriter.Builder class and deprecate it in favor of withBufferSizeInMiB(int size) (CASSANDRA-17675)
* Remove expired snapshots of dropped tables after restart (CASSANDRA-17619)
Merged from 4.0:
* Mitigate direct buffer memory OOM on replacements (CASSANDRA-17895)
* Fix repair failure on assertion if two peers have overlapping mismatching ranges (CASSANDRA-17900)
* Better handle null state in Gossip schema migration to avoid NPE (CASSANDRA-17864)
* HintedHandoffAddRemoveNodesTest now accounts for the fact that StorageMetrics.totalHints is not updated synchronously w/ writes (CASSANDRA-16679)
* Avoid getting hanging repairs due to repair message timeouts (CASSANDRA-17613)
* Prevent infinite loop in repair coordinator on FailSession (CASSANDRA-17834)
* Fix race condition on updating cdc size and advancing to next segment (CASSANDRA-17792)
* Add 'noboolean' rpm build for older distros like CentOS7 (CASSANDRA-17765)
* Fix default value for compaction_throughput_mb_per_sec in Config class to match the one in cassandra.yaml (CASSANDRA-17790)
* Fix Setting Virtual Table - update after startup config properties gc_log_threshold_in_ms, gc_warn_threshold_in_ms,
conf.index_summary_capacity_in_mb, prepared_statements_cache_size_mb, key_cache_size_in_mb, counter_cache_size_in_mb
(CASSANDRA-17737)
* Fix Settings Virtual Table - index_summary_resize_interval and index_summary_capacity were not updated after startup (CASSANDRA-17735)
* Clean up ScheduledExecutors, CommitLog, and MessagingService shutdown for in-JVM dtests (CASSANDRA-17731)
* Remove extra write to system table for prepared statements (CASSANDRA-17764)
* SSL storage port in sstableloader is deprecated (CASSANDRA-17602)
* Fix counter write timeouts at ONE (CASSANDRA-17411)
* Fix NPE in getLocalPrimaryRangeForEndpoint (CASSANDRA-17680)
* Allow Java 11 to satisfy RPM/Debian packaging (CASSANDRA-17669)
* Ensure FileStreamTask cannot compromise shared channel proxy for system table when interrupted (CASSANDRA-17663)
* silence benign SslClosedEngineException (CASSANDRA-17565)
Merged from 3.11:
* Fix potential IndexOutOfBoundsException in PagingState in mixed mode clusters (CASSANDRA-17840)
* Document usage of closed token intervals in manual compaction (CASSANDRA-17575)
* Creating of a keyspace on insufficient number of replicas should filter out gosspping-only members (CASSANDRA-17759)
* Suppress CVE-2022-25857 and other snakeyaml CVEs (CASSANDRA-17907)
Merged from 3.0:
* Improve libjemalloc resolution in bin/cassandra (CASSANDRA-15767)
* Fix restarting of services on gossipping-only member (CASSANDRA-17752)
* Fix scrubber falling into infinite loop when the last partition is broken (CASSANDRA-17862)
* Fix resetting schema (CASSANDRA-17819)
4.1-alpha1
* Handle config parameters upper bound on startup; Fix auto_snapshot_ttl and paxos_purge_grace_period min unit validations (CASSANDRA-17571)
* Fix leak of non-standard Java types in our Exceptions as clients using JMX are unable to handle them.
Remove useless validation that leads to unnecessary additional read of cassandra.yaml on startup (CASSANDRA-17638)
* Fix repair_request_timeout_in_ms and remove paxos_auto_repair_threshold_mb (CASSANDRA-17557)
* Incremental repair leaks SomeRepairFailedException after switch away from flatMap (CASSANDRA-17620)
* StorageService read threshold get methods throw NullPointerException due to not handling null configs (CASSANDRA-17593)
* Rename truncate_drop guardrail to drop_truncate_table (CASSANDRA-17592)
* nodetool enablefullquerylog can NPE when directory has no files (CASSANDRA-17595)
* Add auto_snapshot_ttl configuration (CASSANDRA-16790)
* List snapshots of dropped tables (CASSANDRA-16843)
* Add information whether sstables are dropped to SchemaChangeListener (CASSANDRA-17582)
* Add a pluggable memtable API (CEP-11 / CASSANDRA-17034)
* Save sstable id as string in activity table (CASSANDRA-17585)
* Implement startup check to prevent Cassandra to potentially spread zombie data (CASSANDRA-17180)
* Allow failing startup on duplicate config keys (CASSANDRA-17379)
* Migrate threshold for minimum keyspace replication factor to guardrails (CASSANDRA-17212)
* Add guardrail to disallow TRUNCATE and DROP TABLE commands (CASSANDRA-17558)
* Add plugin support for CQLSH (CASSANDRA-16456)
* Add guardrail to disallow querying with ALLOW FILTERING (CASSANDRA-17370)
* Enhance SnakeYAML properties to be reusable outside of YAML parsing, support camel case conversion to snake case, and add support to ignore properties (CASSANDRA-17166)
* nodetool compact should support using a key string to find the range to avoid operators having to manually do this (CASSANDRA-17537)
* Add guardrail for data disk usage (CASSANDRA-17150)
* Tool to list data paths of existing tables (CASSANDRA-17568)
* Migrate track_warnings to more standard naming conventions and use latest configuration types rather than long (CASSANDRA-17560)
* Add support for CONTAINS and CONTAINS KEY in conditional UPDATE and DELETE statement (CASSANDRA-10537)
* Migrate advanced config parameters to the new Config types (CASSANDRA-17431)
* Make null to be meaning disabled and leave 0 as a valid value for permissions_update_interval, roles_update_interval, credentials_update_interval (CASSANDRA-17431)
* Fix typo in Config annotation (CASSANDRA-17431)
* Made Converters type safe and fixed a few cases where converters used the wrong type (CASSANDRA-17431)
* Fix null bug in DataStorageSpec and DurationSpec and require units to be added when providing 0 value (CASSANDRA-17431)
* Shutdown ScheduledExecutors as part of node drainage (CASSANDRA-17493)
* Provide JMX endpoint to allow transient logging of blocking read repairs (CASSANDRA-17471)
* Add guardrail for GROUP BY queries (CASSANDRA-17509)
* make pylib PEP and pylint compliant (CASSANDRA-17546)
* Add support for vnodes in jvm-dtest (CASSANDRA-17332)
* Remove guardrails global enable flag (CASSANDRA-17499)
* Clients using JMX are unable to handle non-standard java types but we leak this into our interfaces (CASSANDRA-17527)
* Remove stress server functionality (CASSANDRA-17535)
* Reduce histogram snapshot long[] allocation overhead during speculative read and write threshold updates (CASSANDRA-17523)
* Add guardrail for creation of secondary indexes (CASSANDRA-17498)
* Add guardrail to disallow creation of uncompressed tables (CASSANDRA-17504)
* Add guardrail to disallow creation of new COMPACT STORAGE tables (CASSANDRA-17522)
* repair vtables should expose a completed field due to lack of filtering options in CQL (CASSANDRA-17520)
* remove outdated code from cqlsh (CASSANDRA-17490)
* remove support for deprecated version specific TLS in Python 3.6 (CASSANDRA-17365)
* Add support for IF EXISTS and IF NOT EXISTS in ALTER statements (CASSANDRA-16916)
* resolve several pylint issues in cqlsh.py and pylib (CASSANDRA-17480)
* Streaming sessions longer than 3 minutes fail with timeout (CASSANDRA-17510)
* Add ability to track state in repair (CASSANDRA-15399)
* Remove unused 'parse' module (CASSANDRA-17484)
* change six functions in cqlshlib to native Python 3 (CASSANDRA-17417)
* reduce hot-path object allocations required to record local/remote requests against the client request metrics (CASSANDRA-17424)
* Disallow removing DC from system_auth while nodes are active in the DC (CASSANDRA-17478)
* Add guardrail for the number of fields per UDT (CASSANDRA-17385)
* Allow users to change cqlsh history location using env variable (CASSANDRA-17448)
* Add required -f option to use nodetool verify and standalone sstableverify (CASSANDRA-17017)
* Add support for UUID based sstable generation identifiers (CASSANDRA-17048)
* Log largest memtable flush at info instead of debug (CASSANDRA-17472)
* Add native transport rate limiter options to example cassandra.yaml, and expose metric for dispatch rate (CASSANDRA-17423)
* Add diagnostic events for guardrails (CASSANDRA-17197)
* Pre hashed passwords in CQL (CASSANDRA-17334)
* Increase cqlsh version (CASSANDRA-17432)
* Update SUPPORTED_UPGRADE_PATHS to include 3.0 and 3.x to 4.1 paths and remove obsolete tests (CASSANDRA-17362)
* Support DELETE in CQLSSTableWriter (CASSANDRA-14797)
* Failed inbound internode authentication failures generate ugly warning with stack trace (CASSANDRA-17068)
* Expose gossip information in system_views.gossip_info virtual table (CASSANDRA-17002)
* Add guardrails for collection items and size (CASSANDRA-17153)
* Improve guardrails messages (CASSANDRA-17430)
* Remove all usages of junit.framework and ban them via Checkstyle (CASSANDRA-17316)
* Add guardrails for read/write consistency levels (CASSANDRA-17188)
* Add guardrail for SELECT IN terms and their cartesian product (CASSANDRA-17187)
* remove unused imports in cqlsh.py and cqlshlib (CASSANDRA-17413)
* deprecate property windows_timer_interval (CASSANDRA-17404)
* Expose streaming as a vtable (CASSANDRA-17390)
* Expose all client options via system_views.clients and nodetool clientstats (CASSANDRA-16378)
* Make startup checks configurable (CASSANDRA-17220)
* Add guardrail for number of partition keys on IN queries (CASSANDRA-17186)
* update Python test framework from nose to pytest (CASSANDRA-17293)
* Fix improper CDC commit log segments deletion in non-blocking mode (CASSANDRA-17233)
* Add support for string concatenations through the + operator (CASSANDRA-17190)
* Limit the maximum hints size per host (CASSANDRA-17142)
* Add a virtual table for exposing batch metrics (CASSANDRA-17225)
* Flatten guardrails config (CASSANDRA-17353)
* Instance failed to start up due to NPE in StartupClusterConnectivityChecker (CASSANDRA-17347)
* add the shorter version of version flag (-v) in cqlsh (CASSANDRA-17236)
* Make vtables accessible via internode messaging (CASSANDRA-17295)
* Add support for PEM based key material for SSL (CASSANDRA-17031)
* Standardize storage configuration parameters' names. Support unit suffixes. (CASSANDRA-15234)
* Remove support for Windows (CASSANDRA-16956)
* Runtime-configurable YAML option to prohibit USE statements (CASSANDRA-17318)
* When streaming sees a ClosedChannelException this triggers the disk failure policy (CASSANDRA-17116)
* Add a virtual table for exposing prepared statements metrics (CASSANDRA-17224)
* Remove python 2.x support from cqlsh (CASSANDRA-17242)
* Prewarm role and credential caches to avoid timeouts at startup (CASSANDRA-16958)
* Make capacity/validity/updateinterval/activeupdate for Auth Caches configurable via nodetool (CASSANDRA-17063)
* Added startup check for read_ahead_kb setting (CASSANDRA-16436)
* Avoid unecessary array allocations and initializations when performing query checks (CASSANDRA-17209)
* Add guardrail for list operations that require read before write (CASSANDRA-17154)
* Migrate thresholds for number of keyspaces and tables to guardrails (CASSANDRA-17195)
* Remove self-reference in SSTableTidier (CASSANDRA-17205)
* Add guardrail for query page size (CASSANDRA-17189)
* Allow column_index_size_in_kb to be configurable through nodetool (CASSANDRA-17121)
* Emit a metric for number of local read and write calls
* Add non-blocking mode for CDC writes (CASSANDRA-17001)
* Add guardrails framework (CASSANDRA-17147)
* Harden resource management on SSTable components to prevent future leaks (CASSANDRA-17174)
* Make nodes more resilient to local unrelated files during startup (CASSANDRA-17082)
* repair prepare message would produce a wrong error message if network timeout happened rather than reply wait timeout (CASSANDRA-16992)
* Log queries that fail on timeout or unavailable errors up to once per minute by default (CASSANDRA-17159)
* Refactor normal/preview/IR repair to standardize repair cleanup and error handling of failed RepairJobs (CASSANDRA-17069)
* Log missing peers in StartupClusterConnectivityChecker (CASSANDRA-17130)
* Introduce separate rate limiting settings for entire SSTable streaming (CASSANDRA-17065)
* Implement Virtual Tables for Auth Caches (CASSANDRA-16914)
* Actively update auth cache in the background (CASSANDRA-16957)
* Add unix time conversion functions (CASSANDRA-17029)
* JVMStabilityInspector.forceHeapSpaceOomMaybe should handle all non-heap OOMs rather than only supporting direct only (CASSANDRA-17128)
* Forbid other Future implementations with checkstyle (CASSANDRA-17055)
* commit log was switched from non-daemon to daemon threads, which causes the JVM to exit in some case as no non-daemon threads are active (CASSANDRA-17085)
* Add a Denylist to block reads and writes on specific partition keys (CASSANDRA-12106)
* v4+ protocol did not clean up client warnings, which caused leaking the state (CASSANDRA-17054)
* Remove duplicate toCQLString in ReadCommand (CASSANDRA-17023)
* Ensure hint window is persistent across restarts of a node (CASSANDRA-14309)
* Allow to GRANT or REVOKE multiple permissions in a single statement (CASSANDRA-17030)
* Allow to grant permission for all tables in a keyspace (CASSANDRA-17027)
* Log time spent writing keys during compaction (CASSANDRA-17037)
* Make nodetool compactionstats and sstable_tasks consistent (CASSANDRA-16976)
* Add metrics and logging around index summary redistribution (CASSANDRA-17036)
* Add configuration options for minimum allowable replication factor and default replication factor (CASSANDRA-14557)
* Expose information about stored hints via a nodetool command and a virtual table (CASSANDRA-14795)
* Add broadcast_rpc_address to system.local (CASSANDRA-11181)
* Add support for type casting in WHERE clause components and in the values of INSERT/UPDATE statements (CASSANDRA-14337)
* add credentials file support to CQLSH (CASSANDRA-16983)
* Skip remaining bytes in the Envelope buffer when a ProtocolException is thrown to avoid double decoding (CASSANDRA-17026)
* Allow reverse iteration of resources during permissions checking (CASSANDRA-17016)
* Add feature to verify correct ownership of attached locations on disk at startup (CASSANDRA-16879)
* Make SSLContext creation pluggable/extensible (CASSANDRA-16666)
* Add soft/hard limits to local reads to protect against reading too much data in a single query (CASSANDRA-16896)
* Avoid token cache invalidation for removing a non-member node (CASSANDRA-15290)
* Allow configuration of consistency levels on auth operations (CASSANDRA-12988)
* Add number of sstables in a compaction to compactionstats output (CASSANDRA-16844)
* Upgrade Caffeine to 2.9.2 (CASSANDRA-15153)
* Allow DELETE and TRUNCATE to work on Virtual Tables if the implementation allows it (CASSANDRA-16806)
* Include SASI components to snapshots (CASSANDRA-15134)
* Fix missed wait latencies in the output of `nodetool tpstats -F` (CASSANDRA-16938)
* Reduce native transport max frame size to 16MB (CASSANDRA-16886)
* Add support for filtering using IN restrictions (CASSANDRA-14344)
* Provide a nodetool command to invalidate auth caches (CASSANDRA-16404)
* Catch read repair timeout exceptions and add metric (CASSANDRA-16880)
* Exclude Jackson 1.x transitive dependency of hadoop* provided dependencies (CASSANDRA-16854)
* Add client warnings and abort to tombstone and coordinator reads which go past a low/high watermark (CASSANDRA-16850)
* Add TTL support to nodetool snapshots (CASSANDRA-16789)
* Allow CommitLogSegmentReader to optionally skip sync marker CRC checks (CASSANDRA-16842)
* allow blocking IPs from updating metrics about traffic (CASSANDRA-16859)
* Request-Based Native Transport Rate-Limiting (CASSANDRA-16663)
* Implement nodetool getauditlog command (CASSANDRA-16725)
* Clean up repair code (CASSANDRA-13720)
* Background schedule to clean up orphaned hints files (CASSANDRA-16815)
* Modify SecondaryIndexManager#indexPartition() to retrieve only columns for which indexes are actually being built (CASSANDRA-16776)
* Batch the token metadata update to improve the speed (CASSANDRA-15291)
* Reduce the log level on "expected" repair exceptions (CASSANDRA-16775)
* Make JMXTimer expose attributes using consistent time unit (CASSANDRA-16760)
* Remove check on gossip status from DynamicEndpointSnitch::updateScores (CASSANDRA-11671)
* Fix AbstractReadQuery::toCQLString not returning valid CQL (CASSANDRA-16510)
* Log when compacting many tombstones (CASSANDRA-16780)
* Display bytes per level in tablestats for LCS tables (CASSANDRA-16799)
* Add isolated flush timer to CommitLogMetrics and ensure writes correspond to single WaitingOnCommit data points (CASSANDRA-16701)
* GossiperTest.testHasVersion3Nodes didn't take into account trunk version changes, fixed to rely on latest version (CASSANDRA-16651)
* Update JNA library to 5.9.0 and snappy-java to version 1.1.8.4 (CASSANDRA-17040)
Merged from 4.0:
* Utilise BTree improvements to reduce garbage and improve throughput (CASSANDRA-15511)
Merged from 3.11:
Merged from 3.0:
* Fix writetime and ttl functions forbidden for collections instead of multicell columns (CASSANDRA-17628)
* Fix issue where frozen maps may not be serialized in the correct order (CASSANDRA-17623)
* Suppress CVE-2022-24823 (CASSANDRA-17633)
* fsync TOC and digest files (CASSANDRA-10709)
4.0.4
* Optimise BTree build,update and transform operations (CASSANDRA-15510)
* Clean up schema migration coordinator and tests (CASSANDRA-17533)
* Shut repair task executor down without interruption to avoid compromising shared channel proxies (CASSANDRA-17466)
* Generate valid KEYSPACE / MATERIALIZED VIEW for CQL for views (CASSANDRA-17266)
* Fix timestamp tz parsing (CASSANDRA-17467)
* Suppress CVE-2021-44521 from driver (CASSANDRA-17459)
* Upgrade jackson to 2.13.2 (CASSANDRA-17460)
* Make sstableloader honour native port option (CASSANDRA-17210)
* Reject snapshot names with special character (CASSANDRA-15297)
* Fix ObjectSizes implementation and usages (CASSANDRA-17402)
* Fix race condition bug during local session repair (CASSANDRA-17335)
* Fix ignored streaming encryption settings in sstableloader (CASSANDRA-17367)
* Streaming tasks handle empty SSTables correctly (CASSANDRA-16349)
* Prevent SSTableLoader from doing unnecessary work (CASSANDRA-16349)
Merged from 3.11:
* Upgrade jackson-databind to 2.13.2.2 (CASSANDRA-17556)
* Upgrade slf4j to 1.7.25 (CASSANDRA-17474)
* Upgrade jackson to 2.13.2 (CASSANDRA-17492)
* emit warning on keyspace creation when replication factor is bigger than the number of nodes (CASSANDRA-16747)
* Fix snapshot true size calculation (CASSANDRA-17267)
* Validate existence of DCs when repairing (CASSANDRA-17407)
* dropping of a materialized view creates a snapshot with dropped- prefix (CASSANDRA-17415)
Merged from 3.0:
* fsync TOC and digest files (CASSANDRA-10709)
* Fix URISyntaxException in nodetool with updated Java (CASSANDRA-17581)
* Schema mutations may not be completed on drain (CASSANDRA-17524)
* Fix data corruption in AbstractCompositeType due to static boolean byte buffers (CASSANDRA-14752)
* Add procps dependency to RPM/Debian packages (CASSANDRA-17516)
* Suppress CVE-2021-44521 (CASSANDRA-17492)
* ConnectionLimitHandler may leaks connection count if remote connection drops (CASSANDRA-17252)
* Require ant >= 1.10 (CASSANDRA-17428)
* Disallow CONTAINS for UPDATE and DELETE (CASSANDRA-15266)
* Suppress inapplicable CVEs (CASSANDRA-17368)
* Fix flaky test - test_cqlsh_completion.TestCqlshCompletion (CASSANDRA-17338)
* Fixed TestCqlshOutput failing tests (CASSANDRA-17386)
* Lazy transaction log replica creation allows incorrect replica content divergence during anticompaction (CASSANDRA-17273)
* LeveledCompactionStrategy disk space check improvements (CASSANDRA-17272)
4.0.3
* Deprecate otc_coalescing_strategy, otc_coalescing_window_us, otc_coalescing_enough_coalesced_messages,
otc_backlog_expiration_interval_ms (CASSANDRA-17377)
* Improve start up processing of Incremental Repair information read from system.repairs (CASSANDRA-17342)
* Extend operator control over the UDF threading model for CVE-2021-44521 (CASSANDRA-17352)
* Full Java 11 support (CASSANDRA-16894)
* Remove unused 'geomet' package from cqlsh path (CASSANDRA-17271)
* Removed unused 'cql' dependency (CASSANDRA-17247)
* Don't block gossip when clearing repair snapshots (CASSANDRA-17168)
* Deduplicate warnings for deprecated parameters (changed names) (CASSANDRA-17160)
* Update ant-junit to version 1.10.12 (CASSANDRA-17218)
* Add droppable tombstone metrics to nodetool tablestats (CASSANDRA-16308)
* Fix disk failure triggered when enabling FQL on an unclean directory (CASSANDRA-17136)
* Fixed broken classpath when multiple jars in build directory (CASSANDRA-17129)
* DebuggableThreadPoolExecutor does not propagate client warnings (CASSANDRA-17072)
* internode_send_buff_size_in_bytes and internode_recv_buff_size_in_bytes have new names. Backward compatibility with the old names added (CASSANDRA-17141)
* Remove unused configuration parameters from cassandra.yaml (CASSANDRA-17132)
* Queries performed with NODE_LOCAL consistency level do not update request metrics (CASSANDRA-17052)
* Fix multiple full sources can be select unexpectedly for bootstrap streaming (CASSANDRA-16945)
* Fix cassandra.yaml formatting of parameters (CASSANDRA-17131)
* Add backward compatibility for CQLSSTableWriter Date fields (CASSANDRA-17117)
* Push initial client connection messages to trace (CASSANDRA-17038)
* Correct the internode message timestamp if sending node has wrapped (CASSANDRA-16997)
* Avoid race causing us to return null in RangesAtEndpoint (CASSANDRA-16965)
* Avoid rewriting all sstables during cleanup when transient replication is enabled (CASSANDRA-16966)
* Prevent CQLSH from failure on Python 3.10 (CASSANDRA-16987)
* Avoid trying to acquire 0 permits from the rate limiter when taking snapshot (CASSANDRA-16872)
* Remove all the state pollution between tests in SSTableReaderTest (CASSANDRA-16888)
* Delay auth setup until after gossip has settled to avoid unavailables on startup (CASSANDRA-16783)
* org.apache.cassandra.db.rows.ArrayCell#unsharedHeapSizeExcludingData includes data twice (CASSANDRA-16900)
* Fix clustering order logic in CREATE MATERIALIZED VIEW (CASSANDRA-16898)
* Exclude Jackson 1.x transitive dependency of hadoop* provided dependencies (CASSANDRA-16854)
* Tolerate missing DNS entry when completing a host replacement (CASSANDRA-16873)
* Harden PrunableArrayQueue against Pruner implementations that might throw exceptions (CASSANDRA-16866)
* Move RepairedDataInfo to the execution controller rather than the ReadCommand to avoid unintended sharing (CASSANDRA-16721)
* Bump zstd-jni version to 1.5.0-4 (CASSANDRA-16884)
* Remove assumption that all urgent messages are small (CASSANDRA-16877)
* ArrayClustering.unsharedHeapSize does not include the data so undercounts the heap size (CASSANDRA-16845)
* Improve help, doc and error messages about sstabledump -k and -x arguments (CASSANDRA-16818)
* Add repaired/unrepaired bytes back to nodetool (CASSANDRA-15282)
* Upgrade lz4-java to 1.8.0 to add RH6 support back (CASSANDRA-16753)
* Improve DiagnosticEventService.publish(event) logging message of events (CASSANDRA-16749)
* Cleanup dependency scopes (CASSANDRA-16704)
* Make JmxHistogram#getRecentValues() and JmxTimer#getRecentValues() thread-safe (CASSANDRA-16707)
Merged from 3.11:
* Upgrade jackson-databind to 2.13.2.2 (CASSANDRA-17556)
* Upgrade slf4j to 1.7.25 (CASSANDRA-17474)
* Upgrade jackson to 2.13.2 (CASSANDRA-17492)
* emit warning on keyspace creation when replication factor is bigger than the number of nodes (CASSANDRA-16747)
* Fix snapshot true size calculation (CASSANDRA-17267)
* dropping of a materialized view creates a snapshot with dropped- prefix (CASSANDRA-17415)
* Validate existence of DCs when repairing (CASSANDRA-17407)
* Add key validation to ssstablescrub (CASSANDRA-16969)
* Update Jackson from 2.9.10 to 2.12.5 (CASSANDRA-16851)
* Make assassinate more resilient to missing tokens (CASSANDRA-16847)
* Validate SASI tokenizer options before adding index to schema (CASSANDRA-15135)
* Fixup scrub output when no data post-scrub and clear up old use of row, which really means partition (CASSANDRA-16835)
* Reduce thread contention in CommitLogSegment and HintsBuffer (CASSANDRA-16072)
* Make cqlsh use the same set of reserved keywords than the server uses (CASSANDRA-15663)
* Optimize bytes skipping when reading SSTable files (CASSANDRA-14415)
* Enable tombstone compactions when unchecked_tombstone_compaction is set in TWCS (CASSANDRA-14496)
* Read only the required SSTables for single partition queries (CASSANDRA-16737)
Merged from 3.0:
* Schema mutations may not be completed on drain (CASSANDRA-17524)
* Fix data corruption in AbstractCompositeType due to static boolean byte buffers (CASSANDRA-14752)
* Add procps dependency to RPM/Debian packages (CASSANDRA-17516)
* Suppress CVE-2021-44521 (CASSANDRA-17492)
* ConnectionLimitHandler may leaks connection count if remote connection drops (CASSANDRA-17252)
* Require ant >= 1.10 (CASSANDRA-17428)
* Disallow CONTAINS for UPDATE and DELETE (CASSANDRA-15266)
* Suppress inapplicable CVEs (CASSANDRA-17368)
* Fix flaky test - test_cqlsh_completion.TestCqlshCompletion (CASSANDRA-17338)
* Fixed TestCqlshOutput failing tests (CASSANDRA-17386)
* Lazy transaction log replica creation allows incorrect replica content divergence during anticompaction (CASSANDRA-17273)
* LeveledCompactionStrategy disk space check improvements (CASSANDRA-17272)
* Fix conversion from megabits to bytes in streaming rate limiter (CASSANDRA-17243)
* Upgrade logback to 1.2.9 (CASSANDRA-17204)
* Avoid race in AbstractReplicationStrategy endpoint caching (CASSANDRA-16673)
* Fix abort when window resizing during cqlsh COPY (CASSANDRA-15230)
* Fix slow keycache load which blocks startup for tables with many sstables (CASSANDRA-14898)
* Fix rare NPE caused by batchlog replay / node decomission races (CASSANDRA-17049)
* Allow users to view permissions of the roles they created (CASSANDRA-16902)
* Fix failure handling in inter-node communication (CASSANDRA-16334)
* Log more information when a node runs out of commitlog space (CASSANDRA-11323)
* Don't take snapshots when truncating system tables (CASSANDRA-16839)
* Make -Dtest.methods consistently optional in all Ant test targets (CASSANDRA-17014)
* Immediately apply stream throughput, considering negative values as unthrottled (CASSANDRA-16959)
* Do not release new SSTables in offline transactions (CASSANDRA-16975)
* ArrayIndexOutOfBoundsException in FunctionResource#fromName (CASSANDRA-16977, CASSANDRA-16995)
* CVE-2015-0886 Security vulnerability in jbcrypt is addressed (CASSANDRA-9384)
* Avoid useless SSTable reads during single partition queries (CASSANDRA-16944)
* Debian init respects CASSANDRA_HEAPDUMP_DIR (CASSANDRA-13843)
* Catch UnsatisfiedLinkError in WindowsTimer (CASSANDRA-16085)
* Avoid removing batch when it's not created during view replication (CASSANDRA-16175)
* Make the addition of regular column to COMPACT tables throw an InvalidRequestException (CASSANDRA-14564)
* Make the addition of regular column to COMPACT tables throw an InvalidRequestException (CASSANDRA-14564)
* Fix secondary indexes on primary key columns skipping some writes (CASSANDRA-16868)
* Use JMX to validate nodetool --jobs parameter (CASSANDRA-16104)
* Handle properly UnsatisfiedLinkError in NativeLibrary#getProcessID() (CASSANDRA-16578)
* Remove mutation data from error log message (CASSANDRA-16817)
* Binary releases no longer bundle the apidocs (javadoc) (CASSANDRA-16557)
* Migrate dependency handling from maven-ant-tasks to resolver-ant-tasks, removing lib/ directory from version control (CASSANDRA-16557)
* Don't allow seeds to replace without using unsafe (CASSANDRA-14463)
* Calculate time remaining correctly for all compaction types in compactionstats (CASSANDRA-14701)
* Receipt of gossip shutdown notification updates TokenMetadata (CASSANDRA-16796)
* Count bloom filter misses correctly (CASSANDRA-12922)
* Reject token() in MV WHERE clause (CASSANDRA-13464)
* Ensure java executable is on the path (CASSANDRA-14325)
* Clean transaction log leftovers at the beginning of sstablelevelreset and sstableofflinerelevel (CASSANDRA-12519)
4.0.0
* Avoid signaling DigestResolver until the minimum number of responses are guaranteed to be visible (CASSANDRA-16807)
* Fix pre-4.0 FWD_FRM parameter serializer (CASSANDRA-16808)
* Fix fwd to/from headers in DC write forwarding (CASSANDRA-16797)
* Fix CassandraVersion::compareTo (CASSANDRA-16794)
* BinLog does not close chronicle queue leaving this to GC to cleanup (CASSANDRA-16774)
4.0-rc2
* Improved password obfuscation (CASSANDRA-16801)
* Avoid memoizing the wrong min cluster version during upgrades (CASSANDRA-16759)
* Obfuscate passwords in statements in QueryEvents (CASSANDRA-16669)
* Fix queries on empty partitions with static data (CASSANDRA-16686)
* Keep python driver in artifacts (CASSANDRA-16700)
* Improve AuditLogging documentation and logback.xml(CASSANDRA-16682)
* Spin up SEPWorker threads whenever we grow the number of work permits(CASSANDRA-16668)
* Add a warning to cqlsh 6.0.0 that DESCRIBE does not work with a Cassandra 3.x servers (CASSANDRA-16652)
* cqlsh: fix DESC TYPE with non-ascii character in the identifier (CASSANDRA-16400)
* Remove drivers dependency and bring cql_keywords_reserved on server side (CASSANDRA-16659)
* Fix in-browser "help", Python 3 (CASSANDRA-16658)
* Fix DROP COMPACT STORAGE for counters (CASSANDRA-16653)
* Add back validation for AlterTableStatements (CASSANDRA-16643)
* Fix cqlsh encoding error with unicode in multi-line statement (CASSANDRA-16539)
* Fix race in fat client removal (CASSANDRA-16238)
* Test org.apache.cassandra.net.AsyncPromiseTest FAILED (CASSANDRA-16596)
Merged from 3.11:
* Fix LeveledCompactionStrategy compacts last level throw an ArrayIndexOutOfBoundsException (CASSANDRA-15669)
* Maps $CASSANDRA_LOG_DIR to cassandra.logdir java property when executing nodetool (CASSANDRA-16199)
* Nodetool garbagecollect should retain SSTableLevel for LCS (CASSANDRA-16634)
* Ignore stale acks received in the shadow round (CASSANDRA-16588)
Merged from 3.0:
* Handle correctly the exceptions thrown by custom QueryHandler constructors (CASSANDRA-16703)
* Adding columns via ALTER TABLE can generate corrupt sstables (CASSANDRA-16735)
* Add flag to disable ALTER...DROP COMPACT STORAGE statements (CASSANDRA-16733)
* CQL shell should prefer newer TLS version by default (CASSANDRA-16695)
* Ensure that existing empty rows are properly returned (CASSANDRA-16671)
* Failure to execute queries should emit a KPI other than read timeout/unavailable so it can be alerted/tracked (CASSANDRA-16581)
* Don't wait on schema versions from replacement target when replacing a node (CASSANDRA-16692)
* StandaloneVerifier does not fail when unable to verify SSTables, it only fails if Corruption is thrown (CASSANDRA-16683)
* Fix bloom filter false ratio calculation by including true negatives (CASSANDRA-15834)
* Prevent loss of commit log data when moving sstables between nodes (CASSANDRA-16619)
* Fix materialized view builders inserting truncated data (CASSANDRA-16567)
4.0-rc1
* Allow for setting buffer max capacity to increase it dynamically as needed (CASSANDRA-16524)
* Harden internode message resource limit accounting against serialization failures (CASSANDRA-16616)
* Add back the source release of python driver in tree to avoid fetching from GitHub APIs (CASSANDRA-16599)
* Fix false unavailable for queries due to cluster topology changes (CASSANDRA-16545)
* Fixed a race condition issue in nodetool repair where we poll for the error before seeing the error notification, leading to a less meaningful message (CASSANDRA-16585)
* Fix mixed cluster GROUP BY queries (CASSANDRA-16582)
* Upgrade jflex to 1.8.2 (CASSANDRA-16576)
* Binary releases no longer bundle the apidocs (javadoc) (CASSANDRA-15561)
* Fix Streaming Repair metrics (CASSANDRA-16190)
* Scheduled (delayed) schema pull tasks should not run after MIGRATION stage shutdown during decommission (CASSANDRA-16495)
* When behind a firewall trunk is not buildable, need to allow overriding URLs (CASSANDRA-16563)
* Make sure sstables with moved starts are removed correctly in LeveledGenerations (CASSANDRA-16552)
* Fix race between secondary index building and active compactions tracking (CASSANDRA-16554)
* Migrate dependency handling from maven-ant-tasks to resolver-ant-tasks, removing lib/ directory from version control (CASSANDRA-16391)
* Fix 4.0 node sending a repair prepare message to a 3.x node breaking the connection (CASSANDRA-16542)
* Removed synchronized modifier from StreamSession#onChannelClose to prevent deadlocking on flush (CASSANDRA-15892)
* Throw IOE in AbstractType.writeValue if value has wrong fixed length (CASSANDRA-16500)
* Execute background refreshing of auth caches on a dedicated executor (CASSANDRA-15177)
* Update bundled java and python drivers to 3.11.0 and 3.25.0 respectively (CASSANDRA-13951)
* Add io.netty.tryReflectionSetAccessible=true to j11 server options in order to enable netty to use Unsafe direct byte buffer construction (CASSANDRA-16493)
* Make cassandra-stress -node support host:port notation (CASSANDRA-16529)
* Better handle legacy gossip application states during (and after) upgrades (CASSANDRA-16525)
* Mark StreamingMetrics.ActiveOutboundStreams as deprecated (CASSANDRA-11174)
* Increase the cqlsh version number (CASSANDRA-16509)
* Fix the CQL generated for the views.where_clause column when some identifiers require quoting (CASSANDRA-16479)
* Send FAILED_SESSION_MSG on shutdown and on in-progress repairs during startup (CASSANDRA-16425)
* Reinstate removed ApplicationState padding (CASSANDRA-16484)
* Expose data dirs to ColumnFamilyStoreMBean (CASSANDRA-16335)
* Add possibility to copy SSTables in SSTableImporter instead of moving them (CASSANDRA-16407)
* Fix DESCRIBE statement for CUSTOM indices with options (CASSANDRA-16482)
* Fix cassandra-stress JMX connection (CASSANDRA-16473)
* Avoid processing redundant application states on endpoint changes (CASSANDRA-16381)
* Prevent parent repair sessions leak (CASSANDRA-16446)
* Fix timestamp issue in SinglePartitionSliceCommandTest testPartitionD…eletionRowDeletionTie (CASSANDRA-16443)
* Promote protocol V5 out of beta (CASSANDRA-14973)
* Fix incorrect encoding for strings can be UTF8 (CASSANDRA-16429)
* Fix node unable to join when RF > N in multi-DC with added warning (CASSANDRA-16296)
* Add an option to nodetool tablestats to check sstable location correctness (CASSANDRA-16344)
* Unable to ALTER KEYSPACE while decommissioned/assassinated nodes are in gossip (CASSANDRA-16422)
* Metrics backward compatibility restored after CASSANDRA-15066 (CASSANDRA-16083)
* Reduce new reserved keywords introduced since 3.0 (CASSANDRA-16439)
* Improve system tables handling in case of disk failures (CASSANDRA-14793)
* Add access and datacenters to unreserved keywords (CASSANDRA-16398)
* Fix nodetool ring, status output when DNS resolution or port printing are in use (CASSANDRA-16283)
* Upgrade Jacoco to 0.8.6 (for Java 11 support) (CASSANDRA-16365)
* Move excessive repair debug loggings to trace level (CASSANDRA-16406)
* Restore validation of each message's protocol version (CASSANDRA-16374)
* Upgrade netty and chronicle-queue dependencies to get Auditing and native library loading working on arm64 architectures (CASSANDRA-16384,CASSANDRA-16392)
* Release StreamingTombstoneHistogramBuilder spool when switching writers (CASSANDRA-14834)
* Correct memtable on-heap size calculations to match actual use (CASSANDRA-16318)
* Fix client notifications in CQL protocol v5 (CASSANDRA-16353)
* Too defensive check when picking sstables for preview repair (CASSANDRA-16284)
* Ensure pre-negotiation native protocol responses have correct stream id (CASSANDRA-16376)
* Fix check for -Xlog in cassandra-env.sh (CASSANDRA-16279)
* SSLFactory should initialize SSLContext before setting protocols (CASSANDRA-16362)
* Restore sasi dependencies jflex, snowball-stemmer, and concurrent-trees, in the cassandra-all pom (CASSANDRA-16303)
* Fix DecimalDeserializer#toString OOM (CASSANDRA-14925)
Merged from 3.11:
* Add autocomplete and error messages for provide_overlapping_tombstones (CASSANDRA-16350)
* Upgrade jackson-databind to 2.9.10.8 (CASSANDRA-16462)
* Fix digest computation for queries with fetched but non queried columns (CASSANDRA-15962)
* Reduce amount of allocations during batch statement execution (CASSANDRA-16201)
* Update jflex-1.6.0.jar to match upstream (CASSANDRA-16393)
Merged from 3.0:
* Don't wait for schema migrations from removed nodes (CASSANDRA-16577)
* Ignore trailing zeros in hint files (CASSANDRA-16523)
* Refuse DROP COMPACT STORAGE if some 2.x sstables are in use (CASSANDRA-15897)
* Fix ColumnFilter::toString not returning a valid CQL fragment (CASSANDRA-16483)
* Fix ColumnFilter behaviour to prevent digest mitmatches during upgrades (CASSANDRA-16415)
* Update debian packaging for python3 (CASSANDRA-16396)
* Avoid pushing schema mutations when setting up distributed system keyspaces locally (CASSANDRA-16387)
* Prevent unbounded number of pending flushing tasks (CASSANDRA-16261)
* Improve empty hint file handling during startup (CASSANDRA-16162)
* Fix skipping on pre-3.0 created compact storage sstables due to missing primary key liveness (CASSANDRA-16226)
* Allow empty string in collections with COPY FROM in cqlsh (CASSANDRA-16372)
Merged from 2.2:
* Remove ant targets list-jvm-dtests and ant list-jvm-upgrade-dtests (CASSANDRA-16519)
* Fix centos packaging for arm64, >=4.0 rpm's now require python3 (CASSANDRA-16477)
* Make TokenMetadata's ring version increments atomic (CASSANDRA-16286)
4.0-beta4
* DROP COMPACT STORAGE should invalidate prepared statements still using CompactTableMetadata (CASSANDRA-16361)
* Update default num_tokens to 16 and allocate_tokens_for_local_replication_factor to 3 (CASSANDRA-13701)
* Remove use of String.intern() (CASSANDRA-15810)
* Fix the missing bb position in ByteBufferAccessor.getUnsignedShort (CASSANDRA-16249)
* Make sure OOM errors are rethrown on truncation failure (CASSANDRA-16254)
* Send back client warnings when creating too many tables/keyspaces (CASSANDRA-16309)
* Add dedicated tcp user timeout for streaming connection (CASSANDRA-16143)
* Add generatetokens script for offline token allocation strategy generation (CASSANDRA-16205)
* Remove Windows scripts (CASSANDRA-16171)
* Improve checksumming and compression in protocol V5 (CASSANDRA-15299)
* Optimised repair streaming improvements (CASSANDRA-16274)
* Update jctools dependency to 3.1.0 (CASSANDRA-16255)
* 'SSLEngine closed already' exception on failed outbound connection (CASSANDRA-16277)
* Drain and/or shutdown might throw because of slow messaging service shutdown (CASSANDRA-16276)
* Upgrade JNA to 5.6.0, dropping support for <=glibc-2.6 systems (CASSANDRA-16212)
* Add saved Host IDs to TokenMetadata at startup (CASSANDRA-16246)
* Ensure that CacheMetrics.requests is picked up by the metric reporter (CASSANDRA-16228)
* Add a ratelimiter to snapshot creation and deletion (CASSANDRA-13019)
* Produce consistent tombstone for reads to avoid digest mistmatch (CASSANDRA-15369)
* Fix SSTableloader issue when restoring a table named backups (CASSANDRA-16235)
* Invalid serialized size for responses caused by increasing message time by 1ms which caused extra bytes in size calculation (CASSANDRA-16103)
* Throw BufferOverflowException from DataOutputBuffer for better visibility (CASSANDRA-16214)
* TLS connections to the storage port on a node without server encryption configured causes java.io.IOException accessing missing keystore (CASSANDRA-16144)
* Internode messaging catches OOMs and does not rethrow (CASSANDRA-15214)
* When a table attempts to clean up metrics, it was cleaning up all global table metrics (CASSANDRA-16095)
* Bring back the accepted encryption protocols list as configurable option (CASSANDRA-13325)
* DigestResolver.getData throws AssertionError since dataResponse is null (CASSANDRA-16097)
* Cannot replace_address /X because it doesn't exist in gossip (CASSANDRA-16213)
* cqlsh row_id resets on page boundaries (CASSANDRA-16160)
Merged from 3.11:
* SASI's `max_compaction_flush_memory_in_mb` settings over 100GB revert to default of 1GB (CASSANDRA-16071)
Merged from 3.0:
* Extend the exclusion of replica filtering protection to other indices instead of just SASI (CASSANDRA-16311)
* Synchronize transaction logs for JBOD (CASSANDRA-16225)
* Fix the counting of cells per partition (CASSANDRA-16259)
* Fix serial read/non-applying CAS linearizability (CASSANDRA-12126)
* Avoid potential NPE in JVMStabilityInspector (CASSANDRA-16294)
* Improved check of num_tokens against the length of initial_token (CASSANDRA-14477)
* Fix a race condition on ColumnFamilyStore and TableMetrics (CASSANDRA-16228)
* Remove the SEPExecutor blocking behavior (CASSANDRA-16186)
* Wait for schema agreement when bootstrapping (CASSANDRA-15158)
* Prevent invoking enable/disable gossip when not in NORMAL (CASSANDRA-16146)
* Raise Dynamic Snitch Default Badness Threshold to 1.0 (CASSANDRA-16285)
Merged from 2.2:
* Fix the histogram merge of the table metrics (CASSANDRA-16259)
4.0-beta3
* Segregate Network and Chunk Cache BufferPools and Recirculate Partially Freed Chunks (CASSANDRA-15229)
* Fail truncation requests when they fail on a replica (CASSANDRA-16208)
* Move compact storage validation earlier in startup process (CASSANDRA-16063)
* Fix ByteBufferAccessor cast exceptions are thrown when trying to query a virtual table (CASSANDRA-16155)
* Consolidate node liveness check for forced repair (CASSANDRA-16113)
* Use unsigned short in ValueAccessor.sliceWithShortLength (CASSANDRA-16147)
* Abort repairs when getting a truncation request (CASSANDRA-15854)
* Remove bad assert when getting active compactions for an sstable (CASSANDRA-15457)
* Avoid failing compactions with very large partitions (CASSANDRA-15164)
* Prevent NPE in StreamMessage in type lookup (CASSANDRA-16131)
* Avoid invalid state transition exception during incremental repair (CASSANDRA-16067)
* Allow zero padding in timestamp serialization (CASSANDRA-16105)
* Add byte array backed cells (CASSANDRA-15393)
* Correctly handle pending ranges with adjacent range movements (CASSANDRA-14801)
* Avoid adding locahost when streaming trivial ranges (CASSANDRA-16099)
* Add nodetool getfullquerylog (CASSANDRA-15988)
* Fix yaml format and alignment in tpstats (CASSANDRA-11402)
* Avoid trying to keep track of RTs for endpoints we won't write to during read repair (CASSANDRA-16084)
* When compaction gets interrupted, the exception should include the compactionId (CASSANDRA-15954)
* Make Table/Keyspace Metric Names Consistent With Each Other (CASSANDRA-15909)
* Mutating sstable component may race with entire-sstable-streaming(ZCS) causing checksum validation failure (CASSANDRA-15861)
* NPE thrown while updating speculative execution time if keyspace is removed during task execution (CASSANDRA-15949)
* Show the progress of data streaming and index build (CASSANDRA-15406)
* Add flag to disable chunk cache and disable by default (CASSANDRA-16036)
* Upgrade to snakeyaml >= 1.26 version for CVE-2017-18640 fix (CASSANDRA-16150)
Merged from 3.11: