forked from apache/cassandra
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
7002 lines (6716 loc) · 414 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.0-beta5
* 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:
* 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:
* 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
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)
* Use common nowInSec for validation compactions (CASSANDRA-13671)
* Improve handling of IR prepare failures (CASSANDRA-13672)
* Send IR coordinator messages synchronously (CASSANDRA-13673)
* Flush system.repair table before IR finalize promise (CASSANDRA-13660)
* Fix column filter creation for wildcard queries (CASSANDRA-13650)
* Add 'nodetool getbatchlogreplaythrottle' and 'nodetool setbatchlogreplaythrottle' (CASSANDRA-13614)
* fix race condition in PendingRepairManager (CASSANDRA-13659)
* Allow noop incremental repair state transitions (CASSANDRA-13658)
* Run repair with down replicas (CASSANDRA-10446)
* Added started & completed repair metrics (CASSANDRA-13598)
* Added started & completed repair metrics (CASSANDRA-13598)
* Improve secondary index (re)build failure and concurrency handling (CASSANDRA-10130)
* Improve calculation of available disk space for compaction (CASSANDRA-13068)
* Change the accessibility of RowCacheSerializer for third party row cache plugins (CASSANDRA-13579)
* Allow sub-range repairs for a preview of repaired data (CASSANDRA-13570)
* NPE in IR cleanup when columnfamily has no sstables (CASSANDRA-13585)
* Fix Randomness of stress values (CASSANDRA-12744)
* Allow selecting Map values and Set elements (CASSANDRA-7396)
* Fast and garbage-free Streaming Histogram (CASSANDRA-13444)
* Update repairTime for keyspaces on completion (CASSANDRA-13539)
* Add configurable upper bound for validation executor threads (CASSANDRA-13521)
* Bring back maxHintTTL propery (CASSANDRA-12982)
* Add testing guidelines (CASSANDRA-13497)
* Add more repair metrics (CASSANDRA-13531)
* RangeStreamer should be smarter when picking endpoints for streaming (CASSANDRA-4650)
* Avoid rewrapping an exception thrown for cache load functions (CASSANDRA-13367)
* Log time elapsed for each incremental repair phase (CASSANDRA-13498)
* Add multiple table operation support to cassandra-stress (CASSANDRA-8780)
* Fix incorrect cqlsh results when selecting same columns multiple times (CASSANDRA-13262)
* Fix WriteResponseHandlerTest is sensitive to test execution order (CASSANDRA-13421)
* Improve incremental repair logging (CASSANDRA-13468)
* Start compaction when incremental repair finishes (CASSANDRA-13454)
* Add repair streaming preview (CASSANDRA-13257)
* Cleanup isIncremental/repairedAt usage (CASSANDRA-13430)
* Change protocol to allow sending key space independent of query string (CASSANDRA-10145)
* Make gc_log and gc_warn settable at runtime (CASSANDRA-12661)
* Take number of files in L0 in account when estimating remaining compaction tasks (CASSANDRA-13354)
* Skip building views during base table streams on range movements (CASSANDRA-13065)
* Improve error messages for +/- operations on maps and tuples (CASSANDRA-13197)
* Remove deprecated repair JMX APIs (CASSANDRA-11530)
* Fix version check to enable streaming keep-alive (CASSANDRA-12929)
* Make it possible to monitor an ideal consistency level separate from actual consistency level (CASSANDRA-13289)
* Outbound TCP connections ignore internode authenticator (CASSANDRA-13324)
* Cleanup ParentRepairSession after repairs (CASSANDRA-13359)
* Upgrade snappy-java to 1.1.2.6 (CASSANDRA-13336)
* Incremental repair not streaming correct sstables (CASSANDRA-13328)
* Upgrade the jna version to 4.3.0 (CASSANDRA-13300)
* Add the currentTimestamp, currentDate, currentTime and currentTimeUUID functions (CASSANDRA-13132)
* Remove config option index_interval (CASSANDRA-10671)
* Reduce lock contention for collection types and serializers (CASSANDRA-13271)
* Make it possible to override MessagingService.Verb ids (CASSANDRA-13283)
* Avoid synchronized on prepareForRepair in ActiveRepairService (CASSANDRA-9292)
* Adds the ability to use uncompressed chunks in compressed files (CASSANDRA-10520)
* Don't flush sstables when streaming for incremental repair (CASSANDRA-13226)
* Remove unused method (CASSANDRA-13227)
* Fix minor bugs related to #9143 (CASSANDRA-13217)
* Output warning if user increases RF (CASSANDRA-13079)
* Remove pre-3.0 streaming compatibility code for 4.0 (CASSANDRA-13081)
* Add support for + and - operations on dates (CASSANDRA-11936)
* Fix consistency of incrementally repaired data (CASSANDRA-9143)
* Increase commitlog version (CASSANDRA-13161)
* Make TableMetadata immutable, optimize Schema (CASSANDRA-9425)
* Refactor ColumnCondition (CASSANDRA-12981)
* Parallelize streaming of different keyspaces (CASSANDRA-4663)
* Improved compactions metrics (CASSANDRA-13015)
* Speed-up start-up sequence by avoiding un-needed flushes (CASSANDRA-13031)
* Use Caffeine (W-TinyLFU) for on-heap caches (CASSANDRA-10855)
* Thrift removal (CASSANDRA-11115)
* Remove pre-3.0 compatibility code for 4.0 (CASSANDRA-12716)
* Add column definition kind to dropped columns in schema (CASSANDRA-12705)
* Add (automate) Nodetool Documentation (CASSANDRA-12672)
* Update bundled cqlsh python driver to 3.7.0 (CASSANDRA-12736)
* Reject invalid replication settings when creating or altering a keyspace (CASSANDRA-12681)
* Clean up the SSTableReader#getScanner API wrt removal of RateLimiter (CASSANDRA-12422)
* Use new token allocation for non bootstrap case as well (CASSANDRA-13080)
* Avoid byte-array copy when key cache is disabled (CASSANDRA-13084)
* Require forceful decommission if number of nodes is less than replication factor (CASSANDRA-12510)
* Allow IN restrictions on column families with collections (CASSANDRA-12654)
* Log message size in trace message in OutboundTcpConnection (CASSANDRA-13028)
* Add timeUnit Days for cassandra-stress (CASSANDRA-13029)
* Add mutation size and batch metrics (CASSANDRA-12649)
* Add method to get size of endpoints to TokenMetadata (CASSANDRA-12999)
* Expose time spent waiting in thread pool queue (CASSANDRA-8398)
* Conditionally update index built status to avoid unnecessary flushes (CASSANDRA-12969)
* cqlsh auto completion: refactor definition of compaction strategy options (CASSANDRA-12946)
* Add support for arithmetic operators (CASSANDRA-11935)
* Add histogram for delay to deliver hints (CASSANDRA-13234)
* Fix cqlsh automatic protocol downgrade regression (CASSANDRA-13307)
* Changing `max_hint_window_in_ms` at runtime (CASSANDRA-11720)
* Trivial format error in StorageProxy (CASSANDRA-13551)
* Nodetool repair can hang forever if we lose the notification for the repair completing/failing (CASSANDRA-13480)
* Anticompaction can cause noisy log messages (CASSANDRA-13684)
* Switch to client init for sstabledump (CASSANDRA-13683)
* CQLSH: Don't pause when capturing data (CASSANDRA-13743)
* nodetool clearsnapshot requires --all to clear all snapshots (CASSANDRA-13391)
* Correctly count range tombstones in traces and tombstone thresholds (CASSANDRA-8527)
* cqlshrc.sample uses incorrect option for time formatting (CASSANDRA-14243)
* Multi-version in-JVM dtests (CASSANDRA-14937)
* Allow instance class loaders to be garbage collected for inJVM dtest (CASSANDRA-15170)
3.11.6
* 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)
* Fix LegacyLayout to have same behavior as 2.x when handling unknown column names (CASSANDRA-15081)
* Update nodetool help stop output (CASSANDRA-15401)
Merged from 3.0:
* 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)
* Fix various data directory prefix matching issues (CASSANDRA-13974)
* Minimize clustering values in metadata collector (CASSANDRA-15400)
* Avoid over-trimming of results in mixed mode clusters (CASSANDRA-15405)
* validate value sizes in LegacyLayout (CASSANDRA-15373)
* Ensure that tracing doesn't break connections in 3.x/4.0 mixed mode by default (CASSANDRA-15385)
* Make sure index summary redistribution does not start when compactions are paused (CASSANDRA-15265)
* Ensure legacy rows have primary key livenessinfo when they contain illegal cells (CASSANDRA-15365)
* Fix race condition when setting bootstrap flags (CASSANDRA-14878)
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)
* Fix NativeLibrary.tryOpenDirectory callers for Windows (CASSANDRA-15426)
3.11.5
* Fix cassandra-env.sh to use $CASSANDRA_CONF to find cassandra-jaas.config (CASSANDRA-14305)
* Fixed nodetool cfstats printing index name twice (CASSANDRA-14903)
* Add flag to disable SASI indexes, and warnings on creation (CASSANDRA-14866)
Merged from 3.0:
* Fix LegacyLayout RangeTombstoneList IndexOutOfBoundsException when upgrading and RangeTombstone bounds are asymmetric (CASSANDRA-15172)
* Fix NPE when using allocate_tokens_for_keyspace on new DC/rack (CASSANDRA-14952)
* Filter sstables earlier when running cleanup (CASSANDRA-15100)
* Use mean row count instead of mean column count for index selectivity calculation (CASSANDRA-15259)
* Avoid updating unchanged gossip states (CASSANDRA-15097)
* Prevent recreation of previously dropped columns with a different kind (CASSANDRA-14948)
* Prevent client requests from blocking on executor task queue (CASSANDRA-15013)
* Toughen up column drop/recreate type validations (CASSANDRA-15204)
* LegacyLayout should handle paging states that cross a collection column (CASSANDRA-15201)
* Prevent RuntimeException when username or password is empty/null (CASSANDRA-15198)
* Multiget thrift query returns null records after digest mismatch (CASSANDRA-14812)
* Handle paging states serialized with a different version than the session's (CASSANDRA-15176)
* Throw IOE instead of asserting on unsupporter peer versions (CASSANDRA-15066)
* Update token metadata when handling MOVING/REMOVING_TOKEN events (CASSANDRA-15120)
* Add ability to customize cassandra log directory using $CASSANDRA_LOG_DIR (CASSANDRA-15090)
* Fix assorted gossip races and add related runtime checks (CASSANDRA-15059)
* cassandra-stress works with frozen collections: list and set (CASSANDRA-14907)
* Fix handling FS errors on writing and reading flat files - LogTransaction and hints (CASSANDRA-15053)
* Avoid double closing the iterator to avoid overcounting the number of requests (CASSANDRA-15058)
* Improve `nodetool status -r` speed (CASSANDRA-14847)
* Improve merkle tree size and time on heap (CASSANDRA-14096)
* Add missing commands to nodetool_completion (CASSANDRA-14916)
* Anti-compaction temporarily corrupts sstable state for readers (CASSANDRA-15004)
Merged from 2.2:
* Handle exceptions during authentication/authorization (CASSANDRA-15041)
* Support cross version messaging in in-jvm upgrade dtests (CASSANDRA-15078)
* Fix index summary redistribution cancellation (CASSANDRA-15045)
* Refactor Circle CI configuration (CASSANDRA-14806)
* Fixing invalid CQL in security documentation (CASSANDRA-15020)
3.11.4
* Make stop-server.bat wait for Cassandra to terminate (CASSANDRA-14829)
* Correct sstable sorting for garbagecollect and levelled compaction (CASSANDRA-14870)
Merged from 3.0:
* Improve merkle tree size and time on heap (CASSANDRA-14096)
* Severe concurrency issues in STCS,DTCS,TWCS,TMD.Topology,TypeParser
* Add a script to make running the cqlsh tests in cassandra repo easier (CASSANDRA-14951)
* If SizeEstimatesRecorder misses a 'onDropTable' notification, the size_estimates table will never be cleared for that table. (CASSANDRA-14905)
* Streaming needs to synchronise access to LifecycleTransaction (CASSANDRA-14554)
* Fix cassandra-stress write hang with default options (CASSANDRA-14616)
* Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO (CASSANDRA-14909)
* Unfiltered.isEmpty conflicts with Row extends AbstractCollection.isEmpty (CASSANDRA-14588)
* RangeTombstoneList doesn't properly clean up mergeable or superseded rts in some cases (CASSANDRA-14894)
* Fix handling of collection tombstones for dropped columns from legacy sstables (CASSANDRA-14912)
* Throw exception if Columns serialized subset encode more columns than possible (CASSANDRA-14591)
* Drop/add column name with different Kind can result in corruption (CASSANDRA-14843)
* Fix missing rows when reading 2.1 SSTables with static columns in 3.0 (CASSANDRA-14873)
* Move TWCS message 'No compaction necessary for bucket size' to Trace level (CASSANDRA-14884)
* Sstable min/max metadata can cause data loss (CASSANDRA-14861)
* Dropped columns can cause reverse sstable iteration to return prematurely (CASSANDRA-14838)
* Legacy sstables with multi block range tombstones create invalid bound sequences (CASSANDRA-14823)
* Expand range tombstone validation checks to multiple interim request stages (CASSANDRA-14824)
* Reverse order reads can return incomplete results (CASSANDRA-14803)
* Avoid calling iter.next() in a loop when notifying indexers about range tombstones (CASSANDRA-14794)
* Fix purging semi-expired RT boundaries in reversed iterators (CASSANDRA-14672)
* DESC order reads can fail to return the last Unfiltered in the partition (CASSANDRA-14766)
* Fix corrupted collection deletions for dropped columns in 3.0 <-> 2.{1,2} messages (CASSANDRA-14568)
* Fix corrupted static collection deletions in 3.0 <-> 2.{1,2} messages (CASSANDRA-14568)
* Handle failures in parallelAllSSTableOperation (cleanup/upgradesstables/etc) (CASSANDRA-14657)
* Improve TokenMetaData cache populating performance avoid long locking (CASSANDRA-14660)
* Backport: Flush netty client messages immediately (not by default) (CASSANDRA-13651)
* Fix static column order for SELECT * wildcard queries (CASSANDRA-14638)
* sstableloader should use discovered broadcast address to connect intra-cluster (CASSANDRA-14522)
* Fix reading columns with non-UTF names from schema (CASSANDRA-14468)
Merged from 2.2:
* CircleCI docker image should bake in more dependencies (CASSANDRA-14985)
* MigrationManager attempts to pull schema from different major version nodes (CASSANDRA-14928)
* Returns null instead of NaN or Infinity in JSON strings (CASSANDRA-14377)
Merged from 2.1:
* Paged Range Slice queries with DISTINCT can drop rows from results (CASSANDRA-14956)
* Update release checksum algorithms to SHA-256, SHA-512 (CASSANDRA-14970)
3.11.3
* Validate supported column type with SASI analyzer (CASSANDRA-13669)
* Remove BTree.Builder Recycler to reduce memory usage (CASSANDRA-13929)
* Reduce nodetool GC thread count (CASSANDRA-14475)
* Fix New SASI view creation during Index Redistribution (CASSANDRA-14055)
* Remove string formatting lines from BufferPool hot path (CASSANDRA-14416)
* Detect OpenJDK jvm type and architecture (CASSANDRA-12793)
* Don't use guava collections in the non-system keyspace jmx attributes (CASSANDRA-12271)
* Allow existing nodes to use all peers in shadow round (CASSANDRA-13851)
* Fix cqlsh to read connection.ssl cqlshrc option again (CASSANDRA-14299)
* Downgrade log level to trace for CommitLogSegmentManager (CASSANDRA-14370)
* CQL fromJson(null) throws NullPointerException (CASSANDRA-13891)
* Serialize empty buffer as empty string for json output format (CASSANDRA-14245)
* Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396)
* SASI tokenizer for simple delimiter based entries (CASSANDRA-14247)
* Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170)
* RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163)
* Fix wildcard GROUP BY queries (CASSANDRA-14209)
Merged from 3.0:
* Fix corrupted static collection deletions in 3.0 -> 2.{1,2} messages (CASSANDRA-14568)
* Fix potential IndexOutOfBoundsException with counters (CASSANDRA-14167)
* Always close RT markers returned by ReadCommand#executeLocally() (CASSANDRA-14515)
* Reverse order queries with range tombstones can cause data loss (CASSANDRA-14513)
* Fix regression of lagging commitlog flush log message (CASSANDRA-14451)
* Add Missing dependencies in pom-all (CASSANDRA-14422)
* Cleanup StartupClusterConnectivityChecker and PING Verb (CASSANDRA-14447)
* Cassandra not starting when using enhanced startup scripts in windows (CASSANDRA-14418)
* Fix progress stats and units in compactionstats (CASSANDRA-12244)
* Better handle missing partition columns in system_schema.columns (CASSANDRA-14379)
* Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740)
* Add missed CQL keywords to documentation (CASSANDRA-14359)
* Fix unbounded validation compactions on repair / revert CASSANDRA-13797 (CASSANDRA-14332)
* Avoid deadlock when running nodetool refresh before node is fully up (CASSANDRA-14310)
* Handle all exceptions when opening sstables (CASSANDRA-14202)
* Handle incompletely written hint descriptors during startup (CASSANDRA-14080)
* Handle repeat open bound from SRP in read repair (CASSANDRA-14330)
* Use zero as default score in DynamicEndpointSnitch (CASSANDRA-14252)
* Respect max hint window when hinting for LWT (CASSANDRA-14215)
* Adding missing WriteType enum values to v3, v4, and v5 spec (CASSANDRA-13697)
* Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163)
* Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087)
* Log when SSTables are deleted (CASSANDRA-14302)
* Fix batch commitlog sync regression (CASSANDRA-14292)
* Write to pending endpoint when view replica is also base replica (CASSANDRA-14251)
* Chain commit log marker potential performance regression in batch commit mode (CASSANDRA-14194)
* Fully utilise specified compaction threads (CASSANDRA-14210)
* Pre-create deletion log records to finish compactions quicker (CASSANDRA-12763)
Merged from 2.2:
* Fix compaction failure caused by reading un-flushed data (CASSANDRA-12743)
* Use Bounds instead of Range for sstables in anticompaction (CASSANDRA-14411)
* Fix JSON queries with IN restrictions and ORDER BY clause (CASSANDRA-14286)
* CQL fromJson(null) throws NullPointerException (CASSANDRA-13891)
Merged from 2.1:
* Check checksum before decompressing data (CASSANDRA-14284)
3.11.2
* Fix ReadCommandTest (CASSANDRA-14234)
* Remove trailing period from latency reports at keyspace level (CASSANDRA-14233)
* Remove dependencies on JVM internal classes from JMXServerUtils (CASSANDRA-14173)
* Add DEFAULT, UNSET, MBEAN and MBEANS to `ReservedKeywords` (CASSANDRA-14205)
* Print correct snitch info from nodetool describecluster (CASSANDRA-13528)
* Enable CDC unittest (CASSANDRA-14141)
* Acquire read lock before accessing CompactionStrategyManager fields (CASSANDRA-14139)
* Avoid invalidating disk boundaries unnecessarily (CASSANDRA-14083)
* Avoid exposing compaction strategy index externally (CASSANDRA-14082)
* Fix imbalanced disks when replacing node with same address with JBOD (CASSANDRA-14084)
* Reload compaction strategies when disk boundaries are invalidated (CASSANDRA-13948)
* Remove OpenJDK log warning (CASSANDRA-13916)
* Prevent compaction strategies from looping indefinitely (CASSANDRA-14079)
* Cache disk boundaries (CASSANDRA-13215)
* Add asm jar to build.xml for maven builds (CASSANDRA-11193)
* Round buffer size to powers of 2 for the chunk cache (CASSANDRA-13897)
* Update jackson JSON jars (CASSANDRA-13949)
* Avoid locks when checking LCS fanout and if we should defrag (CASSANDRA-13930)
Merged from 3.0:
* Fix unit test failures in ViewComplexTest (CASSANDRA-14219)
* Add MinGW uname check to start scripts (CASSANDRA-12840)
* Use the correct digest file and reload sstable metadata in nodetool verify (CASSANDRA-14217)
* Handle failure when mutating repaired status in Verifier (CASSANDRA-13933)
* Set encoding for javadoc generation (CASSANDRA-14154)
* Fix index target computation for dense composite tables with dropped compact storage (CASSANDRA-14104)
* Improve commit log chain marker updating (CASSANDRA-14108)
* Extra range tombstone bound creates double rows (CASSANDRA-14008)
* Fix SStable ordering by max timestamp in SinglePartitionReadCommand (CASSANDRA-14010)
* Accept role names containing forward-slash (CASSANDRA-14088)
* Optimize CRC check chance probability calculations (CASSANDRA-14094)
* Fix cleanup on keyspace with no replicas (CASSANDRA-13526)
* Fix updating base table rows with TTL not removing materialized view entries (CASSANDRA-14071)
* Reduce garbage created by DynamicSnitch (CASSANDRA-14091)
* More frequent commitlog chained markers (CASSANDRA-13987)
* Fix serialized size of DataLimits (CASSANDRA-14057)
* Add flag to allow dropping oversized read repair mutations (CASSANDRA-13975)
* Fix SSTableLoader logger message (CASSANDRA-14003)
* Fix repair race that caused gossip to block (CASSANDRA-13849)
* Tracing interferes with digest requests when using RandomPartitioner (CASSANDRA-13964)
* Add flag to disable materialized views, and warnings on creation (CASSANDRA-13959)
* Don't let user drop or generally break tables in system_distributed (CASSANDRA-13813)
* Provide a JMX call to sync schema with local storage (CASSANDRA-13954)
* Mishandling of cells for removed/dropped columns when reading legacy files (CASSANDRA-13939)
* Deserialise sstable metadata in nodetool verify (CASSANDRA-13922)
Merged from 2.2:
* Fix the inspectJvmOptions startup check (CASSANDRA-14112)
* Fix race that prevents submitting compaction for a table when executor is full (CASSANDRA-13801)
* Rely on the JVM to handle OutOfMemoryErrors (CASSANDRA-13006)
* Grab refs during scrub/index redistribution/cleanup (CASSANDRA-13873)
Merged from 2.1:
* Protect against overflow of local expiration time (CASSANDRA-14092)
* RPM package spec: fix permissions for installed jars and config files (CASSANDRA-14181)
* More PEP8 compliance for cqlsh
3.11.1
* Fix the computation of cdc_total_space_in_mb for exabyte filesystems (CASSANDRA-13808)
* AbstractTokenTreeBuilder#serializedSize returns wrong value when there is a single leaf and overflow collisions (CASSANDRA-13869)
* Add a compaction option to TWCS to ignore sstables overlapping checks (CASSANDRA-13418)
* BTree.Builder memory leak (CASSANDRA-13754)
* Revert CASSANDRA-10368 of supporting non-pk column filtering due to correctness (CASSANDRA-13798)
* Add a skip read validation flag to cassandra-stress (CASSANDRA-13772)
* Fix cassandra-stress hang issues when an error during cluster connection happens (CASSANDRA-12938)
* Better bootstrap failure message when blocked by (potential) range movement (CASSANDRA-13744)
* "ignore" option is ignored in sstableloader (CASSANDRA-13721)
* Deadlock in AbstractCommitLogSegmentManager (CASSANDRA-13652)
* Duplicate the buffer before passing it to analyser in SASI operation (CASSANDRA-13512)
* Properly evict pstmts from prepared statements cache (CASSANDRA-13641)
Merged from 3.0:
* Improve TRUNCATE performance (CASSANDRA-13909)
* Implement short read protection on partition boundaries (CASSANDRA-13595)
* Fix ISE thrown by UPI.Serializer.hasNext() for some SELECT queries (CASSANDRA-13911)
* Filter header only commit logs before recovery (CASSANDRA-13918)
* AssertionError prepending to a list (CASSANDRA-13149)
* Fix support for SuperColumn tables (CASSANDRA-12373)
* Handle limit correctly on tables with strict liveness (CASSANDRA-13883)
* Fix missing original update in TriggerExecutor (CASSANDRA-13894)
* Remove non-rpc-ready nodes from counter leader candidates (CASSANDRA-13043)
* Improve short read protection performance (CASSANDRA-13794)
* Fix sstable reader to support range-tombstone-marker for multi-slices (CASSANDRA-13787)
* Fix short read protection for tables with no clustering columns (CASSANDRA-13880)
* Make isBuilt volatile in PartitionUpdate (CASSANDRA-13619)
* Prevent integer overflow of timestamps in CellTest and RowsTest (CASSANDRA-13866)
* Fix counter application order in short read protection (CASSANDRA-12872)
* Don't block RepairJob execution on validation futures (CASSANDRA-13797)
* Wait for all management tasks to complete before shutting down CLSM (CASSANDRA-13123)
* INSERT statement fails when Tuple type is used as clustering column with default DESC order (CASSANDRA-13717)
* Fix pending view mutations handling and cleanup batchlog when there are local and remote paired mutations (CASSANDRA-13069)
* Improve config validation and documentation on overflow and NPE (CASSANDRA-13622)
* Range deletes in a CAS batch are ignored (CASSANDRA-13655)
* Avoid assertion error when IndexSummary > 2G (CASSANDRA-12014)
* Change repair midpoint logging for tiny ranges (CASSANDRA-13603)
* Better handle corrupt final commitlog segment (CASSANDRA-11995)
* StreamingHistogram is not thread safe (CASSANDRA-13756)
* Fix MV timestamp issues (CASSANDRA-11500)
* Better tolerate improperly formatted bcrypt hashes (CASSANDRA-13626)
* Fix race condition in read command serialization (CASSANDRA-13363)
* Fix AssertionError in short read protection (CASSANDRA-13747)