forked from apache/cassandra
-
Notifications
You must be signed in to change notification settings - Fork 2
/
CHANGES.txt
4804 lines (4570 loc) · 265 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
3.2
* Add transparent data encryption core classes (CASSANDRA-9945)
3.0.0-beta2
* Fix Materialized View builder when adding multiple MVs (CASSANDRA-10156)
* Choose better poolingOptions for protocol v4 in cassandra-stress (CASSANDRA-10182)
* Fix LWW bug affecting Materialized Views (CASSANDRA-10197)
* Ensures frozen sets and maps are always sorted (CASSANDRA-10162)
* Don't deadlock when flushing CFS backed custom indexes (CASSANDRA-10181)
* Fix double flushing of secondary index tables (CASSANDRA-10180)
* Fix incorrect handling of range tombstones in thrift (CASSANDRA-10046)
* Only use batchlog when paired materialized view replica is remote (CASSANDRA-10061)
* Reuse TemporalRow when updating multiple MaterializedViews (CASSANDRA-10060)
* Validate gc_grace_seconds for batchlog writes and MVs (CASSANDRA-9917)
* Fix sstablerepairedset (CASSANDRA-10132)
Merged from 2.2:
* Fall back to 1/4 commitlog volume for commitlog_total_space on small disks
(CASSANDRA-10199)
* Fix race during construction of commit log (CASSANDRA-10049)
* Fix LeveledCompactionStrategyTest (CASSANDRA-9757)
* Fix broken UnbufferedDataOutputStreamPlus.writeUTF (CASSANDRA-10203)
* (cqlsh) default load-from-file encoding to utf-8 (CASSANDRA-9898)
* Avoid returning Permission.NONE when failing to query users table (CASSANDRA-10168)
* (cqlsh) add CLEAR command (CASSANDRA-10086)
* Support string literals as Role names for compatibility (CASSANDRA-10135)
Merged from 2.1:
* Only check KeyCache when it is enabled
* Change streaming_socket_timeout_in_ms default to 1 hour (CASSANDRA-8611)
* (cqlsh) update list of CQL keywords (CASSANDRA-9232)
3.0.0-beta1
* Redesign secondary index API (CASSANDRA-9459, 7771, 9041)
* Fix throwing ReadFailure instead of ReadTimeout on range queries (CASSANDRA-10125)
* Rewrite hinted handoff (CASSANDRA-6230)
* Fix query on static compact tables (CASSANDRA-10093)
* Fix race during construction of commit log (CASSANDRA-10049)
* Add option to only purge repaired tombstones (CASSANDRA-6434)
* Change authorization handling for MVs (CASSANDRA-9927)
* Add custom JMX enabled executor for UDF sandbox (CASSANDRA-10026)
* Fix row deletion bug for Materialized Views (CASSANDRA-10014)
* Support mixed-version clusters with Cassandra 2.1 and 2.2 (CASSANDRA-9704)
* Fix multiple slices on RowSearchers (CASSANDRA-10002)
* Fix bug in merging of collections (CASSANDRA-10001)
* Optimize batchlog replay to avoid full scans (CASSANDRA-7237)
* Repair improvements when using vnodes (CASSANDRA-5220)
* Disable scripted UDFs by default (CASSANDRA-9889)
* Bytecode inspection for Java-UDFs (CASSANDRA-9890)
* Use byte to serialize MT hash length (CASSANDRA-9792)
* Replace usage of Adler32 with CRC32 (CASSANDRA-8684)
* Fix migration to new format from 2.1 SSTable (CASSANDRA-10006)
* SequentialWriter should extend BufferedDataOutputStreamPlus (CASSANDRA-9500)
* Use the same repairedAt timestamp within incremental repair session (CASSANDRA-9111)
Merged from 2.2:
* Allow count(*) and count(1) to be use as normal aggregation (CASSANDRA-10114)
* An NPE is thrown if the column name is unknown for an IN relation (CASSANDRA-10043)
* Apply commit_failure_policy to more errors on startup (CASSANDRA-9749)
* Fix histogram overflow exception (CASSANDRA-9973)
* Route gossip messages over dedicated socket (CASSANDRA-9237)
* Add checksum to saved cache files (CASSANDRA-9265)
* Log warning when using an aggregate without partition key (CASSANDRA-9737)
Merged from 2.1:
* (cqlsh) Allow encoding to be set through command line (CASSANDRA-10004)
* Add new JMX methods to change local compaction strategy (CASSANDRA-9965)
* Write hints for paxos commits (CASSANDRA-7342)
* (cqlsh) Fix timestamps before 1970 on Windows, always
use UTC for timestamp display (CASSANDRA-10000)
* (cqlsh) Avoid overwriting new config file with old config
when both exist (CASSANDRA-9777)
* Release snapshot selfRef when doing snapshot repair (CASSANDRA-9998)
* Cannot replace token does not exist - DN node removed as Fat Client (CASSANDRA-9871)
Merged from 2.0:
* Don't cast expected bf size to an int (CASSANDRA-9959)
* Make getFullyExpiredSSTables less expensive (CASSANDRA-9882)
3.0.0-alpha1
* Implement proper sandboxing for UDFs (CASSANDRA-9402)
* Simplify (and unify) cleanup of compaction leftovers (CASSANDRA-7066)
* Allow extra schema definitions in cassandra-stress yaml (CASSANDRA-9850)
* Metrics should use up to date nomenclature (CASSANDRA-9448)
* Change CREATE/ALTER TABLE syntax for compression (CASSANDRA-8384)
* Cleanup crc and adler code for java 8 (CASSANDRA-9650)
* Storage engine refactor (CASSANDRA-8099, 9743, 9746, 9759, 9781, 9808, 9825,
9848, 9705, 9859, 9867, 9874, 9828, 9801)
* Update Guava to 18.0 (CASSANDRA-9653)
* Bloom filter false positive ratio is not honoured (CASSANDRA-8413)
* New option for cassandra-stress to leave a ratio of columns null (CASSANDRA-9522)
* Change hinted_handoff_enabled yaml setting, JMX (CASSANDRA-9035)
* Add algorithmic token allocation (CASSANDRA-7032)
* Add nodetool command to replay batchlog (CASSANDRA-9547)
* Make file buffer cache independent of paths being read (CASSANDRA-8897)
* Remove deprecated legacy Hadoop code (CASSANDRA-9353)
* Decommissioned nodes will not rejoin the cluster (CASSANDRA-8801)
* Change gossip stabilization to use endpoit size (CASSANDRA-9401)
* Change default garbage collector to G1 (CASSANDRA-7486)
* Populate TokenMetadata early during startup (CASSANDRA-9317)
* Undeprecate cache recentHitRate (CASSANDRA-6591)
* Add support for selectively varint encoding fields (CASSANDRA-9499, 9865)
* Materialized Views (CASSANDRA-6477)
Merged from 2.2:
* Avoid grouping sstables for anticompaction with DTCS (CASSANDRA-9900)
* UDF / UDA execution time in trace (CASSANDRA-9723)
* Fix broken internode SSL (CASSANDRA-9884)
Merged from 2.1:
* Add new JMX methods to change local compaction strategy (CASSANDRA-9965)
* Fix handling of enable/disable autocompaction (CASSANDRA-9899)
* Add consistency level to tracing ouput (CASSANDRA-9827)
* Remove repair snapshot leftover on startup (CASSANDRA-7357)
* Use random nodes for batch log when only 2 racks (CASSANDRA-8735)
* Ensure atomicity inside thrift and stream session (CASSANDRA-7757)
* Fix nodetool info error when the node is not joined (CASSANDRA-9031)
Merged from 2.0:
* Log when messages are dropped due to cross_node_timeout (CASSANDRA-9793)
* Don't track hotness when opening from snapshot for validation (CASSANDRA-9382)
2.2.0
* Allow the selection of columns together with aggregates (CASSANDRA-9767)
* Fix cqlsh copy methods and other windows specific issues (CASSANDRA-9795)
* Don't wrap byte arrays in SequentialWriter (CASSANDRA-9797)
* sum() and avg() functions missing for smallint and tinyint types (CASSANDRA-9671)
* Revert CASSANDRA-9542 (allow native functions in UDA) (CASSANDRA-9771)
Merged from 2.1:
* Fix MarshalException when upgrading superColumn family (CASSANDRA-9582)
* Fix broken logging for "empty" flushes in Memtable (CASSANDRA-9837)
* Handle corrupt files on startup (CASSANDRA-9686)
* Fix clientutil jar and tests (CASSANDRA-9760)
* (cqlsh) Allow the SSL protocol version to be specified through the
config file or environment variables (CASSANDRA-9544)
Merged from 2.0:
* Add tool to find why expired sstables are not getting dropped (CASSANDRA-10015)
* Remove erroneous pending HH tasks from tpstats/jmx (CASSANDRA-9129)
* Don't cast expected bf size to an int (CASSANDRA-9959)
* checkForEndpointCollision fails for legitimate collisions (CASSANDRA-9765)
* Complete CASSANDRA-8448 fix (CASSANDRA-9519)
* Don't include auth credentials in debug log (CASSANDRA-9682)
* Can't transition from write survey to normal mode (CASSANDRA-9740)
* Scrub (recover) sstables even when -Index.db is missing (CASSANDRA-9591)
* Fix growing pending background compaction (CASSANDRA-9662)
2.2.0-rc2
* Re-enable memory-mapped I/O on Windows (CASSANDRA-9658)
* Warn when an extra-large partition is compacted (CASSANDRA-9643)
* (cqlsh) Allow setting the initial connection timeout (CASSANDRA-9601)
* BulkLoader has --transport-factory option but does not use it (CASSANDRA-9675)
* Allow JMX over SSL directly from nodetool (CASSANDRA-9090)
* Update cqlsh for UDFs (CASSANDRA-7556)
* Change Windows kernel default timer resolution (CASSANDRA-9634)
* Deprected sstable2json and json2sstable (CASSANDRA-9618)
* Allow native functions in user-defined aggregates (CASSANDRA-9542)
* Don't repair system_distributed by default (CASSANDRA-9621)
* Fix mixing min, max, and count aggregates for blob type (CASSANRA-9622)
* Rename class for DATE type in Java driver (CASSANDRA-9563)
* Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
* Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
* Mlockall before opening system sstables & remove boot_without_jna option (CASSANDRA-9573)
* Add functions to convert timeuuid to date or time, deprecate dateOf and unixTimestampOf (CASSANDRA-9229)
* Make sure we cancel non-compacting sstables from LifecycleTransaction (CASSANDRA-9566)
* Fix deprecated repair JMX API (CASSANDRA-9570)
* Add logback metrics (CASSANDRA-9378)
* Update and refactor ant test/test-compression to run the tests in parallel (CASSANDRA-9583)
* Fix upgrading to new directory for secondary index (CASSANDRA-9687)
Merged from 2.1:
* (cqlsh) Fix bad check for CQL compatibility when DESCRIBE'ing
COMPACT STORAGE tables with no clustering columns
* Eliminate strong self-reference chains in sstable ref tidiers (CASSANDRA-9656)
* Ensure StreamSession uses canonical sstable reader instances (CASSANDRA-9700)
* Ensure memtable book keeping is not corrupted in the event we shrink usage (CASSANDRA-9681)
* Update internal python driver for cqlsh (CASSANDRA-9064)
* Fix IndexOutOfBoundsException when inserting tuple with too many
elements using the string literal notation (CASSANDRA-9559)
* Enable describe on indices (CASSANDRA-7814)
* Fix incorrect result for IN queries where column not found (CASSANDRA-9540)
* ColumnFamilyStore.selectAndReference may block during compaction (CASSANDRA-9637)
* Fix bug in cardinality check when compacting (CASSANDRA-9580)
* Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour (CASSANDRA-9549)
* Make rebuild only run one at a time (CASSANDRA-9119)
Merged from 2.0:
* Avoid NPE in AuthSuccess#decode (CASSANDRA-9727)
* Add listen_address to system.local (CASSANDRA-9603)
* Bug fixes to resultset metadata construction (CASSANDRA-9636)
* Fix setting 'durable_writes' in ALTER KEYSPACE (CASSANDRA-9560)
* Avoids ballot clash in Paxos (CASSANDRA-9649)
* Improve trace messages for RR (CASSANDRA-9479)
* Fix suboptimal secondary index selection when restricted
clustering column is also indexed (CASSANDRA-9631)
* (cqlsh) Add min_threshold to DTCS option autocomplete (CASSANDRA-9385)
* Fix error message when attempting to create an index on a column
in a COMPACT STORAGE table with clustering columns (CASSANDRA-9527)
* 'WITH WITH' in alter keyspace statements causes NPE (CASSANDRA-9565)
* Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
* ArrivalWindow should use primitives (CASSANDRA-9496)
* Periodically submit background compaction tasks (CASSANDRA-9592)
* Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)
2.2.0-rc1
* Compressed commit log should measure compressed space used (CASSANDRA-9095)
* Fix comparison bug in CassandraRoleManager#collectRoles (CASSANDRA-9551)
* Add tinyint,smallint,time,date support for UDFs (CASSANDRA-9400)
* Deprecates SSTableSimpleWriter and SSTableSimpleUnsortedWriter (CASSANDRA-9546)
* Empty INITCOND treated as null in aggregate (CASSANDRA-9457)
* Remove use of Cell in Thrift MapReduce classes (CASSANDRA-8609)
* Integrate pre-release Java Driver 2.2-rc1, custom build (CASSANDRA-9493)
* Clean up gossiper logic for old versions (CASSANDRA-9370)
* Fix custom payload coding/decoding to match the spec (CASSANDRA-9515)
* ant test-all results incomplete when parsed (CASSANDRA-9463)
* Disallow frozen<> types in function arguments and return types for
clarity (CASSANDRA-9411)
* Static Analysis to warn on unsafe use of Autocloseable instances (CASSANDRA-9431)
* Update commitlog archiving examples now that commitlog segments are
not recycled (CASSANDRA-9350)
* Extend Transactional API to sstable lifecycle management (CASSANDRA-8568)
* (cqlsh) Add support for native protocol 4 (CASSANDRA-9399)
* Ensure that UDF and UDAs are keyspace-isolated (CASSANDRA-9409)
* Revert CASSANDRA-7807 (tracing completion client notifications) (CASSANDRA-9429)
* Add ability to stop compaction by ID (CASSANDRA-7207)
* Let CassandraVersion handle SNAPSHOT version (CASSANDRA-9438)
Merged from 2.1:
* (cqlsh) Fix using COPY through SOURCE or -f (CASSANDRA-9083)
* Fix occasional lack of `system` keyspace in schema tables (CASSANDRA-8487)
* Use ProtocolError code instead of ServerError code for native protocol
error responses to unsupported protocol versions (CASSANDRA-9451)
* Default commitlog_sync_batch_window_in_ms changed to 2ms (CASSANDRA-9504)
* Fix empty partition assertion in unsorted sstable writing tools (CASSANDRA-9071)
* Ensure truncate without snapshot cannot produce corrupt responses (CASSANDRA-9388)
* Consistent error message when a table mixes counter and non-counter
columns (CASSANDRA-9492)
* Avoid getting unreadable keys during anticompaction (CASSANDRA-9508)
* (cqlsh) Better float precision by default (CASSANDRA-9224)
* Improve estimated row count (CASSANDRA-9107)
* Optimize range tombstone memory footprint (CASSANDRA-8603)
* Use configured gcgs in anticompaction (CASSANDRA-9397)
Merged from 2.0:
* Don't accumulate more range than necessary in RangeTombstone.Tracker (CASSANDRA-9486)
* Add broadcast and rpc addresses to system.local (CASSANDRA-9436)
* Always mark sstable suspect when corrupted (CASSANDRA-9478)
* Add database users and permissions to CQL3 documentation (CASSANDRA-7558)
* Allow JVM_OPTS to be passed to standalone tools (CASSANDRA-5969)
* Fix bad condition in RangeTombstoneList (CASSANDRA-9485)
* Fix potential StackOverflow when setting CrcCheckChance over JMX (CASSANDRA-9488)
* Fix null static columns in pages after the first, paged reversed
queries (CASSANDRA-8502)
* Fix counting cache serialization in request metrics (CASSANDRA-9466)
* Add option not to validate atoms during scrub (CASSANDRA-9406)
2.2.0-beta1
* Introduce Transactional API for internal state changes (CASSANDRA-8984)
* Add a flag in cassandra.yaml to enable UDFs (CASSANDRA-9404)
* Better support of null for UDF (CASSANDRA-8374)
* Use ecj instead of javassist for UDFs (CASSANDRA-8241)
* faster async logback configuration for tests (CASSANDRA-9376)
* Add `smallint` and `tinyint` data types (CASSANDRA-8951)
* Avoid thrift schema creation when native driver is used in stress tool (CASSANDRA-9374)
* Make Functions.declared thread-safe
* Add client warnings to native protocol v4 (CASSANDRA-8930)
* Allow roles cache to be invalidated (CASSANDRA-8967)
* Upgrade Snappy (CASSANDRA-9063)
* Don't start Thrift rpc by default (CASSANDRA-9319)
* Only stream from unrepaired sstables with incremental repair (CASSANDRA-8267)
* Aggregate UDFs allow SFUNC return type to differ from STYPE if FFUNC specified (CASSANDRA-9321)
* Remove Thrift dependencies in bundled tools (CASSANDRA-8358)
* Disable memory mapping of hsperfdata file for JVM statistics (CASSANDRA-9242)
* Add pre-startup checks to detect potential incompatibilities (CASSANDRA-8049)
* Distinguish between null and unset in protocol v4 (CASSANDRA-7304)
* Add user/role permissions for user-defined functions (CASSANDRA-7557)
* Allow cassandra config to be updated to restart daemon without unloading classes (CASSANDRA-9046)
* Don't initialize compaction writer before checking if iter is empty (CASSANDRA-9117)
* Don't execute any functions at prepare-time (CASSANDRA-9037)
* Share file handles between all instances of a SegmentedFile (CASSANDRA-8893)
* Make it possible to major compact LCS (CASSANDRA-7272)
* Make FunctionExecutionException extend RequestExecutionException
(CASSANDRA-9055)
* Add support for SELECT JSON, INSERT JSON syntax and new toJson(), fromJson()
functions (CASSANDRA-7970)
* Optimise max purgeable timestamp calculation in compaction (CASSANDRA-8920)
* Constrain internode message buffer sizes, and improve IO class hierarchy (CASSANDRA-8670)
* New tool added to validate all sstables in a node (CASSANDRA-5791)
* Push notification when tracing completes for an operation (CASSANDRA-7807)
* Delay "node up" and "node added" notifications until native protocol server is started (CASSANDRA-8236)
* Compressed Commit Log (CASSANDRA-6809)
* Optimise IntervalTree (CASSANDRA-8988)
* Add a key-value payload for third party usage (CASSANDRA-8553, 9212)
* Bump metrics-reporter-config dependency for metrics 3.0 (CASSANDRA-8149)
* Partition intra-cluster message streams by size, not type (CASSANDRA-8789)
* Add WriteFailureException to native protocol, notify coordinator of
write failures (CASSANDRA-8592)
* Convert SequentialWriter to nio (CASSANDRA-8709)
* Add role based access control (CASSANDRA-7653, 8650, 7216, 8760, 8849, 8761, 8850)
* Record client ip address in tracing sessions (CASSANDRA-8162)
* Indicate partition key columns in response metadata for prepared
statements (CASSANDRA-7660)
* Merge UUIDType and TimeUUIDType parse logic (CASSANDRA-8759)
* Avoid memory allocation when searching index summary (CASSANDRA-8793)
* Optimise (Time)?UUIDType Comparisons (CASSANDRA-8730)
* Make CRC32Ex into a separate maven dependency (CASSANDRA-8836)
* Use preloaded jemalloc w/ Unsafe (CASSANDRA-8714, 9197)
* Avoid accessing partitioner through StorageProxy (CASSANDRA-8244, 8268)
* Upgrade Metrics library and remove depricated metrics (CASSANDRA-5657)
* Serializing Row cache alternative, fully off heap (CASSANDRA-7438)
* Duplicate rows returned when in clause has repeated values (CASSANDRA-6707)
* Make CassandraException unchecked, extend RuntimeException (CASSANDRA-8560)
* Support direct buffer decompression for reads (CASSANDRA-8464)
* DirectByteBuffer compatible LZ4 methods (CASSANDRA-7039)
* Group sstables for anticompaction correctly (CASSANDRA-8578)
* Add ReadFailureException to native protocol, respond
immediately when replicas encounter errors while handling
a read request (CASSANDRA-7886)
* Switch CommitLogSegment from RandomAccessFile to nio (CASSANDRA-8308)
* Allow mixing token and partition key restrictions (CASSANDRA-7016)
* Support index key/value entries on map collections (CASSANDRA-8473)
* Modernize schema tables (CASSANDRA-8261)
* Support for user-defined aggregation functions (CASSANDRA-8053)
* Fix NPE in SelectStatement with empty IN values (CASSANDRA-8419)
* Refactor SelectStatement, return IN results in natural order instead
of IN value list order and ignore duplicate values in partition key IN restrictions (CASSANDRA-7981)
* Support UDTs, tuples, and collections in user-defined
functions (CASSANDRA-7563)
* Fix aggregate fn results on empty selection, result column name,
and cqlsh parsing (CASSANDRA-8229)
* Mark sstables as repaired after full repair (CASSANDRA-7586)
* Extend Descriptor to include a format value and refactor reader/writer
APIs (CASSANDRA-7443)
* Integrate JMH for microbenchmarks (CASSANDRA-8151)
* Keep sstable levels when bootstrapping (CASSANDRA-7460)
* Add Sigar library and perform basic OS settings check on startup (CASSANDRA-7838)
* Support for aggregation functions (CASSANDRA-4914)
* Remove cassandra-cli (CASSANDRA-7920)
* Accept dollar quoted strings in CQL (CASSANDRA-7769)
* Make assassinate a first class command (CASSANDRA-7935)
* Support IN clause on any partition key column (CASSANDRA-7855)
* Support IN clause on any clustering column (CASSANDRA-4762)
* Improve compaction logging (CASSANDRA-7818)
* Remove YamlFileNetworkTopologySnitch (CASSANDRA-7917)
* Do anticompaction in groups (CASSANDRA-6851)
* Support user-defined functions (CASSANDRA-7395, 7526, 7562, 7740, 7781, 7929,
7924, 7812, 8063, 7813, 7708)
* Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
* Move sstable RandomAccessReader to nio2, which allows using the
FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
* Remove CQL2 (CASSANDRA-5918)
* Optimize fetching multiple cells by name (CASSANDRA-6933)
* Allow compilation in java 8 (CASSANDRA-7028)
* Make incremental repair default (CASSANDRA-7250)
* Enable code coverage thru JaCoCo (CASSANDRA-7226)
* Switch external naming of 'column families' to 'tables' (CASSANDRA-4369)
* Shorten SSTable path (CASSANDRA-6962)
* Use unsafe mutations for most unit tests (CASSANDRA-6969)
* Fix race condition during calculation of pending ranges (CASSANDRA-7390)
* Fail on very large batch sizes (CASSANDRA-8011)
* Improve concurrency of repair (CASSANDRA-6455, 8208, 9145)
* Select optimal CRC32 implementation at runtime (CASSANDRA-8614)
* Evaluate MurmurHash of Token once per query (CASSANDRA-7096)
* Generalize progress reporting (CASSANDRA-8901)
* Resumable bootstrap streaming (CASSANDRA-8838, CASSANDRA-8942)
* Allow scrub for secondary index (CASSANDRA-5174)
* Save repair data to system table (CASSANDRA-5839)
* fix nodetool names that reference column families (CASSANDRA-8872)
Merged from 2.1:
* Warn on misuse of unlogged batches (CASSANDRA-9282)
* Failure detector detects and ignores local pauses (CASSANDRA-9183)
* Add utility class to support for rate limiting a given log statement (CASSANDRA-9029)
* Add missing consistency levels to cassandra-stess (CASSANDRA-9361)
* Fix commitlog getCompletedTasks to not increment (CASSANDRA-9339)
* Fix for harmless exceptions logged as ERROR (CASSANDRA-8564)
* Delete processed sstables in sstablesplit/sstableupgrade (CASSANDRA-8606)
* Improve sstable exclusion from partition tombstones (CASSANDRA-9298)
* Validate the indexed column rather than the cell's contents for 2i (CASSANDRA-9057)
* Add support for top-k custom 2i queries (CASSANDRA-8717)
* Fix error when dropping table during compaction (CASSANDRA-9251)
* cassandra-stress supports validation operations over user profiles (CASSANDRA-8773)
* Add support for rate limiting log messages (CASSANDRA-9029)
* Log the partition key with tombstone warnings (CASSANDRA-8561)
* Reduce runWithCompactionsDisabled poll interval to 1ms (CASSANDRA-9271)
* Fix PITR commitlog replay (CASSANDRA-9195)
* GCInspector logs very different times (CASSANDRA-9124)
* Fix deleting from an empty list (CASSANDRA-9198)
* Update tuple and collection types that use a user-defined type when that UDT
is modified (CASSANDRA-9148, CASSANDRA-9192)
* Use higher timeout for prepair and snapshot in repair (CASSANDRA-9261)
* Fix anticompaction blocking ANTI_ENTROPY stage (CASSANDRA-9151)
* Repair waits for anticompaction to finish (CASSANDRA-9097)
* Fix streaming not holding ref when stream error (CASSANDRA-9295)
* Fix canonical view returning early opened SSTables (CASSANDRA-9396)
Merged from 2.0:
* (cqlsh) Add LOGIN command to switch users (CASSANDRA-7212)
* Clone SliceQueryFilter in AbstractReadCommand implementations (CASSANDRA-8940)
* Push correct protocol notification for DROP INDEX (CASSANDRA-9310)
* token-generator - generated tokens too long (CASSANDRA-9300)
* Fix counting of tombstones for TombstoneOverwhelmingException (CASSANDRA-9299)
* Fix ReconnectableSnitch reconnecting to peers during upgrade (CASSANDRA-6702)
* Include keyspace and table name in error log for collections over the size
limit (CASSANDRA-9286)
* Avoid potential overlap in LCS with single-partition sstables (CASSANDRA-9322)
* Log warning message when a table is queried before the schema has fully
propagated (CASSANDRA-9136)
* Overload SecondaryIndex#indexes to accept the column definition (CASSANDRA-9314)
* (cqlsh) Add SERIAL and LOCAL_SERIAL consistency levels (CASSANDRA-8051)
* Fix index selection during rebuild with certain table layouts (CASSANDRA-9281)
* Fix partition-level-delete-only workload accounting (CASSANDRA-9194)
* Allow scrub to handle corrupted compressed chunks (CASSANDRA-9140)
* Fix assertion error when resetlocalschema is run during repair (CASSANDRA-9249)
* Disable single sstable tombstone compactions for DTCS by default (CASSANDRA-9234)
* IncomingTcpConnection thread is not named (CASSANDRA-9262)
* Close incoming connections when MessagingService is stopped (CASSANDRA-9238)
* Fix streaming hang when retrying (CASSANDRA-9132)
2.1.5
* Re-add deprecated cold_reads_to_omit param for backwards compat (CASSANDRA-9203)
* Make anticompaction visible in compactionstats (CASSANDRA-9098)
* Improve nodetool getendpoints documentation about the partition
key parameter (CASSANDRA-6458)
* Don't check other keyspaces for schema changes when an user-defined
type is altered (CASSANDRA-9187)
* Add generate-idea-files target to build.xml (CASSANDRA-9123)
* Allow takeColumnFamilySnapshot to take a list of tables (CASSANDRA-8348)
* Limit major sstable operations to their canonical representation (CASSANDRA-8669)
* cqlsh: Add tests for INSERT and UPDATE tab completion (CASSANDRA-9125)
* cqlsh: quote column names when needed in COPY FROM inserts (CASSANDRA-9080)
* Do not load read meter for offline operations (CASSANDRA-9082)
* cqlsh: Make CompositeType data readable (CASSANDRA-8919)
* cqlsh: Fix display of triggers (CASSANDRA-9081)
* Fix NullPointerException when deleting or setting an element by index on
a null list collection (CASSANDRA-9077)
* Buffer bloom filter serialization (CASSANDRA-9066)
* Fix anti-compaction target bloom filter size (CASSANDRA-9060)
* Make FROZEN and TUPLE unreserved keywords in CQL (CASSANDRA-9047)
* Prevent AssertionError from SizeEstimatesRecorder (CASSANDRA-9034)
* Avoid overwriting index summaries for sstables with an older format that
does not support downsampling; rebuild summaries on startup when this
is detected (CASSANDRA-8993)
* Fix potential data loss in CompressedSequentialWriter (CASSANDRA-8949)
* Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
* Fix AssertionError when binding nested collections in DELETE (CASSANDRA-8900)
* Check for overlap with non-early sstables in LCS (CASSANDRA-8739)
* Only calculate max purgable timestamp if we have to (CASSANDRA-8914)
* (cqlsh) Greatly improve performance of COPY FROM (CASSANDRA-8225)
* IndexSummary effectiveIndexInterval is now a guideline, not a rule (CASSANDRA-8993)
* Use correct bounds for page cache eviction of compressed files (CASSANDRA-8746)
* SSTableScanner enforces its bounds (CASSANDRA-8946)
* Cleanup cell equality (CASSANDRA-8947)
* Introduce intra-cluster message coalescing (CASSANDRA-8692)
* DatabaseDescriptor throws NPE when rpc_interface is used (CASSANDRA-8839)
* Don't check if an sstable is live for offline compactions (CASSANDRA-8841)
* Don't set clientMode in SSTableLoader (CASSANDRA-8238)
* Fix SSTableRewriter with disabled early open (CASSANDRA-8535)
* Fix cassandra-stress so it respects the CL passed in user mode (CASSANDRA-8948)
* Fix rare NPE in ColumnDefinition#hasIndexOption() (CASSANDRA-8786)
* cassandra-stress reports per-operation statistics, plus misc (CASSANDRA-8769)
* Add SimpleDate (cql date) and Time (cql time) types (CASSANDRA-7523)
* Use long for key count in cfstats (CASSANDRA-8913)
* Make SSTableRewriter.abort() more robust to failure (CASSANDRA-8832)
* Remove cold_reads_to_omit from STCS (CASSANDRA-8860)
* Make EstimatedHistogram#percentile() use ceil instead of floor (CASSANDRA-8883)
* Fix top partitions reporting wrong cardinality (CASSANDRA-8834)
* Fix rare NPE in KeyCacheSerializer (CASSANDRA-8067)
* Pick sstables for validation as late as possible inc repairs (CASSANDRA-8366)
* Fix commitlog getPendingTasks to not increment (CASSANDRA-8862)
* Fix parallelism adjustment in range and secondary index queries
when the first fetch does not satisfy the limit (CASSANDRA-8856)
* Check if the filtered sstables is non-empty in STCS (CASSANDRA-8843)
* Upgrade java-driver used for cassandra-stress (CASSANDRA-8842)
* Fix CommitLog.forceRecycleAllSegments() memory access error (CASSANDRA-8812)
* Improve assertions in Memory (CASSANDRA-8792)
* Fix SSTableRewriter cleanup (CASSANDRA-8802)
* Introduce SafeMemory for CompressionMetadata.Writer (CASSANDRA-8758)
* 'nodetool info' prints exception against older node (CASSANDRA-8796)
* Ensure SSTableReader.last corresponds exactly with the file end (CASSANDRA-8750)
* Make SSTableWriter.openEarly more robust and obvious (CASSANDRA-8747)
* Enforce SSTableReader.first/last (CASSANDRA-8744)
* Cleanup SegmentedFile API (CASSANDRA-8749)
* Avoid overlap with early compaction replacement (CASSANDRA-8683)
* Safer Resource Management++ (CASSANDRA-8707)
* Write partition size estimates into a system table (CASSANDRA-7688)
* cqlsh: Fix keys() and full() collection indexes in DESCRIBE output
(CASSANDRA-8154)
* Show progress of streaming in nodetool netstats (CASSANDRA-8886)
* IndexSummaryBuilder utilises offheap memory, and shares data between
each IndexSummary opened from it (CASSANDRA-8757)
* markCompacting only succeeds if the exact SSTableReader instances being
marked are in the live set (CASSANDRA-8689)
* cassandra-stress support for varint (CASSANDRA-8882)
* Fix Adler32 digest for compressed sstables (CASSANDRA-8778)
* Add nodetool statushandoff/statusbackup (CASSANDRA-8912)
* Use stdout for progress and stats in sstableloader (CASSANDRA-8982)
* Correctly identify 2i datadir from older versions (CASSANDRA-9116)
Merged from 2.0:
* Ignore gossip SYNs after shutdown (CASSANDRA-9238)
* Avoid overflow when calculating max sstable size in LCS (CASSANDRA-9235)
* Make sstable blacklisting work with compression (CASSANDRA-9138)
* Do not attempt to rebuild indexes if no index accepts any column (CASSANDRA-9196)
* Don't initiate snitch reconnection for dead states (CASSANDRA-7292)
* Fix ArrayIndexOutOfBoundsException in CQLSSTableWriter (CASSANDRA-8978)
* Add shutdown gossip state to prevent timeouts during rolling restarts (CASSANDRA-8336)
* Fix running with java.net.preferIPv6Addresses=true (CASSANDRA-9137)
* Fix failed bootstrap/replace attempts being persisted in system.peers (CASSANDRA-9180)
* Flush system.IndexInfo after marking index built (CASSANDRA-9128)
* Fix updates to min/max_compaction_threshold through cassandra-cli
(CASSANDRA-8102)
* Don't include tmp files when doing offline relevel (CASSANDRA-9088)
* Use the proper CAS WriteType when finishing a previous round during Paxos
preparation (CASSANDRA-8672)
* Avoid race in cancelling compactions (CASSANDRA-9070)
* More aggressive check for expired sstables in DTCS (CASSANDRA-8359)
* Fix ignored index_interval change in ALTER TABLE statements (CASSANDRA-7976)
* Do more aggressive compaction in old time windows in DTCS (CASSANDRA-8360)
* java.lang.AssertionError when reading saved cache (CASSANDRA-8740)
* "disk full" when running cleanup (CASSANDRA-9036)
* Lower logging level from ERROR to DEBUG when a scheduled schema pull
cannot be completed due to a node being down (CASSANDRA-9032)
* Fix MOVED_NODE client event (CASSANDRA-8516)
* Allow overriding MAX_OUTSTANDING_REPLAY_COUNT (CASSANDRA-7533)
* Fix malformed JMX ObjectName containing IPv6 addresses (CASSANDRA-9027)
* (cqlsh) Allow increasing CSV field size limit through
cqlshrc config option (CASSANDRA-8934)
* Stop logging range tombstones when exceeding the threshold
(CASSANDRA-8559)
* Fix NullPointerException when nodetool getendpoints is run
against invalid keyspaces or tables (CASSANDRA-8950)
* Allow specifying the tmp dir (CASSANDRA-7712)
* Improve compaction estimated tasks estimation (CASSANDRA-8904)
* Fix duplicate up/down messages sent to native clients (CASSANDRA-7816)
* Expose commit log archive status via JMX (CASSANDRA-8734)
* Provide better exceptions for invalid replication strategy parameters
(CASSANDRA-8909)
* Fix regression in mixed single and multi-column relation support for
SELECT statements (CASSANDRA-8613)
* Add ability to limit number of native connections (CASSANDRA-8086)
* Fix CQLSSTableWriter throwing exception and spawning threads
(CASSANDRA-8808)
* Fix MT mismatch between empty and GC-able data (CASSANDRA-8979)
* Fix incorrect validation when snapshotting single table (CASSANDRA-8056)
* Add offline tool to relevel sstables (CASSANDRA-8301)
* Preserve stream ID for more protocol errors (CASSANDRA-8848)
* Fix combining token() function with multi-column relations on
clustering columns (CASSANDRA-8797)
* Make CFS.markReferenced() resistant to bad refcounting (CASSANDRA-8829)
* Fix StreamTransferTask abort/complete bad refcounting (CASSANDRA-8815)
* Fix AssertionError when querying a DESC clustering ordered
table with ASC ordering and paging (CASSANDRA-8767)
* AssertionError: "Memory was freed" when running cleanup (CASSANDRA-8716)
* Make it possible to set max_sstable_age to fractional days (CASSANDRA-8406)
* Fix some multi-column relations with indexes on some clustering
columns (CASSANDRA-8275)
* Fix memory leak in SSTableSimple*Writer and SSTableReader.validate()
(CASSANDRA-8748)
* Throw OOM if allocating memory fails to return a valid pointer (CASSANDRA-8726)
* Fix SSTableSimpleUnsortedWriter ConcurrentModificationException (CASSANDRA-8619)
* 'nodetool info' prints exception against older node (CASSANDRA-8796)
* Ensure SSTableSimpleUnsortedWriter.close() terminates if
disk writer has crashed (CASSANDRA-8807)
2.1.4
* Bind JMX to localhost unless explicitly configured otherwise (CASSANDRA-9085)
2.1.3
* Fix HSHA/offheap_objects corruption (CASSANDRA-8719)
* Upgrade libthrift to 0.9.2 (CASSANDRA-8685)
* Don't use the shared ref in sstableloader (CASSANDRA-8704)
* Purge internal prepared statements if related tables or
keyspaces are dropped (CASSANDRA-8693)
* (cqlsh) Handle unicode BOM at start of files (CASSANDRA-8638)
* Stop compactions before exiting offline tools (CASSANDRA-8623)
* Update tools/stress/README.txt to match current behaviour (CASSANDRA-7933)
* Fix schema from Thrift conversion with empty metadata (CASSANDRA-8695)
* Safer Resource Management (CASSANDRA-7705)
* Make sure we compact highly overlapping cold sstables with
STCS (CASSANDRA-8635)
* rpc_interface and listen_interface generate NPE on startup when specified
interface doesn't exist (CASSANDRA-8677)
* Fix ArrayIndexOutOfBoundsException in nodetool cfhistograms (CASSANDRA-8514)
* Switch from yammer metrics for nodetool cf/proxy histograms (CASSANDRA-8662)
* Make sure we don't add tmplink files to the compaction
strategy (CASSANDRA-8580)
* (cqlsh) Handle maps with blob keys (CASSANDRA-8372)
* (cqlsh) Handle DynamicCompositeType schemas correctly (CASSANDRA-8563)
* Duplicate rows returned when in clause has repeated values (CASSANDRA-6706)
* Add tooling to detect hot partitions (CASSANDRA-7974)
* Fix cassandra-stress user-mode truncation of partition generation (CASSANDRA-8608)
* Only stream from unrepaired sstables during inc repair (CASSANDRA-8267)
* Don't allow starting multiple inc repairs on the same sstables (CASSANDRA-8316)
* Invalidate prepared BATCH statements when related tables
or keyspaces are dropped (CASSANDRA-8652)
* Fix missing results in secondary index queries on collections
with ALLOW FILTERING (CASSANDRA-8421)
* Expose EstimatedHistogram metrics for range slices (CASSANDRA-8627)
* (cqlsh) Escape clqshrc passwords properly (CASSANDRA-8618)
* Fix NPE when passing wrong argument in ALTER TABLE statement (CASSANDRA-8355)
* Pig: Refactor and deprecate CqlStorage (CASSANDRA-8599)
* Don't reuse the same cleanup strategy for all sstables (CASSANDRA-8537)
* Fix case-sensitivity of index name on CREATE and DROP INDEX
statements (CASSANDRA-8365)
* Better detection/logging for corruption in compressed sstables (CASSANDRA-8192)
* Use the correct repairedAt value when closing writer (CASSANDRA-8570)
* (cqlsh) Handle a schema mismatch being detected on startup (CASSANDRA-8512)
* Properly calculate expected write size during compaction (CASSANDRA-8532)
* Invalidate affected prepared statements when a table's columns
are altered (CASSANDRA-7910)
* Stress - user defined writes should populate sequentally (CASSANDRA-8524)
* Fix regression in SSTableRewriter causing some rows to become unreadable
during compaction (CASSANDRA-8429)
* Run major compactions for repaired/unrepaired in parallel (CASSANDRA-8510)
* (cqlsh) Fix compression options in DESCRIBE TABLE output when compression
is disabled (CASSANDRA-8288)
* (cqlsh) Fix DESCRIBE output after keyspaces are altered (CASSANDRA-7623)
* Make sure we set lastCompactedKey correctly (CASSANDRA-8463)
* (cqlsh) Fix output of CONSISTENCY command (CASSANDRA-8507)
* (cqlsh) Fixed the handling of LIST statements (CASSANDRA-8370)
* Make sstablescrub check leveled manifest again (CASSANDRA-8432)
* Check first/last keys in sstable when giving out positions (CASSANDRA-8458)
* Disable mmap on Windows (CASSANDRA-6993)
* Add missing ConsistencyLevels to cassandra-stress (CASSANDRA-8253)
* Add auth support to cassandra-stress (CASSANDRA-7985)
* Fix ArrayIndexOutOfBoundsException when generating error message
for some CQL syntax errors (CASSANDRA-8455)
* Scale memtable slab allocation logarithmically (CASSANDRA-7882)
* cassandra-stress simultaneous inserts over same seed (CASSANDRA-7964)
* Reduce cassandra-stress sampling memory requirements (CASSANDRA-7926)
* Ensure memtable flush cannot expire commit log entries from its future (CASSANDRA-8383)
* Make read "defrag" async to reclaim memtables (CASSANDRA-8459)
* Remove tmplink files for offline compactions (CASSANDRA-8321)
* Reduce maxHintsInProgress (CASSANDRA-8415)
* BTree updates may call provided update function twice (CASSANDRA-8018)
* Release sstable references after anticompaction (CASSANDRA-8386)
* Handle abort() in SSTableRewriter properly (CASSANDRA-8320)
* Centralize shared executors (CASSANDRA-8055)
* Fix filtering for CONTAINS (KEY) relations on frozen collection
clustering columns when the query is restricted to a single
partition (CASSANDRA-8203)
* Do more aggressive entire-sstable TTL expiry checks (CASSANDRA-8243)
* Add more log info if readMeter is null (CASSANDRA-8238)
* add check of the system wall clock time at startup (CASSANDRA-8305)
* Support for frozen collections (CASSANDRA-7859)
* Fix overflow on histogram computation (CASSANDRA-8028)
* Have paxos reuse the timestamp generation of normal queries (CASSANDRA-7801)
* Fix incremental repair not remove parent session on remote (CASSANDRA-8291)
* Improve JBOD disk utilization (CASSANDRA-7386)
* Log failed host when preparing incremental repair (CASSANDRA-8228)
* Force config client mode in CQLSSTableWriter (CASSANDRA-8281)
* Fix sstableupgrade throws exception (CASSANDRA-8688)
* Fix hang when repairing empty keyspace (CASSANDRA-8694)
Merged from 2.0:
* Fix IllegalArgumentException in dynamic snitch (CASSANDRA-8448)
* Add support for UPDATE ... IF EXISTS (CASSANDRA-8610)
* Fix reversal of list prepends (CASSANDRA-8733)
* Prevent non-zero default_time_to_live on tables with counters
(CASSANDRA-8678)
* Fix SSTableSimpleUnsortedWriter ConcurrentModificationException
(CASSANDRA-8619)
* Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
* Add batch remove iterator to ABSC (CASSANDRA-8414, 8666)
* Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
* Fix isClientMode check in Keyspace (CASSANDRA-8687)
* Use more efficient slice size for querying internal secondary
index tables (CASSANDRA-8550)
* Fix potentially returning deleted rows with range tombstone (CASSANDRA-8558)
* Check for available disk space before starting a compaction (CASSANDRA-8562)
* Fix DISTINCT queries with LIMITs or paging when some partitions
contain only tombstones (CASSANDRA-8490)
* Introduce background cache refreshing to permissions cache
(CASSANDRA-8194)
* Fix race condition in StreamTransferTask that could lead to
infinite loops and premature sstable deletion (CASSANDRA-7704)
* Add an extra version check to MigrationTask (CASSANDRA-8462)
* Ensure SSTableWriter cleans up properly after failure (CASSANDRA-8499)
* Increase bf true positive count on key cache hit (CASSANDRA-8525)
* Move MeteredFlusher to its own thread (CASSANDRA-8485)
* Fix non-distinct results in DISTNCT queries on static columns when
paging is enabled (CASSANDRA-8087)
* Move all hints related tasks to hints internal executor (CASSANDRA-8285)
* Fix paging for multi-partition IN queries (CASSANDRA-8408)
* Fix MOVED_NODE topology event never being emitted when a node
moves its token (CASSANDRA-8373)
* Fix validation of indexes in COMPACT tables (CASSANDRA-8156)
* Avoid StackOverflowError when a large list of IN values
is used for a clustering column (CASSANDRA-8410)
* Fix NPE when writetime() or ttl() calls are wrapped by
another function call (CASSANDRA-8451)
* Fix NPE after dropping a keyspace (CASSANDRA-8332)
* Fix error message on read repair timeouts (CASSANDRA-7947)
* Default DTCS base_time_seconds changed to 60 (CASSANDRA-8417)
* Refuse Paxos operation with more than one pending endpoint (CASSANDRA-8346, 8640)
* Throw correct exception when trying to bind a keyspace or table
name (CASSANDRA-6952)
* Make HHOM.compact synchronized (CASSANDRA-8416)
* cancel latency-sampling task when CF is dropped (CASSANDRA-8401)
* don't block SocketThread for MessagingService (CASSANDRA-8188)
* Increase quarantine delay on replacement (CASSANDRA-8260)
* Expose off-heap memory usage stats (CASSANDRA-7897)
* Ignore Paxos commits for truncated tables (CASSANDRA-7538)
* Validate size of indexed column values (CASSANDRA-8280)
* Make LCS split compaction results over all data directories (CASSANDRA-8329)
* Fix some failing queries that use multi-column relations
on COMPACT STORAGE tables (CASSANDRA-8264)
* Fix InvalidRequestException with ORDER BY (CASSANDRA-8286)
* Disable SSLv3 for POODLE (CASSANDRA-8265)
* Fix millisecond timestamps in Tracing (CASSANDRA-8297)
* Include keyspace name in error message when there are insufficient
live nodes to stream from (CASSANDRA-8221)
* Avoid overlap in L1 when L0 contains many nonoverlapping
sstables (CASSANDRA-8211)
* Improve PropertyFileSnitch logging (CASSANDRA-8183)
* Add DC-aware sequential repair (CASSANDRA-8193)
* Use live sstables in snapshot repair if possible (CASSANDRA-8312)
* Fix hints serialized size calculation (CASSANDRA-8587)
2.1.2
* (cqlsh) parse_for_table_meta errors out on queries with undefined
grammars (CASSANDRA-8262)
* (cqlsh) Fix SELECT ... TOKEN() function broken in C* 2.1.1 (CASSANDRA-8258)
* Fix Cassandra crash when running on JDK8 update 40 (CASSANDRA-8209)
* Optimize partitioner tokens (CASSANDRA-8230)
* Improve compaction of repaired/unrepaired sstables (CASSANDRA-8004)
* Make cache serializers pluggable (CASSANDRA-8096)
* Fix issues with CONTAINS (KEY) queries on secondary indexes
(CASSANDRA-8147)
* Fix read-rate tracking of sstables for some queries (CASSANDRA-8239)
* Fix default timestamp in QueryOptions (CASSANDRA-8246)
* Set socket timeout when reading remote version (CASSANDRA-8188)
* Refactor how we track live size (CASSANDRA-7852)
* Make sure unfinished compaction files are removed (CASSANDRA-8124)
* Fix shutdown when run as Windows service (CASSANDRA-8136)
* Fix DESCRIBE TABLE with custom indexes (CASSANDRA-8031)
* Fix race in RecoveryManagerTest (CASSANDRA-8176)
* Avoid IllegalArgumentException while sorting sstables in
IndexSummaryManager (CASSANDRA-8182)
* Shutdown JVM on file descriptor exhaustion (CASSANDRA-7579)
* Add 'die' policy for commit log and disk failure (CASSANDRA-7927)
* Fix installing as service on Windows (CASSANDRA-8115)
* Fix CREATE TABLE for CQL2 (CASSANDRA-8144)
* Avoid boxing in ColumnStats min/max trackers (CASSANDRA-8109)
Merged from 2.0:
* Correctly handle non-text column names in cql3 (CASSANDRA-8178)
* Fix deletion for indexes on primary key columns (CASSANDRA-8206)
* Add 'nodetool statusgossip' (CASSANDRA-8125)
* Improve client notification that nodes are ready for requests (CASSANDRA-7510)
* Handle negative timestamp in writetime method (CASSANDRA-8139)
* Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)
* Throw ConfigurationException when hsha is used with the default
rpc_max_threads setting of 'unlimited' (CASSANDRA-8116)
* Allow concurrent writing of the same table in the same JVM using
CQLSSTableWriter (CASSANDRA-7463)
* Fix totalDiskSpaceUsed calculation (CASSANDRA-8205)
2.1.1
* Fix spin loop in AtomicSortedColumns (CASSANDRA-7546)
* Dont notify when replacing tmplink files (CASSANDRA-8157)
* Fix validation with multiple CONTAINS clause (CASSANDRA-8131)
* Fix validation of collections in TriggerExecutor (CASSANDRA-8146)
* Fix IllegalArgumentException when a list of IN values containing tuples
is passed as a single arg to a prepared statement with the v1 or v2
protocol (CASSANDRA-8062)
* Fix ClassCastException in DISTINCT query on static columns with
query paging (CASSANDRA-8108)
* Fix NPE on null nested UDT inside a set (CASSANDRA-8105)
* Fix exception when querying secondary index on set items or map keys
when some clustering columns are specified (CASSANDRA-8073)
* Send proper error response when there is an error during native
protocol message decode (CASSANDRA-8118)
* Gossip should ignore generation numbers too far in the future (CASSANDRA-8113)
* Fix NPE when creating a table with frozen sets, lists (CASSANDRA-8104)
* Fix high memory use due to tracking reads on incrementally opened sstable
readers (CASSANDRA-8066)
* Fix EXECUTE request with skipMetadata=false returning no metadata
(CASSANDRA-8054)
* Allow concurrent use of CQLBulkOutputFormat (CASSANDRA-7776)
* Shutdown JVM on OOM (CASSANDRA-7507)
* Upgrade netty version and enable epoll event loop (CASSANDRA-7761)
* Don't duplicate sstables smaller than split size when using
the sstablesplitter tool (CASSANDRA-7616)
* Avoid re-parsing already prepared statements (CASSANDRA-7923)
* Fix some Thrift slice deletions and updates of COMPACT STORAGE
tables with some clustering columns omitted (CASSANDRA-7990)
* Fix filtering for CONTAINS on sets (CASSANDRA-8033)
* Properly track added size (CASSANDRA-7239)
* Allow compilation in java 8 (CASSANDRA-7208)
* Fix Assertion error on RangeTombstoneList diff (CASSANDRA-8013)
* Release references to overlapping sstables during compaction (CASSANDRA-7819)
* Send notification when opening compaction results early (CASSANDRA-8034)
* Make native server start block until properly bound (CASSANDRA-7885)
* (cqlsh) Fix IPv6 support (CASSANDRA-7988)
* Ignore fat clients when checking for endpoint collision (CASSANDRA-7939)
* Make sstablerepairedset take a list of files (CASSANDRA-7995)
* (cqlsh) Tab completeion for indexes on map keys (CASSANDRA-7972)
* (cqlsh) Fix UDT field selection in select clause (CASSANDRA-7891)
* Fix resource leak in event of corrupt sstable
* (cqlsh) Add command line option for cqlshrc file path (CASSANDRA-7131)
* Provide visibility into prepared statements churn (CASSANDRA-7921, CASSANDRA-7930)
* Invalidate prepared statements when their keyspace or table is
dropped (CASSANDRA-7566)
* cassandra-stress: fix support for NetworkTopologyStrategy (CASSANDRA-7945)
* Fix saving caches when a table is dropped (CASSANDRA-7784)
* Add better error checking of new stress profile (CASSANDRA-7716)
* Use ThreadLocalRandom and remove FBUtilities.threadLocalRandom (CASSANDRA-7934)
* Prevent operator mistakes due to simultaneous bootstrap (CASSANDRA-7069)
* cassandra-stress supports whitelist mode for node config (CASSANDRA-7658)
* GCInspector more closely tracks GC; cassandra-stress and nodetool report it (CASSANDRA-7916)
* nodetool won't output bogus ownership info without a keyspace (CASSANDRA-7173)
* Add human readable option to nodetool commands (CASSANDRA-5433)
* Don't try to set repairedAt on old sstables (CASSANDRA-7913)
* Add metrics for tracking PreparedStatement use (CASSANDRA-7719)
* (cqlsh) tab-completion for triggers (CASSANDRA-7824)
* (cqlsh) Support for query paging (CASSANDRA-7514)
* (cqlsh) Show progress of COPY operations (CASSANDRA-7789)
* Add syntax to remove multiple elements from a map (CASSANDRA-6599)
* Support non-equals conditions in lightweight transactions (CASSANDRA-6839)
* Add IF [NOT] EXISTS to create/drop triggers (CASSANDRA-7606)
* (cqlsh) Display the current logged-in user (CASSANDRA-7785)
* (cqlsh) Don't ignore CTRL-C during COPY FROM execution (CASSANDRA-7815)
* (cqlsh) Order UDTs according to cross-type dependencies in DESCRIBE
output (CASSANDRA-7659)
* (cqlsh) Fix handling of CAS statement results (CASSANDRA-7671)
* (cqlsh) COPY TO/FROM improvements (CASSANDRA-7405)
* Support list index operations with conditions (CASSANDRA-7499)
* Add max live/tombstoned cells to nodetool cfstats output (CASSANDRA-7731)
* Validate IPv6 wildcard addresses properly (CASSANDRA-7680)
* (cqlsh) Error when tracing query (CASSANDRA-7613)
* Avoid IOOBE when building SyntaxError message snippet (CASSANDRA-7569)
* SSTableExport uses correct validator to create string representation of partition
keys (CASSANDRA-7498)
* Avoid NPEs when receiving type changes for an unknown keyspace (CASSANDRA-7689)
* Add support for custom 2i validation (CASSANDRA-7575)
* Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
* Add duration mode to cassandra-stress (CASSANDRA-7468)
* Add listen_interface and rpc_interface options (CASSANDRA-7417)
* Improve schema merge performance (CASSANDRA-7444)
* Adjust MT depth based on # of partition validating (CASSANDRA-5263)
* Optimise NativeCell comparisons (CASSANDRA-6755)
* Configurable client timeout for cqlsh (CASSANDRA-7516)
* Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
* Make repair -pr work with -local (CASSANDRA-7450)
* Fix error in sstableloader with -cph > 1 (CASSANDRA-8007)
* Fix snapshot repair error on indexed tables (CASSANDRA-8020)
* Do not exit nodetool repair when receiving JMX NOTIF_LOST (CASSANDRA-7909)
* Stream to private IP when available (CASSANDRA-8084)
Merged from 2.0:
* Reject conditions on DELETE unless full PK is given (CASSANDRA-6430)
* Properly reject the token function DELETE (CASSANDRA-7747)
* Force batchlog replay before decommissioning a node (CASSANDRA-7446)
* Fix hint replay with many accumulated expired hints (CASSANDRA-6998)
* Fix duplicate results in DISTINCT queries on static columns with query
paging (CASSANDRA-8108)
* Add DateTieredCompactionStrategy (CASSANDRA-6602)
* Properly validate ascii and utf8 string literals in CQL queries (CASSANDRA-8101)
* (cqlsh) Fix autocompletion for alter keyspace (CASSANDRA-8021)
* Create backup directories for commitlog archiving during startup (CASSANDRA-8111)
* Reduce totalBlockFor() for LOCAL_* consistency levels (CASSANDRA-8058)
* Fix merging schemas with re-dropped keyspaces (CASSANDRA-7256)
* Fix counters in supercolumns during live upgrades from 1.2 (CASSANDRA-7188)
* Notify DT subscribers when a column family is truncated (CASSANDRA-8088)
* Add sanity check of $JAVA on startup (CASSANDRA-7676)
* Schedule fat client schema pull on join (CASSANDRA-7993)
* Don't reset nodes' versions when closing IncomingTcpConnections
(CASSANDRA-7734)
* Record the real messaging version in all cases in OutboundTcpConnection
(CASSANDRA-8057)
* SSL does not work in cassandra-cli (CASSANDRA-7899)
* Fix potential exception when using ReversedType in DynamicCompositeType
(CASSANDRA-7898)
* Better validation of collection values (CASSANDRA-7833)
* Track min/max timestamps correctly (CASSANDRA-7969)
* Fix possible overflow while sorting CL segments for replay (CASSANDRA-7992)
* Increase nodetool Xmx (CASSANDRA-7956)
* Archive any commitlog segments present at startup (CASSANDRA-6904)
* CrcCheckChance should adjust based on live CFMetadata not
sstable metadata (CASSANDRA-7978)
* token() should only accept columns in the partitioning
key order (CASSANDRA-6075)
* Add method to invalidate permission cache via JMX (CASSANDRA-7977)
* Allow propagating multiple gossip states atomically (CASSANDRA-6125)
* Log exceptions related to unclean native protocol client disconnects
at DEBUG or INFO (CASSANDRA-7849)
* Allow permissions cache to be set via JMX (CASSANDRA-7698)
* Include schema_triggers CF in readable system resources (CASSANDRA-7967)
* Fix RowIndexEntry to report correct serializedSize (CASSANDRA-7948)
* Make CQLSSTableWriter sync within partitions (CASSANDRA-7360)
* Potentially use non-local replicas in CqlConfigHelper (CASSANDRA-7906)
* Explicitly disallow mixing multi-column and single-column
relations on clustering columns (CASSANDRA-7711)
* Better error message when condition is set on PK column (CASSANDRA-7804)
* Don't send schema change responses and events for no-op DDL
statements (CASSANDRA-7600)
* (Hadoop) fix cluster initialisation for a split fetching (CASSANDRA-7774)
* Throw InvalidRequestException when queries contain relations on entire
collection columns (CASSANDRA-7506)
* (cqlsh) enable CTRL-R history search with libedit (CASSANDRA-7577)
* (Hadoop) allow ACFRW to limit nodes to local DC (CASSANDRA-7252)
* (cqlsh) cqlsh should automatically disable tracing when selecting
from system_traces (CASSANDRA-7641)
* (Hadoop) Add CqlOutputFormat (CASSANDRA-6927)
* Don't depend on cassandra config for nodetool ring (CASSANDRA-7508)
* (cqlsh) Fix failing cqlsh formatting tests (CASSANDRA-7703)
* Fix IncompatibleClassChangeError from hadoop2 (CASSANDRA-7229)
* Add 'nodetool sethintedhandoffthrottlekb' (CASSANDRA-7635)
* (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS (CASSANDRA-7611)
* Catch errors when the JVM pulls the rug out from GCInspector (CASSANDRA-5345)
* cqlsh fails when version number parts are not int (CASSANDRA-7524)
* Fix NPE when table dropped during streaming (CASSANDRA-7946)
* Fix wrong progress when streaming uncompressed (CASSANDRA-7878)
* Fix possible infinite loop in creating repair range (CASSANDRA-7983)
* Fix unit in nodetool for streaming throughput (CASSANDRA-7375)
Merged from 1.2:
* Don't index tombstones (CASSANDRA-7828)
* Improve PasswordAuthenticator default super user setup (CASSANDRA-7788)
2.1.0
* (cqlsh) Removed "ALTER TYPE <name> RENAME TO <name>" from tab-completion
(CASSANDRA-7895)
* Fixed IllegalStateException in anticompaction (CASSANDRA-7892)
* cqlsh: DESCRIBE support for frozen UDTs, tuples (CASSANDRA-7863)
* Avoid exposing internal classes over JMX (CASSANDRA-7879)
* Add null check for keys when freezing collection (CASSANDRA-7869)
* Improve stress workload realism (CASSANDRA-7519)
Merged from 2.0:
* Configure system.paxos with LeveledCompactionStrategy (CASSANDRA-7753)
* Fix ALTER clustering column type from DateType to TimestampType when
using DESC clustering order (CASSANRDA-7797)
* Throw EOFException if we run out of chunks in compressed datafile
(CASSANDRA-7664)
* Fix PRSI handling of CQL3 row markers for row cleanup (CASSANDRA-7787)
* Fix dropping collection when it's the last regular column (CASSANDRA-7744)
* Make StreamReceiveTask thread safe and gc friendly (CASSANDRA-7795)
* Validate empty cell names from counter updates (CASSANDRA-7798)
Merged from 1.2:
* Don't allow compacted sstables to be marked as compacting (CASSANDRA-7145)
* Track expired tombstones (CASSANDRA-7810)
2.1.0-rc7
* Add frozen keyword and require UDT to be frozen (CASSANDRA-7857)
* Track added sstable size correctly (CASSANDRA-7239)
* (cqlsh) Fix case insensitivity (CASSANDRA-7834)
* Fix failure to stream ranges when moving (CASSANDRA-7836)
* Correctly remove tmplink files (CASSANDRA-7803)
* (cqlsh) Fix column name formatting for functions, CAS operations,
and UDT field selections (CASSANDRA-7806)
* (cqlsh) Fix COPY FROM handling of null/empty primary key
values (CASSANDRA-7792)
* Fix ordering of static cells (CASSANDRA-7763)
Merged from 2.0:
* Forbid re-adding dropped counter columns (CASSANDRA-7831)
* Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832)
* Always reject inequality on the partition key without token()
(CASSANDRA-7722)
* Always send Paxos commit to all replicas (CASSANDRA-7479)
* Make disruptor_thrift_server invocation pool configurable (CASSANDRA-7594)
* Make repair no-op when RF=1 (CASSANDRA-7864)
2.1.0-rc6
* Fix OOM issue from netty caching over time (CASSANDRA-7743)
* json2sstable couldn't import JSON for CQL table (CASSANDRA-7477)
* Invalidate all caches on table drop (CASSANDRA-7561)
* Skip strict endpoint selection for ranges if RF == nodes (CASSANRA-7765)
* Fix Thrift range filtering without 2ary index lookups (CASSANDRA-7741)
* Add tracing entries about concurrent range requests (CASSANDRA-7599)
* (cqlsh) Fix DESCRIBE for NTS keyspaces (CASSANDRA-7729)
* Remove netty buffer ref-counting (CASSANDRA-7735)
* Pass mutated cf to index updater for use by PRSI (CASSANDRA-7742)
* Include stress yaml example in release and deb (CASSANDRA-7717)
* workaround for netty issue causing corrupted data off the wire (CASSANDRA-7695)
* cqlsh DESC CLUSTER fails retrieving ring information (CASSANDRA-7687)
* Fix binding null values inside UDT (CASSANDRA-7685)
* Fix UDT field selection with empty fields (CASSANDRA-7670)
* Bogus deserialization of static cells from sstable (CASSANDRA-7684)
* Fix NPE on compaction leftover cleanup for dropped table (CASSANDRA-7770)
Merged from 2.0:
* Fix race condition in StreamTransferTask that could lead to
infinite loops and premature sstable deletion (CASSANDRA-7704)
* (cqlsh) Wait up to 10 sec for a tracing session (CASSANDRA-7222)
* Fix NPE in FileCacheService.sizeInBytes (CASSANDRA-7756)
* Remove duplicates from StorageService.getJoiningNodes (CASSANDRA-7478)
* Clone token map outside of hot gossip loops (CASSANDRA-7758)
* Fix MS expiring map timeout for Paxos messages (CASSANDRA-7752)
* Do not flush on truncate if durable_writes is false (CASSANDRA-7750)
* Give CRR a default input_cql Statement (CASSANDRA-7226)
* Better error message when adding a collection with the same name
than a previously dropped one (CASSANDRA-6276)
* Fix validation when adding static columns (CASSANDRA-7730)
* (Thrift) fix range deletion of supercolumns (CASSANDRA-7733)
* Fix potential AssertionError in RangeTombstoneList (CASSANDRA-7700)
* Validate arguments of blobAs* functions (CASSANDRA-7707)
* Fix potential AssertionError with 2ndary indexes (CASSANDRA-6612)
* Avoid logging CompactionInterrupted at ERROR (CASSANDRA-7694)
* Minor leak in sstable2jon (CASSANDRA-7709)
* Add cassandra.auto_bootstrap system property (CASSANDRA-7650)
* Update java driver (for hadoop) (CASSANDRA-7618)
* Remove CqlPagingRecordReader/CqlPagingInputFormat (CASSANDRA-7570)
* Support connecting to ipv6 jmx with nodetool (CASSANDRA-7669)