forked from apache/cassandra
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
7367 lines (7078 loc) · 442 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
4.1
* 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)
* Add a system property to set hostId if not yet initialized (CASSANDRA-14582)
* 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:
* 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)
* 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:
* 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:
* 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:
* Fix ColumnFilter to avoid querying cells of unselected complex columns (CASSANDRA-15977)
* Fix memory leak in CompressedChunkReader (CASSANDRA-15880)
* Don't attempt value skipping with mixed version cluster (CASSANDRA-15833)
* Use IF NOT EXISTS for index and UDT create statements in snapshot schema files (CASSANDRA-13935)
* Make sure LCS handles duplicate sstable added/removed notifications correctly (CASSANDRA-14103)
Merged from 3.0:
* Avoid marking shutting down nodes as up after receiving gossip shutdown message (CASSANDRA-16094)
* Handle unexpected columns due to schema races (CASSANDRA-15899)
* Add flag to ignore unreplicated keyspaces during repair (CASSANDRA-15160)
Merged from 2.2:
* Package tools/bin scripts as executable (CASSANDRA-16151)
* Fixed a NullPointerException when calling nodetool enablethrift (CASSANDRA-16127)
* Automatically drop compact storage on tables for which it is safe (CASSANDRA-16048)
* Fixed NullPointerException for COMPACT STORAGE tables with null clustering (CASSANDRA-16241)
4.0-beta2
* Add addition incremental repair visibility to nodetool repair_admin (CASSANDRA-14939)
* Always access system properties and environment variables via the new CassandraRelevantProperties and CassandraRelevantEnv classes (CASSANDRA-15876)
* Remove deprecated HintedHandOffManager (CASSANDRA-15939)
* Prevent repair from overrunning compaction (CASSANDRA-15817)
* fix cqlsh COPY functions in Python 3.8 on Mac (CASSANDRA-16053)
* Strip comment blocks from cqlsh input before processing statements (CASSANDRA-15802)
* Fix unicode chars error input (CASSANDRA-15990)
* Improved testability for CacheMetrics and ChunkCacheMetrics (CASSANDRA-15788)
* Handle errors in StreamSession#prepare (CASSANDRA-15852)
* FQL replay should have options to ignore DDL statements (CASSANDRA-16039)
* Remove COMPACT STORAGE internals (CASSANDRA-13994)
* Make TimestampSerializer accept fractional seconds of varying precision (CASSANDRA-15976)
* Improve cassandra-stress logging when using a profile file that doesn't exist (CASSANDRA-14425)
* Improve logging for socket connection/disconnection (CASSANDRA-15980)
* Throw FSWriteError upon write failures in order to apply DiskFailurePolicy (CASSANDRA-15928)
* Forbid altering UDTs used in partition keys (CASSANDRA-15933)
* Fix version parsing logic when upgrading from 3.0 (CASSANDRA-15973)
* Optimize NoSpamLogger use in hot paths (CASSANDRA-15766)
* Verify sstable components on startup (CASSANDRA-15945)
* Resolve JMX output inconsistencies from CASSANDRA-7544 storage-port-configurable-per-node (CASSANDRA-15937)
Merged from 3.11:
* Correctly interpret SASI's `max_compaction_flush_memory_in_mb` setting in megabytes not bytes (CASSANDRA-16071)
* Fix short read protection for GROUP BY queries (CASSANDRA-15459)
* stop_paranoid disk failure policy is ignored on CorruptSSTableException after node is up (CASSANDRA-15191)
* Frozen RawTuple is not annotated with frozen in the toString method (CASSANDRA-15857)
Merged from 3.0:
* Fix gossip shutdown order (CASSANDRA-15816)
* Remove broken 'defrag-on-read' optimization (CASSANDRA-15432)
* Check for endpoint collision with hibernating nodes (CASSANDRA-14599)
* Operational improvements and hardening for replica filtering protection (CASSANDRA-15907)
* Fix empty/null json string representation (CASSANDRA-15896)
* Handle difference in timestamp precision between java8 and java11 in LogFIle.java (CASSANDRA-16050)
Merged from 2.2:
* Fix CQL parsing of collections when the column type is reversed (CASSANDRA-15814)
Merged from 2.1:
* Only allow strings to be passed to JMX authentication (CASSANDRA-16077)
4.0-beta1
* Remove BackPressureStrategy (CASSANDRA-15375)
* Improve messaging on indexing frozen collections (CASSANDRA-15908)
* USING_G1 is incorrectly set in cassandra-env.sh if G1 is explicitly disabled with -UseG1GC (CASSANDRA-15931)
* Update compaction_throughput_mb_per_sec throttle default to 64 (CASSANDRA-14902)
* Add option to disable compaction at startup (CASSANDRA-15927)
* FBUtilities.getJustLocalAddress falls back to lo ip on misconfigured nodes (CASSANDRA-15901)
* Close channel and reduce buffer allocation during entire sstable streaming with SSL (CASSANDRA-15900)
* Prune expired messages less frequently in internode messaging (CASSANDRA-15700)
* Fix Ec2Snitch handling of legacy mode for dc names matching both formats, eg "us-west-2" (CASSANDRA-15878)
* Add support for server side DESCRIBE statements (CASSANDRA-14825)
* Fail startup if -Xmn is set when the G1 garbage collector is used (CASSANDRA-15839)
* generateSplits method replaced the generateRandomTokens for ReplicationAwareTokenAllocator. (CASSANDRA-15877)
* Several mbeans are not unregistered when dropping a keyspace and table (CASSANDRA-14888)
* Update defaults for server and client TLS settings (CASSANDRA-15262)
* Differentiate follower/initator in StreamMessageHeader (CASSANDRA-15665)
* Add a startup check to detect if LZ4 uses java rather than native implementation (CASSANDRA-15884)
* Fix missing topology events when running multiple nodes on the same network interface (CASSANDRA-15677)
* Create config.yml.MIDRES (CASSANDRA-15712)
* Fix handling of fully purged static rows in repaired data tracking (CASSANDRA-15848)
* Prevent validation request submission from blocking ANTI_ENTROPY stage (CASSANDRA-15812)
* Add fqltool and auditlogviewer to rpm and deb packages (CASSANDRA-14712)
* Include DROPPED_COLUMNS in schema digest computation (CASSANDRA-15843)
* Fix Cassandra restart from rpm install (CASSANDRA-15830)
* Improve handling of 2i initialization failures (CASSANDRA-13606)
* Add completion_ratio column to sstable_tasks virtual table (CASANDRA-15759)
* Add support for adding custom Verbs (CASSANDRA-15725)
* Speed up entire-file-streaming file containment check and allow entire-file-streaming for all compaction strategies (CASSANDRA-15657,CASSANDRA-15783)
* Provide ability to configure IAuditLogger (CASSANDRA-15748)
* Fix nodetool enablefullquerylog blocking param parsing (CASSANDRA-15819)
* Add isTransient to SSTableMetadataView (CASSANDRA-15806)
* Fix tools/bin/fqltool for all shells (CASSANDRA-15820)
* Fix clearing of legacy size_estimates (CASSANDRA-15776)
* Update port when reconnecting to pre-4.0 SSL storage (CASSANDRA-15727)
* Only calculate dynamicBadnessThreshold once per loop in DynamicEndpointSnitch (CASSANDRA-15798)
* Cleanup redundant nodetool commands added in 4.0 (CASSANDRA-15256)
* Update to Python driver 3.23 for cqlsh (CASSANDRA-15793)
* Add tunable initial size and growth factor to RangeTombstoneList (CASSANDRA-15763)
* Improve debug logging in SSTableReader for index summary (CASSANDRA-15755)
* bin/sstableverify should support user provided token ranges (CASSANDRA-15753)
* Improve logging when mutation passed to commit log is too large (CASSANDRA-14781)
* replace LZ4FastDecompressor with LZ4SafeDecompressor (CASSANDRA-15560)
* Fix buffer pool NPE with concurrent release due to in-progress tiny pool eviction (CASSANDRA-15726)
* Avoid race condition when completing stream sessions (CASSANDRA-15666)
* Flush with fast compressors by default (CASSANDRA-15379)
* Fix CqlInputFormat regression from the switch to system.size_estimates (CASSANDRA-15637)
* Allow sending Entire SSTables over SSL (CASSANDRA-15740)
* Fix CQLSH UTF-8 encoding issue for Python 2/3 compatibility (CASSANDRA-15739)
* Fix batch statement preparation when multiple tables and parameters are used (CASSANDRA-15730)
* Fix regression with traceOutgoingMessage printing message size (CASSANDRA-15687)
* Ensure repaired data tracking reads a consistent amount of data across replicas (CASSANDRA-15601)
* Fix CQLSH to avoid arguments being evaluated (CASSANDRA-15660)
* Correct Visibility and Improve Safety of Methods in LatencyMetrics (CASSANDRA-15597)
* Allow cqlsh to run with Python2.7/Python3.6+ (CASSANDRA-15659,CASSANDRA-15573)
* Improve logging around incremental repair (CASSANDRA-15599)
* Do not check cdc_raw_directory filesystem space if CDC disabled (CASSANDRA-15688)
* Replace array iterators with get by index (CASSANDRA-15394)
* Minimize BTree iterator allocations (CASSANDRA-15389)
Merged from 3.11:
* Fix cqlsh output when fetching all rows in batch mode (CASSANDRA-15905)
* Upgrade Jackson to 2.9.10 (CASSANDRA-15867)
* Fix CQL formatting of read command restrictions for slow query log (CASSANDRA-15503)
Merged from 3.0:
* Avoid hinted handoff per-host throttle being arounded to 0 in large cluster (CASSANDRA-15859)
* Avoid emitting empty range tombstones from RangeTombstoneList (CASSANDRA-15924)
* Avoid thread starvation, and improve compare-and-swap performance, in the slab allocators (CASSANDRA-15922)
* Add token to tombstone warning and error messages (CASSANDRA-15890)
* Fixed range read concurrency factor computation and capped as 10 times tpc cores (CASSANDRA-15752)
* Catch exception on bootstrap resume and init native transport (CASSANDRA-15863)
* Fix replica-side filtering returning stale data with CL > ONE (CASSANDRA-8272, CASSANDRA-8273)
* Rely on snapshotted session infos on StreamResultFuture.maybeComplete to avoid race conditions (CASSANDRA-15667)
* EmptyType doesn't override writeValue so could attempt to write bytes when expected not to (CASSANDRA-15790)
* Fix index queries on partition key columns when some partitions contains only static data (CASSANDRA-13666)
* Avoid creating duplicate rows during major upgrades (CASSANDRA-15789)
* liveDiskSpaceUsed and totalDiskSpaceUsed get corrupted if IndexSummaryRedistribution gets interrupted (CASSANDRA-15674)
* Fix Debian init start/stop (CASSANDRA-15770)
* Fix infinite loop on index query paging in tables with clustering (CASSANDRA-14242)
* Fix chunk index overflow due to large sstable with small chunk length (CASSANDRA-15595)
* Allow selecting static column only when querying static index (CASSANDRA-14242)
* cqlsh return non-zero status when STDIN CQL fails (CASSANDRA-15623)
* Don't skip sstables in slice queries based only on local min/max/deletion timestamp (CASSANDRA-15690)
Merged from 2.2:
* Fix nomenclature of allow and deny lists (CASSANDRA-15862)
* Remove generated files from source artifact (CASSANDRA-15849)
* Remove duplicated tools binaries from tarballs (CASSANDRA-15768)
* Duplicate results with DISTINCT queries in mixed mode (CASSANDRA-15501)
Merged from 2.1:
* Fix writing of snapshot manifest when the table has table-backed secondary indexes (CASSANDRA-10968)
4.0-alpha4
* Add client request size server metrics (CASSANDRA-15704)
* Add additional logging around FileUtils and compaction leftover cleanup (CASSANDRA-15705)
* Mark system_views/system_virtual_schema as non-alterable keyspaces in cqlsh (CASSANDRA-15711)
* Fail incremental repair if an old version sstable is involved (CASSANDRA-15612)
* Fix overflows on StreamingTombstoneHistogramBuilder produced by large deletion times (CASSANDRA-14773)
* Mark system_views/system_virtual_schema as system keyspaces in cqlsh (CASSANDRA-15706)
* Avoid unnecessary collection/iterator allocations during btree construction (CASSANDRA-15390)
* Repair history tables should have TTL and TWCS (CASSANDRA-12701)
* Fix cqlsh erroring out on Python 3.7 due to webbrowser module being absent (CASSANDRA-15572)
* Fix IMH#acquireCapacity() to return correct Outcome when endpoint reserve runs out (CASSANDRA-15607)
* Fix nodetool describering output (CASSANDRA-15682)
* Only track ideal CL failure when request CL met (CASSANDRA-15696)
* Fix flaky CoordinatorMessagingTest and docstring in OutboundSink and ConsistentSession (CASSANDRA-15672)
* Fix force compaction of wrapping ranges (CASSANDRA-15664)
* Expose repair streaming metrics (CASSANDRA-15656)
* Set now in seconds in the future for validation repairs (CASSANDRA-15655)
* Emit metric on preview repair failure (CASSANDRA-15654)
* Use more appropriate logging levels (CASSANDRA-15661)
* Fixed empty check in TrieMemIndex due to potential state inconsistency in ConcurrentSkipListMap (CASSANDRA-15526)
* Added UnleveledSSTables global and table level metric (CASSANDRA-15620)
* Added Virtual Table exposing Cassandra relevant system properties (CASSANDRA-15616, CASSANDRA-15643)
* Improve the algorithmic token allocation in case racks = RF (CASSANDRA-15600)
* Fix ConnectionTest.testAcquireReleaseOutbound (CASSANDRA-15308)
* Include finalized pending sstables in preview repair (CASSANDRA-15553)
* Reverted to the original behavior of CLUSTERING ORDER on CREATE TABLE (CASSANDRA-15271)
* Correct inaccurate logging message (CASSANDRA-15549)
* Unset GREP_OPTIONS (CASSANDRA-14487)
* Update to Python driver 3.21 for cqlsh (CASSANDRA-14872)
* Fix missing Keyspaces in cqlsh describe output (CASSANDRA-15576)
* Fix multi DC nodetool status output (CASSANDRA-15305)
* updateCoordinatorWriteLatencyTableMetric can produce misleading metrics (CASSANDRA-15569)
* Make cqlsh and cqlshlib Python 2 & 3 compatible (CASSANDRA-10190)
* Improve the description of nodetool listsnapshots command (CASSANDRA-14587)
* allow embedded cassandra launched from a one-jar or uno-jar (CASSANDRA-15494)
* Update hppc library to version 0.8.1 (CASSANDRA-12995)
* Limit the dependencies used by UDFs/UDAs (CASSANDRA-14737)
* Make native_transport_max_concurrent_requests_in_bytes updatable (CASSANDRA-15519)
* Cleanup and improvements to IndexInfo/ColumnIndex (CASSANDRA-15469)
* Potential Overflow in DatabaseDescriptor Functions That Convert Between KB/MB & Bytes (CASSANDRA-15470)
Merged from 3.11:
* Allow sstableloader to use SSL on the native port (CASSANDRA-14904)
Merged from 3.0:
* cqlsh return non-zero status when STDIN CQL fails (CASSANDRA-15623)
* Don't skip sstables in slice queries based only on local min/max/deletion timestamp (CASSANDRA-15690)
* Memtable memory allocations may deadlock (CASSANDRA-15367)
* Run evictFromMembership in GossipStage (CASSANDRA-15592)
Merged from 2.2:
* Duplicate results with DISTINCT queries in mixed mode (CASSANDRA-15501)
* Disable JMX rebinding (CASSANDRA-15653)
Merged from 2.1:
* Fix parse error in cqlsh COPY FROM and formatting for map of blobs (CASSANDRA-15679)
* Fix Commit log replays when static column clustering keys are collections (CASSANDRA-14365)
* Fix Red Hat init script on newer systemd versions (CASSANDRA-15273)
* Allow EXTRA_CLASSPATH to work on tar/source installations (CASSANDRA-15567)
4.0-alpha3
* Restore monotonic read consistency guarantees for blocking read repair (CASSANDRA-14740)
* Separate exceptions for CAS write timeout exceptions caused by contention and unkown result (CASSANDRA-15350)
* Fix in-jvm dtest java 11 compatibility (CASSANDRA-15463)
* Remove joda time dependency (CASSANDRA-15257)
* Exclude purgeable tombstones from repaired data tracking (CASSANDRA-15462)
* Exclude legacy counter shards from repaired data tracking (CASSANDRA-15461)
* Make it easier to add trace headers to messages (CASSANDRA-15499)
* Fix and optimise partial compressed sstable streaming (CASSANDRA-13938)
* Improve error when JVM 11 can't access required modules (CASSANDRA-15468)
* Better handling of file deletion failures by DiskFailurePolicy (CASSANDRA-15143)
* Prevent read repair mutations from increasing read timeout (CASSANDRA-15442)
* Document 4.0 system keyspace changes, bump generations (CASSANDRA-15454)
* Make it possible to disable STCS-in-L0 during runtime (CASSANDRA-15445)
* Removed obsolete OldNetworkTopologyStrategy (CASSANDRA-13990)
* Align record header of FQL and audit binary log (CASSANDRA-15076)
* Shuffle forwarding replica for messages to non-local DC (CASSANDRA-15318)
* Optimise native protocol ASCII string encoding (CASSANDRA-15410)
* Make sure all exceptions are propagated in DebuggableThreadPoolExecutor (CASSANDRA-15332)
* Make it possible to resize concurrent read / write thread pools at runtime (CASSANDRA-15277)
* Close channels on error (CASSANDRA-15407)
* Integrate SJK into nodetool (CASSANDRA-12197)
* Ensure that empty clusterings with kind==CLUSTERING are Clustering.EMPTY (CASSANDRA-15498)
* The flag 'cross_node_timeout' has been set as true by default. This change
is done under the assumption that users have setup NTP on their clusters or
otherwise synchronize their clocks, and that clocks are mostly in sync, since
this is a requirement for general correctness of last write wins. (CASSANDRA-15216)
Merged from 3.11:
* Fix bad UDT sstable metadata serialization headers written by C* 3.0 on upgrade and in sstablescrub (CASSANDRA-15035)
* Fix nodetool compactionstats showing extra pending task for TWCS - patch implemented (CASSANDRA-15409)
* Fix SELECT JSON formatting for the "duration" type (CASSANDRA-15075)
* Update nodetool help stop output (CASSANDRA-15401)
Merged from 3.0:
* Fix race condition when setting bootstrap flags (CASSANDRA-14878)
* Run in-jvm upgrade dtests in circleci (CASSANDRA-15506)
* Include updates to static column in mutation size calculations (CASSANDRA-15293)
* Fix point-in-time recoevery ignoring timestamp of updates to static columns (CASSANDRA-15292)
* GC logs are also put under $CASSANDRA_LOG_DIR (CASSANDRA-14306)
* Fix sstabledump's position key value when partitions have multiple rows (CASSANDRA-14721)
* Avoid over-scanning data directories in LogFile.verify() (CASSANDRA-15364)
* Bump generations and document changes to system_distributed and system_traces in 3.0, 3.11
(CASSANDRA-15441)
* Fix system_traces creation timestamp; optimise system keyspace upgrades (CASSANDRA-15398)
* Make sure index summary redistribution does not start when compactions are paused (CASSANDRA-15265)
* Fix NativeLibrary.tryOpenDirectory callers for Windows (CASSANDRA-15426)
Merged from 2.2:
* Fix SELECT JSON output for empty blobs (CASSANDRA-15435)
* In-JVM DTest: Set correct internode message version for upgrade test (CASSANDRA-15371)
* In-JVM DTest: Support NodeTool in dtest (CASSANDRA-15429)
* Added data modeling documentation (CASSANDRA-15443)
4.0-alpha2
* Fix SASI non-literal string comparisons (range operators) (CASSANDRA-15169)
* Upgrade Guava to 27, and to java-driver 3.6.0 (from 3.4.0-SNAPSHOT) (CASSANDRA-14655)
* Extract an AbstractCompactionController to allow for custom implementations (CASSANDRA-15286)
* Move chronicle-core version from snapshot to stable, and include carrotsearch in generated pom.xml (CASSANDRA-15321)
* Untangle RepairMessage sub-hierarchy of messages, use new messaging (more) correctly (CASSANDRA-15163)
* Add `allocate_tokens_for_local_replication_factor` option for token allocation (CASSANDRA-15260)
* Add Alibaba Cloud Platform snitch (CASSANDRA-15092)
Merged from 3.0:
* Fix various data directory prefix matching issues (CASSANDRA-13974)
* Minimize clustering values in metadata collector (CASSANDRA-15400)
* Make sure index summary redistribution does not start when compactions are paused (CASSANDRA-15265)
* Add ability to cap max negotiable protocol version (CASSANDRA-15193)
* Gossip tokens on startup if available (CASSANDRA-15335)
* Fix resource leak in CompressedSequentialWriter (CASSANDRA-15340)
* Fix bad merge that reverted CASSANDRA-14993 (CASSANDRA-15289)
* Add support for network topology and query tracing for inJVM dtest (CASSANDRA-15319)
4.0-alpha1
* Inaccurate exception message with nodetool snapshot (CASSANDRA-15287)
* Fix InternodeOutboundMetrics overloaded bytes/count mixup (CASSANDRA-15186)
* Enhance & reenable RepairTest with compression=off and compression=on (CASSANDRA-15272)
* Improve readability of Table metrics Virtual tables units (CASSANDRA-15194)
* Fix error with non-existent table for nodetool tablehistograms (CASSANDRA-14410)
* Avoid result truncation in decimal operations (CASSANDRA-15232)
* Catch non-IOException in FileUtils.close to make sure that all resources are closed (CASSANDRA-15225)
* Align load column in nodetool status output (CASSANDRA-14787)
* CassandraNetworkAuthorizer uses cached roles info (CASSANDRA-15089)
* Introduce optional timeouts for idle client sessions (CASSANDRA-11097)
* Fix AlterTableStatement dropped type validation order (CASSANDRA-15203)
* Update Netty dependencies to latest, clean up SocketFactory (CASSANDRA-15195)
* Native Transport - Apply noSpamLogger to ConnectionLimitHandler (CASSANDRA-15167)
* Reduce heap pressure during compactions (CASSANDRA-14654)
* Support building Cassandra with JDK 11 (CASSANDRA-15108)
* Use quilt to patch cassandra.in.sh in Debian packaging (CASSANDRA-14710)
* Take sstable references before calculating approximate key count (CASSANDRA-14647)
* Restore snapshotting of system keyspaces on version change (CASSANDRA-14412)
* Fix AbstractBTreePartition locking in java 11 (CASSANDRA-14607)
* SimpleClient should pass connection properties as options (CASSANDRA-15056)
* Set repaired data tracking flag on range reads if enabled (CASSANDRA-15019)
* Calculate pending ranges for BOOTSTRAP_REPLACE correctly (CASSANDRA-14802)
* Make TableCQLHelper reuse the single quote pattern (CASSANDRA-15033)
* Add Zstd compressor (CASSANDRA-14482)
* Fix IR prepare anti-compaction race (CASSANDRA-15027)
* Fix SimpleStrategy option validation (CASSANDRA-15007)
* Don't try to cancel 2i compactions when starting anticompaction (CASSANDRA-15024)
* Avoid NPE in RepairRunnable.recordFailure (CASSANDRA-15025)
* SSL Cert Hot Reloading should check for sanity of the new keystore/truststore before loading it (CASSANDRA-14991)
* Avoid leaking threads when failing anticompactions and rate limit anticompactions (CASSANDRA-15002)
* Validate token() arguments early instead of throwing NPE at execution (CASSANDRA-14989)
* Add a new tool to dump audit logs (CASSANDRA-14885)
* Fix generating javadoc with Java11 (CASSANDRA-14988)
* Only cancel conflicting compactions when starting anticompactions and sub range compactions (CASSANDRA-14935)
* Use a stub IndexRegistry for non-daemon use cases (CASSANDRA-14938)
* Don't enable client transports when bootstrap is pending (CASSANDRA-14525)
* Make antiCompactGroup throw exception on error and anticompaction non cancellable
again (CASSANDRA-14936)
* Catch empty/invalid bounds in SelectStatement (CASSANDRA-14849)
* Auto-expand replication_factor for NetworkTopologyStrategy (CASSANDRA-14303)
* Transient Replication: support EACH_QUORUM (CASSANDRA-14727)
* BufferPool: allocating thread for new chunks should acquire directly (CASSANDRA-14832)
* Send correct messaging version in internode messaging handshake's third message (CASSANDRA-14896)
* Make Read and Write Latency columns consistent for proxyhistograms and tablehistograms (CASSANDRA-11939)
* Make protocol checksum type option case insensitive (CASSANDRA-14716)
* Forbid re-adding static columns as regular and vice versa (CASSANDRA-14913)
* Audit log allows system keyspaces to be audited via configuration options (CASSANDRA-14498)
* Lower default chunk_length_in_kb from 64kb to 16kb (CASSANDRA-13241)
* Startup checker should wait for count rather than percentage (CASSANDRA-14297)
* Fix incorrect sorting of replicas in SimpleStrategy.calculateNaturalReplicas (CASSANDRA-14862)
* Partitioned outbound internode TCP connections can occur when nodes restart (CASSANDRA-14358)
* Don't write to system_distributed.repair_history, system_traces.sessions, system_traces.events in mixed version 3.X/4.0 clusters (CASSANDRA-14841)
* Avoid running query to self through messaging service (CASSANDRA-14807)
* Allow using custom script for chronicle queue BinLog archival (CASSANDRA-14373)
* Transient->Full range movements mishandle consistency level upgrade (CASSANDRA-14759)
* ReplicaCollection follow-up (CASSANDRA-14726)
* Transient node receives full data requests (CASSANDRA-14762)
* Enable snapshot artifacts publish (CASSANDRA-12704)
* Introduce RangesAtEndpoint.unwrap to simplify StreamSession.addTransferRanges (CASSANDRA-14770)
* LOCAL_QUORUM may speculate to non-local nodes, resulting in Timeout instead of Unavailable (CASSANDRA-14735)
* Avoid creating empty compaction tasks after truncate (CASSANDRA-14780)
* Fail incremental repair prepare phase if it encounters sstables from un-finalized sessions (CASSANDRA-14763)
* Add a check for receiving digest response from transient node (CASSANDRA-14750)
* Fail query on transient replica if coordinator only expects full data (CASSANDRA-14704)
* Remove mentions of transient replication from repair path (CASSANDRA-14698)
* Fix handleRepairStatusChangedNotification to remove first then add (CASSANDRA-14720)
* Allow transient node to serve as a repair coordinator (CASSANDRA-14693)
* DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot returns wrong value for size() and incorrectly calculates count (CASSANDRA-14696)
* AbstractReplicaCollection equals and hash code should throw due to conflict between order sensitive/insensitive uses (CASSANDRA-14700)
* Detect inconsistencies in repaired data on the read path (CASSANDRA-14145)
* Add checksumming to the native protocol (CASSANDRA-13304)
* Make AuthCache more easily extendable (CASSANDRA-14662)
* Extend RolesCache to include detailed role info (CASSANDRA-14497)
* Add fqltool compare (CASSANDRA-14619)
* Add fqltool replay (CASSANDRA-14618)
* Log keyspace in full query log (CASSANDRA-14656)
* Transient Replication and Cheap Quorums (CASSANDRA-14404)
* Log server-generated timestamp and nowInSeconds used by queries in FQL (CASSANDRA-14675)
* Add diagnostic events for read repairs (CASSANDRA-14668)
* Use consistent nowInSeconds and timestamps values within a request (CASSANDRA-14671)
* Add sampler for query time and expose with nodetool (CASSANDRA-14436)
* Clean up Message.Request implementations (CASSANDRA-14677)
* Disable old native protocol versions on demand (CASANDRA-14659)
* Allow specifying now-in-seconds in native protocol (CASSANDRA-14664)
* Improve BTree build performance by avoiding data copy (CASSANDRA-9989)
* Make monotonic read / read repair configurable (CASSANDRA-14635)
* Refactor CompactionStrategyManager (CASSANDRA-14621)
* Flush netty client messages immediately by default (CASSANDRA-13651)
* Improve read repair blocking behavior (CASSANDRA-10726)
* Add a virtual table to expose settings (CASSANDRA-14573)
* Fix up chunk cache handling of metrics (CASSANDRA-14628)
* Extend IAuthenticator to accept peer SSL certificates (CASSANDRA-14652)
* Incomplete handling of exceptions when decoding incoming messages (CASSANDRA-14574)
* Add diagnostic events for user audit logging (CASSANDRA-13668)
* Allow retrieving diagnostic events via JMX (CASSANDRA-14435)
* Add base classes for diagnostic events (CASSANDRA-13457)
* Clear view system metadata when dropping keyspace (CASSANDRA-14646)
* Allocate ReentrantLock on-demand in java11 AtomicBTreePartitionerBase (CASSANDRA-14637)
* Make all existing virtual tables use LocalPartitioner (CASSANDRA-14640)
* Revert 4.0 GC alg back to CMS (CASANDRA-14636)
* Remove hardcoded java11 jvm args in idea workspace files (CASSANDRA-14627)
* Update netty to 4.1.128 (CASSANDRA-14633)
* Add a virtual table to expose thread pools (CASSANDRA-14523)
* Add a virtual table to expose caches (CASSANDRA-14538, CASSANDRA-14626)
* Fix toDate function for timestamp arguments (CASSANDRA-14502)
* Stream entire SSTables when possible (CASSANDRA-14556)
* Cell reconciliation should not depend on nowInSec (CASSANDRA-14592)
* Add experimental support for Java 11 (CASSANDRA-9608)
* Make PeriodicCommitLogService.blockWhenSyncLagsNanos configurable (CASSANDRA-14580)
* Improve logging in MessageInHandler's constructor (CASSANDRA-14576)
* Set broadcast address in internode messaging handshake (CASSANDRA-14579)
* Wait for schema agreement prior to building MVs (CASSANDRA-14571)
* Make all DDL statements idempotent and not dependent on global state (CASSANDRA-13426)
* Bump the hints messaging version to match the current one (CASSANDRA-14536)
* OffsetAwareConfigurationLoader doesn't set ssl storage port causing bind errors in CircleCI (CASSANDRA-14546)
* Report why native_transport_port fails to bind (CASSANDRA-14544)
* Optimize internode messaging protocol (CASSANDRA-14485)
* Internode messaging handshake sends wrong messaging version number (CASSANDRA-14540)
* Add a virtual table to expose active client connections (CASSANDRA-14458)
* Clean up and refactor client metrics (CASSANDRA-14524)
* Nodetool import row cache invalidation races with adding sstables to tracker (CASSANDRA-14529)
* Fix assertions in LWTs after TableMetadata was made immutable (CASSANDRA-14356)
* Abort compactions quicker (CASSANDRA-14397)
* Support light-weight transactions in cassandra-stress (CASSANDRA-13529)
* Make AsyncOneResponse use the correct timeout (CASSANDRA-14509)
* Add option to sanity check tombstones on reads/compactions (CASSANDRA-14467)
* Add a virtual table to expose all running sstable tasks (CASSANDRA-14457)
* Let nodetool import take a list of directories (CASSANDRA-14442)
* Avoid unneeded memory allocations / cpu for disabled log levels (CASSANDRA-14488)
* Implement virtual keyspace interface (CASSANDRA-7622)
* nodetool import cleanup and improvements (CASSANDRA-14417)
* Bump jackson version to >= 2.9.5 (CASSANDRA-14427)
* Allow nodetool toppartitions without specifying table (CASSANDRA-14360)
* Audit logging for database activity (CASSANDRA-12151)
* Clean up build artifacts in docs container (CASSANDRA-14432)
* Minor network authz improvements (Cassandra-14413)
* Automatic sstable upgrades (CASSANDRA-14197)
* Replace deprecated junit.framework.Assert usages with org.junit.Assert (CASSANDRA-14431)
* Cassandra-stress throws NPE if insert section isn't specified in user profile (CASSSANDRA-14426)
* List clients by protocol versions `nodetool clientstats --by-protocol` (CASSANDRA-14335)
* Improve LatencyMetrics performance by reducing write path processing (CASSANDRA-14281)
* Add network authz (CASSANDRA-13985)
* Use the correct IP/Port for Streaming when localAddress is left unbound (CASSANDRA-14389)
* nodetool listsnapshots is missing local system keyspace snapshots (CASSANDRA-14381)
* Remove StreamCoordinator.streamExecutor thread pool (CASSANDRA-14402)
* Rename nodetool --with-port to --print-port to disambiguate from --port (CASSANDRA-14392)
* Client TOPOLOGY_CHANGE messages have wrong port. (CASSANDRA-14398)
* Add ability to load new SSTables from a separate directory (CASSANDRA-6719)
* Eliminate background repair and probablistic read_repair_chance table options
(CASSANDRA-13910)
* Bind to correct local address in 4.0 streaming (CASSANDRA-14362)
* Use standard Amazon naming for datacenter and rack in Ec2Snitch (CASSANDRA-7839)
* Abstract write path for pluggable storage (CASSANDRA-14118)
* nodetool describecluster should be more informative (CASSANDRA-13853)
* Compaction performance improvements (CASSANDRA-14261)
* Refactor Pair usage to avoid boxing ints/longs (CASSANDRA-14260)
* Add options to nodetool tablestats to sort and limit output (CASSANDRA-13889)
* Rename internals to reflect CQL vocabulary (CASSANDRA-14354)
* Add support for hybrid MIN(), MAX() speculative retry policies
(CASSANDRA-14293, CASSANDRA-14338, CASSANDRA-14352)
* Fix some regressions caused by 14058 (CASSANDRA-14353)
* Abstract repair for pluggable storage (CASSANDRA-14116)
* Add meaningful toString() impls (CASSANDRA-13653)
* Add sstableloader option to accept target keyspace name (CASSANDRA-13884)
* Move processing of EchoMessage response to gossip stage (CASSANDRA-13713)
* Add coordinator write metric per CF (CASSANDRA-14232)
* Correct and clarify SSLFactory.getSslContext method and call sites (CASSANDRA-14314)
* Handle static and partition deletion properly on ThrottledUnfilteredIterator (CASSANDRA-14315)
* NodeTool clientstats should show SSL Cipher (CASSANDRA-14322)
* Add ability to specify driver name and version (CASSANDRA-14275)
* Abstract streaming for pluggable storage (CASSANDRA-14115)
* Forced incremental repairs should promote sstables if they can (CASSANDRA-14294)
* Use Murmur3 for validation compactions (CASSANDRA-14002)
* Comma at the end of the seed list is interpretated as localhost (CASSANDRA-14285)
* Refactor read executor and response resolver, abstract read repair (CASSANDRA-14058)
* Add optional startup delay to wait until peers are ready (CASSANDRA-13993)
* Add a few options to nodetool verify (CASSANDRA-14201)
* CVE-2017-5929 Security vulnerability and redefine default log rotation policy (CASSANDRA-14183)
* Use JVM default SSL validation algorithm instead of custom default (CASSANDRA-13259)
* Better document in code InetAddressAndPort usage post 7544, incorporate port into UUIDGen node (CASSANDRA-14226)
* Fix sstablemetadata date string for minLocalDeletionTime (CASSANDRA-14132)
* Make it possible to change neverPurgeTombstones during runtime (CASSANDRA-14214)
* Remove GossipDigestSynVerbHandler#doSort() (CASSANDRA-14174)
* Add nodetool clientlist (CASSANDRA-13665)
* Revert ProtocolVersion changes from CASSANDRA-7544 (CASSANDRA-14211)
* Non-disruptive seed node list reload (CASSANDRA-14190)
* Nodetool tablehistograms to print statics for all the tables (CASSANDRA-14185)
* Migrate dtests to use pytest and python3 (CASSANDRA-14134)
* Allow storage port to be configurable per node (CASSANDRA-7544)
* Make sub-range selection for non-frozen collections return null instead of empty (CASSANDRA-14182)
* BloomFilter serialization format should not change byte ordering (CASSANDRA-9067)
* Remove unused on-heap BloomFilter implementation (CASSANDRA-14152)
* Delete temp test files on exit (CASSANDRA-14153)
* Make PartitionUpdate and Mutation immutable (CASSANDRA-13867)
* Fix CommitLogReplayer exception for CDC data (CASSANDRA-14066)
* Fix cassandra-stress startup failure (CASSANDRA-14106)
* Remove initialDirectories from CFS (CASSANDRA-13928)
* Fix trivial log format error (CASSANDRA-14015)
* Allow sstabledump to do a json object per partition (CASSANDRA-13848)
* Add option to optimise merkle tree comparison across replicas (CASSANDRA-3200)
* Remove unused and deprecated methods from AbstractCompactionStrategy (CASSANDRA-14081)
* Fix Distribution.average in cassandra-stress (CASSANDRA-14090)
* Support a means of logging all queries as they were invoked (CASSANDRA-13983)
* Presize collections (CASSANDRA-13760)
* Add GroupCommitLogService (CASSANDRA-13530)
* Parallelize initial materialized view build (CASSANDRA-12245)
* Make LWTs send resultset metadata on every request (CASSANDRA-13992)
* Fix flaky indexWithFailedInitializationIsNotQueryableAfterPartialRebuild (CASSANDRA-13963)
* Introduce leaf-only iterator (CASSANDRA-9988)
* Upgrade Guava to 23.3 and Airline to 0.8 (CASSANDRA-13997)
* Allow only one concurrent call to StatusLogger (CASSANDRA-12182)
* Refactoring to specialised functional interfaces (CASSANDRA-13982)
* Speculative retry should allow more friendly params (CASSANDRA-13876)
* Throw exception if we send/receive repair messages to incompatible nodes (CASSANDRA-13944)
* Replace usages of MessageDigest with Guava's Hasher (CASSANDRA-13291)
* Add nodetool cmd to print hinted handoff window (CASSANDRA-13728)
* Fix some alerts raised by static analysis (CASSANDRA-13799)
* Checksum sstable metadata (CASSANDRA-13321, CASSANDRA-13593)
* Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786)
* Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941)
* Expose recent histograms in JmxHistograms (CASSANDRA-13642)
* Fix buffer length comparison when decompressing in netty-based streaming (CASSANDRA-13899)
* Properly close StreamCompressionInputStream to release any ByteBuf (CASSANDRA-13906)
* Add SERIAL and LOCAL_SERIAL support for cassandra-stress (CASSANDRA-13925)
* LCS needlessly checks for L0 STCS candidates multiple times (CASSANDRA-12961)
* Correctly close netty channels when a stream session ends (CASSANDRA-13905)
* Update lz4 to 1.4.0 (CASSANDRA-13741)
* Optimize Paxos prepare and propose stage for local requests (CASSANDRA-13862)
* Throttle base partitions during MV repair streaming to prevent OOM (CASSANDRA-13299)
* Use compaction threshold for STCS in L0 (CASSANDRA-13861)
* Fix problem with min_compress_ratio: 1 and disallow ratio < 1 (CASSANDRA-13703)
* Add extra information to SASI timeout exception (CASSANDRA-13677)
* Add incremental repair support for --hosts, --force, and subrange repair (CASSANDRA-13818)
* Rework CompactionStrategyManager.getScanners synchronization (CASSANDRA-13786)
* Add additional unit tests for batch behavior, TTLs, Timestamps (CASSANDRA-13846)
* Add keyspace and table name in schema validation exception (CASSANDRA-13845)
* Emit metrics whenever we hit tombstone failures and warn thresholds (CASSANDRA-13771)
* Make netty EventLoopGroups daemon threads (CASSANDRA-13837)
* Race condition when closing stream sessions (CASSANDRA-13852)
* NettyFactoryTest is failing in trunk on macOS (CASSANDRA-13831)
* Allow changing log levels via nodetool for related classes (CASSANDRA-12696)
* Add stress profile yaml with LWT (CASSANDRA-7960)
* Reduce memory copies and object creations when acting on ByteBufs (CASSANDRA-13789)
* Simplify mx4j configuration (Cassandra-13578)
* Fix trigger example on 4.0 (CASSANDRA-13796)
* Force minumum timeout value (CASSANDRA-9375)
* Use netty for streaming (CASSANDRA-12229)
* Use netty for internode messaging (CASSANDRA-8457)
* Add bytes repaired/unrepaired to nodetool tablestats (CASSANDRA-13774)
* Don't delete incremental repair sessions if they still have sstables (CASSANDRA-13758)
* Fix pending repair manager index out of bounds check (CASSANDRA-13769)
* Don't use RangeFetchMapCalculator when RF=1 (CASSANDRA-13576)
* Don't optimise trivial ranges in RangeFetchMapCalculator (CASSANDRA-13664)
* Use an ExecutorService for repair commands instead of new Thread(..).start() (CASSANDRA-13594)
* Fix race / ref leak in anticompaction (CASSANDRA-13688)
* Expose tasks queue length via JMX (CASSANDRA-12758)
* Fix race / ref leak in PendingRepairManager (CASSANDRA-13751)
* Enable ppc64le runtime as unsupported architecture (CASSANDRA-13615)
* Improve sstablemetadata output (CASSANDRA-11483)
* Support for migrating legacy users to roles has been dropped (CASSANDRA-13371)
* Introduce error metrics for repair (CASSANDRA-13387)
* Refactoring to primitive functional interfaces in AuthCache (CASSANDRA-13732)
* Update metrics to 3.1.5 (CASSANDRA-13648)
* batch_size_warn_threshold_in_kb can now be set at runtime (CASSANDRA-13699)
* Avoid always rebuilding secondary indexes at startup (CASSANDRA-13725)
* Upgrade JMH from 1.13 to 1.19 (CASSANDRA-13727)
* Upgrade SLF4J from 1.7.7 to 1.7.25 (CASSANDRA-12996)
* Default for start_native_transport now true if not set in config (CASSANDRA-13656)
* Don't add localhost to the graph when calculating where to stream from (CASSANDRA-13583)
* Make CDC availability more deterministic via hard-linking (CASSANDRA-12148)
* Allow skipping equality-restricted clustering columns in ORDER BY clause (CASSANDRA-10271)