forked from apache/cassandra
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
3181 lines (2997 loc) · 170 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
2.1
* change logging from log4j to logback (CASSANDRA-5883)
* switch to LZ4 compression for internode communication (CASSANDRA-5887)
* Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
* Remove 1.2 network compatibility code (CASSANDRA-5960)
* Remove leveled json manifest migration code (CASSANDRA-5996)
2.0.2
* Improve memory usage of metadata min/max column names (CASSANDRA-6077)
* Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081)
* Fix insertion of collections with CAS (CASSANDRA-6069)
* Correctly send metadata on SELECT COUNT (CASSANDRA-6080)
* Track clients' remote addresses in ClientState (CASSANDRA-6070)
Merged from 1.2:
* Start MeteredFlusher earlier to prevent OOM during CL replay (CASSANDRA-6087)
* Avoid sending Truncate command to fat clients (CASSANDRA-6088)
* Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
* Allow where clause conditions to be in parenthesis (CASSANDRA-6037)
* Do not open non-ssl storage port if encryption option is all (CASSANDRA-3916)
* Move batchlog replay to its own executor (CASSANDRA-6079)
* Add tombstone debug threshold and histogram (CASSANDRA-6042, 6057)
* Enable tcp keepalive on incoming connections (CASSANDRA-4053)
2.0.1
* Fix bug that could allow reading deleted data temporarily (CASSANDRA-6025)
* Improve memory use defaults (CASSANDRA-5069)
* Make ThriftServer more easlly extensible (CASSANDRA-6058)
* Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062)
* add file_cache_size_in_mb setting (CASSANDRA-5661)
* Improve error message when yaml contains invalid properties (CASSANDRA-5958)
* Improve leveled compaction's ability to find non-overlapping L0 compactions
to work on concurrently (CASSANDRA-5921)
* Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
* Log Merkle tree stats (CASSANDRA-2698)
* Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862)
* Improve offheap memcpy performance (CASSANDRA-5884)
* Use a range aware scanner for cleanup (CASSANDRA-2524)
* Cleanup doesn't need to inspect sstables that contain only local data
(CASSANDRA-5722)
* Add ability for CQL3 to list partition keys (CASSANDRA-4536)
* Improve native protocol serialization (CASSANDRA-5664)
* Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
* Require superuser status for adding triggers (CASSANDRA-5963)
* Make standalone scrubber handle old and new style leveled manifest
(CASSANDRA-6005)
* Fix paxos bugs (CASSANDRA-6012, 6013, 6023)
* Fix paged ranges with multiple replicas (CASSANDRA-6004)
* Fix potential AssertionError during tracing (CASSANDRA-6041)
* Fix NPE in sstablesplit (CASSANDRA-6027)
* Migrate pre-2.0 key/value/column aliases to system.schema_columns
(CASSANDRA-6009)
* Paging filter empty rows too agressively (CASSANDRA-6040)
* Support variadic parameters for IN clauses (CASSANDRA-4210)
* cqlsh: return the result of CAS writes (CASSANDRA-5796)
* Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
* Support named bind variables in CQL (CASSANDRA-6033)
Merged from 1.2:
* Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
* Avoid second-guessing out-of-space state (CASSANDRA-5605)
* Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)
* (Hadoop) Fix CQLRW for thrift tables (CASSANDRA-6002)
* Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
* Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
* Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)
* Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881)
* Fix CqlRecordWriter with composite keys (CASSANDRA-5949)
* Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881)
* Allow disabling SlabAllocator (CASSANDRA-5935)
* Make user-defined compaction JMX blocking (CASSANDRA-4952)
* Fix streaming does not transfer wrapped range (CASSANDRA-5948)
* Fix loading index summary containing empty key (CASSANDRA-5965)
* Correctly handle limits in CompositesSearcher (CASSANDRA-5975)
* Pig: handle CQL collections (CASSANDRA-5867)
* Pass the updated cf to the PRSI index() method (CASSANDRA-5999)
* Allow empty CQL3 batches (as no-op) (CASSANDRA-5994)
* Support null in CQL3 functions (CASSANDRA-5910)
* Replace the deprecated MapMaker with CacheLoader (CASSANDRA-6007)
* Add SSTableDeletingNotification to DataTracker (CASSANDRA-6010)
* Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011)
* Move hints and exception count to o.a.c.metrics (CASSANDRA-6017)
* Fix memory leak in snapshot repair (CASSANDRA-6047)
* Fix sstable2sjon for CQL3 tables (CASSANDRA-5852)
2.0.0
* Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138)
* Fix periodic memtable flushing behavior with clean memtables (CASSANDRA-5931)
* Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928)
* Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938)
* Add stream session progress to JMX (CASSANDRA-4757)
* Fix NPE during CAS operation (CASSANDRA-5925)
Merged from 1.2:
* Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900)
* Don't announce schema version until we've loaded the changes locally
(CASSANDRA-5904)
* Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903)
* Properly handle parsing huge map and set literals (CASSANDRA-5893)
2.0.0-rc2
* enable vnodes by default (CASSANDRA-5869)
* fix CAS contention timeout (CASSANDRA-5830)
* fix HsHa to respect max frame size (CASSANDRA-4573)
* Fix (some) 2i on composite components omissions (CASSANDRA-5851)
* cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880)
Merged from 1.2:
* Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
* Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868)
* cqlsh: add support for multiline comments (CASSANDRA-5798)
* Handle CQL3 SELECT duplicate IN restrictions on clustering columns
(CASSANDRA-5856)
2.0.0-rc1
* improve DecimalSerializer performance (CASSANDRA-5837)
* fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690)
* fix schema-related trigger issues (CASSANDRA-5774)
* Better validation when accessing CQL3 table from thrift (CASSANDRA-5138)
* Fix assertion error during repair (CASSANDRA-5801)
* Fix range tombstone bug (CASSANDRA-5805)
* DC-local CAS (CASSANDRA-5797)
* Add a native_protocol_version column to the system.local table (CASSANRDA-5819)
* Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822)
* Fix buffer underflow on socket close (CASSANDRA-5792)
Merged from 1.2:
* Fix reading DeletionTime from 1.1-format sstables (CASSANDRA-5814)
* cqlsh: add collections support to COPY (CASSANDRA-5698)
* retry important messages for any IOException (CASSANDRA-5804)
* Allow empty IN relations in SELECT/UPDATE/DELETE statements (CASSANDRA-5626)
* cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812)
* fix bulk-loading compressed sstables (CASSANDRA-5820)
* (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter
(CASSANDRA-5824)
* update default LCS sstable size to 160MB (CASSANDRA-5727)
* Allow compacting 2Is via nodetool (CASSANDRA-5670)
* Hex-encode non-String keys in OPP (CASSANDRA-5793)
* nodetool history logging (CASSANDRA-5823)
* (Hadoop) fix support for Thrift tables in CqlPagingRecordReader
(CASSANDRA-5752)
* add "all time blocked" to StatusLogger output (CASSANDRA-5825)
* Future-proof inter-major-version schema migrations (CASSANDRA-5845)
* (Hadoop) add CqlPagingRecordReader support for ReversedType in Thrift table
(CASSANDRA-5718)
* Add -no-snapshot option to scrub (CASSANDRA-5891)
* Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903)
* Properly handle parsing huge map and set literals (CASSANDRA-5893)
* Fix LCS L0 compaction may overlap in L1 (CASSANDRA-5907)
* New sstablesplit tool to split large sstables offline (CASSANDRA-4766)
* Fix potential deadlock in native protocol server (CASSANDRA-5926)
* Disallow incompatible type change in CQL3 (CASSANDRA-5882)
Merged from 1.1:
* Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
2.0.0-beta2
* Replace countPendingHints with Hints Created metric (CASSANDRA-5746)
* Allow nodetool with no args, and with help to run without a server (CASSANDRA-5734)
* Cleanup AbstractType/TypeSerializer classes (CASSANDRA-5744)
* Remove unimplemented cli option schema-mwt (CASSANDRA-5754)
* Support range tombstones in thrift (CASSANDRA-5435)
* Normalize table-manipulating CQL3 statements' class names (CASSANDRA-5759)
* cqlsh: add missing table options to DESCRIBE output (CASSANDRA-5749)
* Fix assertion error during repair (CASSANDRA-5757)
* Fix bulkloader (CASSANDRA-5542)
* Add LZ4 compression to the native protocol (CASSANDRA-5765)
* Fix bugs in the native protocol v2 (CASSANDRA-5770)
* CAS on 'primary key only' table (CASSANDRA-5715)
* Support streaming SSTables of old versions (CASSANDRA-5772)
* Always respect protocol version in native protocol (CASSANDRA-5778)
* Fix ConcurrentModificationException during streaming (CASSANDRA-5782)
* Update deletion timestamp in Commit#updatesWithPaxosTime (CASSANDRA-5787)
* Thrift cas() method crashes if input columns are not sorted (CASSANDRA-5786)
* Order columns names correctly when querying for CAS (CASSANDRA-5788)
* Fix streaming retry (CASSANDRA-5775)
Merged from 1.2:
* if no seeds can be a reached a node won't start in a ring by itself (CASSANDRA-5768)
* add cassandra.unsafesystem property (CASSANDRA-5704)
* (Hadoop) quote identifiers in CqlPagingRecordReader (CASSANDRA-5763)
* Add replace_node functionality for vnodes (CASSANDRA-5337)
* Add timeout events to query traces (CASSANDRA-5520)
* Fix serialization of the LEFT gossip value (CASSANDRA-5696)
* Expose native protocol server status in nodetool info (CASSANDRA-5735)
* Fix pathetic performance of range tombstones (CASSANDRA-5677)
* Fix querying with an empty (impossible) range (CASSANDRA-5573)
* cqlsh: handle CUSTOM 2i in DESCRIBE output (CASSANDRA-5760)
* Fix minor bug in Range.intersects(Bound) (CASSANDRA-5771)
* cqlsh: handle disabled compression in DESCRIBE output (CASSANDRA-5766)
* Ensure all UP events are notified on the native protocol (CASSANDRA-5769)
* Fix formatting of sstable2json with multiple -k arguments (CASSANDRA-5781)
* Don't rely on row marker for queries in general to hide lost markers
after TTL expires (CASSANDRA-5762)
* Sort nodetool help output (CASSANDRA-5776)
* Fix column expiring during 2 phases compaction (CASSANDRA-5799)
* now() is being rejected in INSERTs when inside collections (CASSANDRA-5795)
2.0.0-beta1
* Removed on-heap row cache (CASSANDRA-5348)
* use nanotime consistently for node-local timeouts (CASSANDRA-5581)
* Avoid unnecessary second pass on name-based queries (CASSANDRA-5577)
* Experimental triggers (CASSANDRA-1311)
* JEMalloc support for off-heap allocation (CASSANDRA-3997)
* Single-pass compaction (CASSANDRA-4180)
* Removed token range bisection (CASSANDRA-5518)
* Removed compatibility with pre-1.2.5 sstables and network messages
(CASSANDRA-5511)
* removed PBSPredictor (CASSANDRA-5455)
* CAS support (CASSANDRA-5062, 5441, 5442, 5443, 5619, 5667)
* Leveled compaction performs size-tiered compactions in L0
(CASSANDRA-5371, 5439)
* Add yaml network topology snitch for mixed ec2/other envs (CASSANDRA-5339)
* Log when a node is down longer than the hint window (CASSANDRA-4554)
* Optimize tombstone creation for ExpiringColumns (CASSANDRA-4917)
* Improve LeveledScanner work estimation (CASSANDRA-5250, 5407)
* Replace compaction lock with runWithCompactionsDisabled (CASSANDRA-3430)
* Change Message IDs to ints (CASSANDRA-5307)
* Move sstable level information into the Stats component, removing the
need for a separate Manifest file (CASSANDRA-4872)
* avoid serializing to byte[] on commitlog append (CASSANDRA-5199)
* make index_interval configurable per columnfamily (CASSANDRA-3961, CASSANDRA-5650)
* add default_time_to_live (CASSANDRA-3974)
* add memtable_flush_period_in_ms (CASSANDRA-4237)
* replace supercolumns internally by composites (CASSANDRA-3237, 5123)
* upgrade thrift to 0.9.0 (CASSANDRA-3719)
* drop unnecessary keyspace parameter from user-defined compaction API
(CASSANDRA-5139)
* more robust solution to incomplete compactions + counters (CASSANDRA-5151)
* Change order of directory searching for c*.in.sh (CASSANDRA-3983)
* Add tool to reset SSTable compaction level for LCS (CASSANDRA-5271)
* Allow custom configuration loader (CASSANDRA-5045)
* Remove memory emergency pressure valve logic (CASSANDRA-3534)
* Reduce request latency with eager retry (CASSANDRA-4705)
* cqlsh: Remove ASSUME command (CASSANDRA-5331)
* Rebuild BF when loading sstables if bloom_filter_fp_chance
has changed since compaction (CASSANDRA-5015)
* remove row-level bloom filters (CASSANDRA-4885)
* Change Kernel Page Cache skipping into row preheating (disabled by default)
(CASSANDRA-4937)
* Improve repair by deciding on a gcBefore before sending
out TreeRequests (CASSANDRA-4932)
* Add an official way to disable compactions (CASSANDRA-5074)
* Reenable ALTER TABLE DROP with new semantics (CASSANDRA-3919)
* Add binary protocol versioning (CASSANDRA-5436)
* Swap THshaServer for TThreadedSelectorServer (CASSANDRA-5530)
* Add alias support to SELECT statement (CASSANDRA-5075)
* Don't create empty RowMutations in CommitLogReplayer (CASSANDRA-5541)
* Use range tombstones when dropping cfs/columns from schema (CASSANDRA-5579)
* cqlsh: drop CQL2/CQL3-beta support (CASSANDRA-5585)
* Track max/min column names in sstables to be able to optimize slice
queries (CASSANDRA-5514, CASSANDRA-5595, CASSANDRA-5600)
* Binary protocol: allow batching already prepared statements (CASSANDRA-4693)
* Allow preparing timestamp, ttl and limit in CQL3 queries (CASSANDRA-4450)
* Support native link w/o JNA in Java7 (CASSANDRA-3734)
* Use SASL authentication in binary protocol v2 (CASSANDRA-5545)
* Replace Thrift HsHa with LMAX Disruptor based implementation (CASSANDRA-5582)
* cqlsh: Add row count to SELECT output (CASSANDRA-5636)
* Include a timestamp with all read commands to determine column expiration
(CASSANDRA-5149)
* Streaming 2.0 (CASSANDRA-5286, 5699)
* Conditional create/drop ks/table/index statements in CQL3 (CASSANDRA-2737)
* more pre-table creation property validation (CASSANDRA-5693)
* Redesign repair messages (CASSANDRA-5426)
* Fix ALTER RENAME post-5125 (CASSANDRA-5702)
* Disallow renaming a 2ndary indexed column (CASSANDRA-5705)
* Rename Table to Keyspace (CASSANDRA-5613)
* Ensure changing column_index_size_in_kb on different nodes don't corrupt the
sstable (CASSANDRA-5454)
* Move resultset type information into prepare, not execute (CASSANDRA-5649)
* Auto paging in binary protocol (CASSANDRA-4415, 5714)
* Don't tie client side use of AbstractType to JDBC (CASSANDRA-4495)
* Adds new TimestampType to replace DateType (CASSANDRA-5723, CASSANDRA-5729)
Merged from 1.2:
* make starting native protocol server idempotent (CASSANDRA-5728)
* Fix loading key cache when a saved entry is no longer valid (CASSANDRA-5706)
* Fix serialization of the LEFT gossip value (CASSANDRA-5696)
* cqlsh: Don't show 'null' in place of empty values (CASSANDRA-5675)
* Race condition in detecting version on a mixed 1.1/1.2 cluster
(CASSANDRA-5692)
* Fix skipping range tombstones with reverse queries (CASSANDRA-5712)
* Expire entries out of ThriftSessionManager (CASSANRDA-5719)
* Don't keep ancestor information in memory (CASSANDRA-5342)
* cqlsh: fix handling of semicolons inside BATCH queries (CASSANDRA-5697)
1.2.6
* Fix tracing when operation completes before all responses arrive
(CASSANDRA-5668)
* Fix cross-DC mutation forwarding (CASSANDRA-5632)
* Reduce SSTableLoader memory usage (CASSANDRA-5555)
* Scale hinted_handoff_throttle_in_kb to cluster size (CASSANDRA-5272)
* (Hadoop) Add CQL3 input/output formats (CASSANDRA-4421, 5622)
* (Hadoop) Fix InputKeyRange in CFIF (CASSANDRA-5536)
* Fix dealing with ridiculously large max sstable sizes in LCS (CASSANDRA-5589)
* Ignore pre-truncate hints (CASSANDRA-4655)
* Move System.exit on OOM into a separate thread (CASSANDRA-5273)
* Write row markers when serializing schema (CASSANDRA-5572)
* Check only SSTables for the requested range when streaming (CASSANDRA-5569)
* Improve batchlog replay behavior and hint ttl handling (CASSANDRA-5314)
* Exclude localTimestamp from validation for tombstones (CASSANDRA-5398)
* cqlsh: add custom prompt support (CASSANDRA-5539)
* Reuse prepared statements in hot auth queries (CASSANDRA-5594)
* cqlsh: add vertical output option (see EXPAND) (CASSANDRA-5597)
* Add a rate limit option to stress (CASSANDRA-5004)
* have BulkLoader ignore snapshots directories (CASSANDRA-5587)
* fix SnitchProperties logging context (CASSANDRA-5602)
* Expose whether jna is enabled and memory is locked via JMX (CASSANDRA-5508)
* cqlsh: fix COPY FROM with ReversedType (CASSANDRA-5610)
* Allow creating CUSTOM indexes on collections (CASSANDRA-5615)
* Evaluate now() function at execution time (CASSANDRA-5616)
* Expose detailed read repair metrics (CASSANDRA-5618)
* Correct blob literal + ReversedType parsing (CASSANDRA-5629)
* Allow GPFS to prefer the internal IP like EC2MRS (CASSANDRA-5630)
* fix help text for -tspw cassandra-cli (CASSANDRA-5643)
* don't throw away initial causes exceptions for internode encryption issues
(CASSANDRA-5644)
* Fix message spelling errors for cql select statements (CASSANDRA-5647)
* Suppress custom exceptions thru jmx (CASSANDRA-5652)
* Update CREATE CUSTOM INDEX syntax (CASSANDRA-5639)
* Fix PermissionDetails.equals() method (CASSANDRA-5655)
* Never allow partition key ranges in CQL3 without token() (CASSANDRA-5666)
* Gossiper incorrectly drops AppState for an upgrading node (CASSANDRA-5660)
* Connection thrashing during multi-region ec2 during upgrade, due to
messaging version (CASSANDRA-5669)
* Avoid over reconnecting in EC2MRS (CASSANDRA-5678)
* Fix ReadResponseSerializer.serializedSize() for digest reads (CASSANDRA-5476)
* allow sstable2json on 2i CFs (CASSANDRA-5694)
Merged from 1.1:
* Remove buggy thrift max message length option (CASSANDRA-5529)
* Fix NPE in Pig's widerow mode (CASSANDRA-5488)
* Add split size parameter to Pig and disable split combination (CASSANDRA-5544)
1.2.5
* make BytesToken.toString only return hex bytes (CASSANDRA-5566)
* Ensure that submitBackground enqueues at least one task (CASSANDRA-5554)
* fix 2i updates with identical values and timestamps (CASSANDRA-5540)
* fix compaction throttling bursty-ness (CASSANDRA-4316)
* reduce memory consumption of IndexSummary (CASSANDRA-5506)
* remove per-row column name bloom filters (CASSANDRA-5492)
* Include fatal errors in trace events (CASSANDRA-5447)
* Ensure that PerRowSecondaryIndex is notified of row-level deletes
(CASSANDRA-5445)
* Allow empty blob literals in CQL3 (CASSANDRA-5452)
* Fix streaming RangeTombstones at column index boundary (CASSANDRA-5418)
* Fix preparing statements when current keyspace is not set (CASSANDRA-5468)
* Fix SemanticVersion.isSupportedBy minor/patch handling (CASSANDRA-5496)
* Don't provide oldCfId for post-1.1 system cfs (CASSANDRA-5490)
* Fix primary range ignores replication strategy (CASSANDRA-5424)
* Fix shutdown of binary protocol server (CASSANDRA-5507)
* Fix repair -snapshot not working (CASSANDRA-5512)
* Set isRunning flag later in binary protocol server (CASSANDRA-5467)
* Fix use of CQL3 functions with descending clustering order (CASSANDRA-5472)
* Disallow renaming columns one at a time for thrift table in CQL3
(CASSANDRA-5531)
* cqlsh: add CLUSTERING ORDER BY support to DESCRIBE (CASSANDRA-5528)
* Add custom secondary index support to CQL3 (CASSANDRA-5484)
* Fix repair hanging silently on unexpected error (CASSANDRA-5229)
* Fix Ec2Snitch regression introduced by CASSANDRA-5171 (CASSANDRA-5432)
* Add nodetool enablebackup/disablebackup (CASSANDRA-5556)
* cqlsh: fix DESCRIBE after case insensitive USE (CASSANDRA-5567)
Merged from 1.1
* Remove buggy thrift max message length option (CASSANDRA-5529)
* Add retry mechanism to OTC for non-droppable_verbs (CASSANDRA-5393)
* Use allocator information to improve memtable memory usage estimate
(CASSANDRA-5497)
* Fix trying to load deleted row into row cache on startup (CASSANDRA-4463)
* fsync leveled manifest to avoid corruption (CASSANDRA-5535)
* Fix Bound intersection computation (CASSANDRA-5551)
* sstablescrub now respects max memory size in cassandra.in.sh (CASSANDRA-5562)
1.2.4
* Ensure that PerRowSecondaryIndex updates see the most recent values
(CASSANDRA-5397)
* avoid duplicate index entries ind PrecompactedRow and
ParallelCompactionIterable (CASSANDRA-5395)
* remove the index entry on oldColumn when new column is a tombstone
(CASSANDRA-5395)
* Change default stream throughput from 400 to 200 mbps (CASSANDRA-5036)
* Gossiper logs DOWN for symmetry with UP (CASSANDRA-5187)
* Fix mixing prepared statements between keyspaces (CASSANDRA-5352)
* Fix consistency level during bootstrap - strike 3 (CASSANDRA-5354)
* Fix transposed arguments in AlreadyExistsException (CASSANDRA-5362)
* Improve asynchronous hint delivery (CASSANDRA-5179)
* Fix Guava dependency version (12.0 -> 13.0.1) for Maven (CASSANDRA-5364)
* Validate that provided CQL3 collection value are < 64K (CASSANDRA-5355)
* Make upgradeSSTable skip current version sstables by default (CASSANDRA-5366)
* Optimize min/max timestamp collection (CASSANDRA-5373)
* Invalid streamId in cql binary protocol when using invalid CL
(CASSANDRA-5164)
* Fix validation for IN where clauses with collections (CASSANDRA-5376)
* Copy resultSet on count query to avoid ConcurrentModificationException
(CASSANDRA-5382)
* Correctly typecheck in CQL3 even with ReversedType (CASSANDRA-5386)
* Fix streaming compressed files when using encryption (CASSANDRA-5391)
* cassandra-all 1.2.0 pom missing netty dependency (CASSANDRA-5392)
* Fix writetime/ttl functions on null values (CASSANDRA-5341)
* Fix NPE during cql3 select with token() (CASSANDRA-5404)
* IndexHelper.skipBloomFilters won't skip non-SHA filters (CASSANDRA-5385)
* cqlsh: Print maps ordered by key, sort sets (CASSANDRA-5413)
* Add null syntax support in CQL3 for inserts (CASSANDRA-3783)
* Allow unauthenticated set_keyspace() calls (CASSANDRA-5423)
* Fix potential incremental backups race (CASSANDRA-5410)
* Fix prepared BATCH statements with batch-level timestamps (CASSANDRA-5415)
* Allow overriding superuser setup delay (CASSANDRA-5430)
* cassandra-shuffle with JMX usernames and passwords (CASSANDRA-5431)
Merged from 1.1:
* cli: Quote ks and cf names in schema output when needed (CASSANDRA-5052)
* Fix bad default for min/max timestamp in SSTableMetadata (CASSANDRA-5372)
* Fix cf name extraction from manifest in Directories.migrateFile()
(CASSANDRA-5242)
* Support pluggable internode authentication (CASSANDRA-5401)
1.2.3
* add check for sstable overlap within a level on startup (CASSANDRA-5327)
* replace ipv6 colons in jmx object names (CASSANDRA-5298, 5328)
* Avoid allocating SSTableBoundedScanner during repair when the range does
not intersect the sstable (CASSANDRA-5249)
* Don't lowercase property map keys (this breaks NTS) (CASSANDRA-5292)
* Fix composite comparator with super columns (CASSANDRA-5287)
* Fix insufficient validation of UPDATE queries against counter cfs
(CASSANDRA-5300)
* Fix PropertyFileSnitch default DC/Rack behavior (CASSANDRA-5285)
* Handle null values when executing prepared statement (CASSANDRA-5081)
* Add netty to pom dependencies (CASSANDRA-5181)
* Include type arguments in Thrift CQLPreparedResult (CASSANDRA-5311)
* Fix compaction not removing columns when bf_fp_ratio is 1 (CASSANDRA-5182)
* cli: Warn about missing CQL3 tables in schema descriptions (CASSANDRA-5309)
* Re-enable unknown option in replication/compaction strategies option for
backward compatibility (CASSANDRA-4795)
* Add binary protocol support to stress (CASSANDRA-4993)
* cqlsh: Fix COPY FROM value quoting and null handling (CASSANDRA-5305)
* Fix repair -pr for vnodes (CASSANDRA-5329)
* Relax CL for auth queries for non-default users (CASSANDRA-5310)
* Fix AssertionError during repair (CASSANDRA-5245)
* Don't announce migrations to pre-1.2 nodes (CASSANDRA-5334)
Merged from 1.1:
* Fix trying to load deleted row into row cache on startup (CASSANDRA-4463)
* Update offline scrub for 1.0 -> 1.1 directory structure (CASSANDRA-5195)
* add tmp flag to Descriptor hashcode (CASSANDRA-4021)
* fix logging of "Found table data in data directories" when only system tables
are present (CASSANDRA-5289)
* cli: Add JMX authentication support (CASSANDRA-5080)
* nodetool: ability to repair specific range (CASSANDRA-5280)
* Fix possible assertion triggered in SliceFromReadCommand (CASSANDRA-5284)
* cqlsh: Add inet type support on Windows (ipv4-only) (CASSANDRA-4801)
* Fix race when initializing ColumnFamilyStore (CASSANDRA-5350)
* Add UseTLAB JVM flag (CASSANDRA-5361)
1.2.2
* fix potential for multiple concurrent compactions of the same sstables
(CASSANDRA-5256)
* avoid no-op caching of byte[] on commitlog append (CASSANDRA-5199)
* fix symlinks under data dir not working (CASSANDRA-5185)
* fix bug in compact storage metadata handling (CASSANDRA-5189)
* Validate login for USE queries (CASSANDRA-5207)
* cli: remove default username and password (CASSANDRA-5208)
* configure populate_io_cache_on_flush per-CF (CASSANDRA-4694)
* allow configuration of internode socket buffer (CASSANDRA-3378)
* Make sstable directory picking blacklist-aware again (CASSANDRA-5193)
* Correctly expire gossip states for edge cases (CASSANDRA-5216)
* Improve handling of directory creation failures (CASSANDRA-5196)
* Expose secondary indicies to the rest of nodetool (CASSANDRA-4464)
* Binary protocol: avoid sending notification for 0.0.0.0 (CASSANDRA-5227)
* add UseCondCardMark XX jvm settings on jdk 1.7 (CASSANDRA-4366)
* CQL3 refactor to allow conversion function (CASSANDRA-5226)
* Fix drop of sstables in some circumstance (CASSANDRA-5232)
* Implement caching of authorization results (CASSANDRA-4295)
* Add support for LZ4 compression (CASSANDRA-5038)
* Fix missing columns in wide rows queries (CASSANDRA-5225)
* Simplify auth setup and make system_auth ks alterable (CASSANDRA-5112)
* Stop compactions from hanging during bootstrap (CASSANDRA-5244)
* fix compressed streaming sending extra chunk (CASSANDRA-5105)
* Add CQL3-based implementations of IAuthenticator and IAuthorizer
(CASSANDRA-4898)
* Fix timestamp-based tomstone removal logic (CASSANDRA-5248)
* cli: Add JMX authentication support (CASSANDRA-5080)
* Fix forceFlush behavior (CASSANDRA-5241)
* cqlsh: Add username autocompletion (CASSANDRA-5231)
* Fix CQL3 composite partition key error (CASSANDRA-5240)
* Allow IN clause on last clustering key (CASSANDRA-5230)
Merged from 1.1:
* fix start key/end token validation for wide row iteration (CASSANDRA-5168)
* add ConfigHelper support for Thrift frame and max message sizes (CASSANDRA-5188)
* fix nodetool repair not fail on node down (CASSANDRA-5203)
* always collect tombstone hints (CASSANDRA-5068)
* Fix error when sourcing file in cqlsh (CASSANDRA-5235)
1.2.1
* stream undelivered hints on decommission (CASSANDRA-5128)
* GossipingPropertyFileSnitch loads saved dc/rack info if needed (CASSANDRA-5133)
* drain should flush system CFs too (CASSANDRA-4446)
* add inter_dc_tcp_nodelay setting (CASSANDRA-5148)
* re-allow wrapping ranges for start_token/end_token range pairitspwng (CASSANDRA-5106)
* fix validation compaction of empty rows (CASSADRA-5136)
* nodetool methods to enable/disable hint storage/delivery (CASSANDRA-4750)
* disallow bloom filter false positive chance of 0 (CASSANDRA-5013)
* add threadpool size adjustment methods to JMXEnabledThreadPoolExecutor and
CompactionManagerMBean (CASSANDRA-5044)
* fix hinting for dropped local writes (CASSANDRA-4753)
* off-heap cache doesn't need mutable column container (CASSANDRA-5057)
* apply disk_failure_policy to bad disks on initial directory creation
(CASSANDRA-4847)
* Optimize name-based queries to use ArrayBackedSortedColumns (CASSANDRA-5043)
* Fall back to old manifest if most recent is unparseable (CASSANDRA-5041)
* pool [Compressed]RandomAccessReader objects on the partitioned read path
(CASSANDRA-4942)
* Add debug logging to list filenames processed by Directories.migrateFile
method (CASSANDRA-4939)
* Expose black-listed directories via JMX (CASSANDRA-4848)
* Log compaction merge counts (CASSANDRA-4894)
* Minimize byte array allocation by AbstractData{Input,Output} (CASSANDRA-5090)
* Add SSL support for the binary protocol (CASSANDRA-5031)
* Allow non-schema system ks modification for shuffle to work (CASSANDRA-5097)
* cqlsh: Add default limit to SELECT statements (CASSANDRA-4972)
* cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101)
* Correctly gossip with nodes >= 1.1.7 (CASSANDRA-5102)
* Ensure CL guarantees on digest mismatch (CASSANDRA-5113)
* Validate correctly selects on composite partition key (CASSANDRA-5122)
* Fix exception when adding collection (CASSANDRA-5117)
* Handle states for non-vnode clusters correctly (CASSANDRA-5127)
* Refuse unrecognized replication and compaction strategy options (CASSANDRA-4795)
* Pick the correct value validator in sstable2json for cql3 tables (CASSANDRA-5134)
* Validate login for describe_keyspace, describe_keyspaces and set_keyspace
(CASSANDRA-5144)
* Fix inserting empty maps (CASSANDRA-5141)
* Don't remove tokens from System table for node we know (CASSANDRA-5121)
* fix streaming progress report for compresed files (CASSANDRA-5130)
* Coverage analysis for low-CL queries (CASSANDRA-4858)
* Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
* Adds E notation for floating point numbers (CASSANDRA-4927)
* Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was
intended (CASSANDRA-5172)
* cli: Quote ks and cf names in schema output when needed (CASSANDRA-5052)
* Fix bad default for min/max timestamp in SSTableMetadata (CASSANDRA-5372)
* Fix cf name extraction from manifest in Directories.migrateFile() (CASSANDRA-5242)
* Support pluggable internode authentication (CASSANDRA-5401)
* Replace mistaken usage of commons-logging with slf4j (CASSANDRA-5464)
* Ensure Jackson dependency matches lib (CASSANDRA-5126)
* Expose droppable tombstone ratio stats over JMX (CASSANDRA-5159)
Merged from 1.1:
* Simplify CompressedRandomAccessReader to work around JDK FD bug (CASSANDRA-5088)
* Improve handling a changing target throttle rate mid-compaction (CASSANDRA-5087)
* Pig: correctly decode row keys in widerow mode (CASSANDRA-5098)
* nodetool repair command now prints progress (CASSANDRA-4767)
* fix user defined compaction to run against 1.1 data directory (CASSANDRA-5118)
* Fix CQL3 BATCH authorization caching (CASSANDRA-5145)
* fix get_count returns incorrect value with TTL (CASSANDRA-5099)
* better handling for mid-compaction failure (CASSANDRA-5137)
* convert default marshallers list to map for better readability (CASSANDRA-5109)
* fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170)
* fix sstable maxtimestamp for row deletes and pre-1.1.1 sstables (CASSANDRA-5153)
* Fix thread growth on node removal (CASSANDRA-5175)
* Make Ec2Region's datacenter name configurable (CASSANDRA-5155)
1.2.0
* Disallow counters in collections (CASSANDRA-5082)
* cqlsh: add unit tests (CASSANDRA-3920)
* fix default bloom_filter_fp_chance for LeveledCompactionStrategy (CASSANDRA-5093)
Merged from 1.1:
* add validation for get_range_slices with start_key and end_token (CASSANDRA-5089)
1.2.0-rc2
* fix nodetool ownership display with vnodes (CASSANDRA-5065)
* cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
* Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
* Fix SimpleAuthorizer example (CASSANDRA-5072)
* cqlsh: force CL.ONE for tracing and system.schema* queries (CASSANDRA-5070)
* Includes cassandra-shuffle in the debian package (CASSANDRA-5058)
Merged from 1.1:
* fix multithreaded compaction deadlock (CASSANDRA-4492)
* fix temporarily missing schema after upgrade from pre-1.1.5 (CASSANDRA-5061)
* Fix ALTER TABLE overriding compression options with defaults
(CASSANDRA-4996, 5066)
* fix specifying and altering crc_check_chance (CASSANDRA-5053)
* fix Murmur3Partitioner ownership% calculation (CASSANDRA-5076)
* Don't expire columns sooner than they should in 2ndary indexes (CASSANDRA-5079)
1.2-rc1
* rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
* add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
* Fix preparing insert queries (CASSANDRA-5016)
* Fix preparing queries with counter increment (CASSANDRA-5022)
* Fix preparing updates with collections (CASSANDRA-5017)
* Don't generate UUID based on other node address (CASSANDRA-5002)
* Fix message when trying to alter a clustering key type (CASSANDRA-5012)
* Update IAuthenticator to match the new IAuthorizer (CASSANDRA-5003)
* Fix inserting only a key in CQL3 (CASSANDRA-5040)
* Fix CQL3 token() function when used with strings (CASSANDRA-5050)
Merged from 1.1:
* reduce log spam from invalid counter shards (CASSANDRA-5026)
* Improve schema propagation performance (CASSANDRA-5025)
* Fix for IndexHelper.IndexFor throws OOB Exception (CASSANDRA-5030)
* cqlsh: make it possible to describe thrift CFs (CASSANDRA-4827)
* cqlsh: fix timestamp formatting on some platforms (CASSANDRA-5046)
1.2-beta3
* make consistency level configurable in cqlsh (CASSANDRA-4829)
* fix cqlsh rendering of blob fields (CASSANDRA-4970)
* fix cqlsh DESCRIBE command (CASSANDRA-4913)
* save truncation position in system table (CASSANDRA-4906)
* Move CompressionMetadata off-heap (CASSANDRA-4937)
* allow CLI to GET cql3 columnfamily data (CASSANDRA-4924)
* Fix rare race condition in getExpireTimeForEndpoint (CASSANDRA-4402)
* acquire references to overlapping sstables during compaction so bloom filter
doesn't get free'd prematurely (CASSANDRA-4934)
* Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
* Separate tracing from Log4J (CASSANDRA-4861)
* Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
* Better printing of AbstractBounds for tracing (CASSANDRA-4931)
* Optimize mostRecentTombstone check in CC.collectAllData (CASSANDRA-4883)
* Change stream session ID to UUID to avoid collision from same node (CASSANDRA-4813)
* Use Stats.db when bulk loading if present (CASSANDRA-4957)
* Skip repair on system_trace and keyspaces with RF=1 (CASSANDRA-4956)
* (cql3) Remove arbitrary SELECT limit (CASSANDRA-4918)
* Correctly handle prepared operation on collections (CASSANDRA-4945)
* Fix CQL3 LIMIT (CASSANDRA-4877)
* Fix Stress for CQL3 (CASSANDRA-4979)
* Remove cassandra specific exceptions from JMX interface (CASSANDRA-4893)
* (CQL3) Force using ALLOW FILTERING on potentially inefficient queries (CASSANDRA-4915)
* (cql3) Fix adding column when the table has collections (CASSANDRA-4982)
* (cql3) Fix allowing collections with compact storage (CASSANDRA-4990)
* (cql3) Refuse ttl/writetime function on collections (CASSANDRA-4992)
* Replace IAuthority with new IAuthorizer (CASSANDRA-4874)
* clqsh: fix KEY pseudocolumn escaping when describing Thrift tables
in CQL3 mode (CASSANDRA-4955)
* add basic authentication support for Pig CassandraStorage (CASSANDRA-3042)
* fix CQL2 ALTER TABLE compaction_strategy_class altering (CASSANDRA-4965)
Merged from 1.1:
* Fall back to old describe_splits if d_s_ex is not available (CASSANDRA-4803)
* Improve error reporting when streaming ranges fail (CASSANDRA-5009)
* Fix cqlsh timestamp formatting of timezone info (CASSANDRA-4746)
* Fix assertion failure with leveled compaction (CASSANDRA-4799)
* Check for null end_token in get_range_slice (CASSANDRA-4804)
* Remove all remnants of removed nodes (CASSANDRA-4840)
* Add aut-reloading of the log4j file in debian package (CASSANDRA-4855)
* Fix estimated row cache entry size (CASSANDRA-4860)
* reset getRangeSlice filter after finishing a row for get_paged_slice
(CASSANDRA-4919)
* expunge row cache post-truncate (CASSANDRA-4940)
* Allow static CF definition with compact storage (CASSANDRA-4910)
* Fix endless loop/compaction of schema_* CFs due to broken timestamps (CASSANDRA-4880)
* Fix 'wrong class type' assertion in CounterColumn (CASSANDRA-4976)
1.2-beta2
* fp rate of 1.0 disables BF entirely; LCS defaults to 1.0 (CASSANDRA-4876)
* off-heap bloom filters for row keys (CASSANDRA_4865)
* add extension point for sstable components (CASSANDRA-4049)
* improve tracing output (CASSANDRA-4852, 4862)
* make TRACE verb droppable (CASSANDRA-4672)
* fix BulkLoader recognition of CQL3 columnfamilies (CASSANDRA-4755)
* Sort commitlog segments for replay by id instead of mtime (CASSANDRA-4793)
* Make hint delivery asynchronous (CASSANDRA-4761)
* Pluggable Thrift transport factories for CLI and cqlsh (CASSANDRA-4609, 4610)
* cassandra-cli: allow Double value type to be inserted to a column (CASSANDRA-4661)
* Add ability to use custom TServerFactory implementations (CASSANDRA-4608)
* optimize batchlog flushing to skip successful batches (CASSANDRA-4667)
* include metadata for system keyspace itself in schema tables (CASSANDRA-4416)
* add check to PropertyFileSnitch to verify presence of location for
local node (CASSANDRA-4728)
* add PBSPredictor consistency modeler (CASSANDRA-4261)
* remove vestiges of Thrift unframed mode (CASSANDRA-4729)
* optimize single-row PK lookups (CASSANDRA-4710)
* adjust blockFor calculation to account for pending ranges due to node
movement (CASSANDRA-833)
* Change CQL version to 3.0.0 and stop accepting 3.0.0-beta1 (CASSANDRA-4649)
* (CQL3) Make prepared statement global instead of per connection
(CASSANDRA-4449)
* Fix scrubbing of CQL3 created tables (CASSANDRA-4685)
* (CQL3) Fix validation when using counter and regular columns in the same
table (CASSANDRA-4706)
* Fix bug starting Cassandra with simple authentication (CASSANDRA-4648)
* Add support for batchlog in CQL3 (CASSANDRA-4545, 4738)
* Add support for multiple column family outputs in CFOF (CASSANDRA-4208)
* Support repairing only the local DC nodes (CASSANDRA-4747)
* Use rpc_address for binary protocol and change default port (CASSANRA-4751)
* Fix use of collections in prepared statements (CASSANDRA-4739)
* Store more information into peers table (CASSANDRA-4351, 4814)
* Configurable bucket size for size tiered compaction (CASSANDRA-4704)
* Run leveled compaction in parallel (CASSANDRA-4310)
* Fix potential NPE during CFS reload (CASSANDRA-4786)
* Composite indexes may miss results (CASSANDRA-4796)
* Move consistency level to the protocol level (CASSANDRA-4734, 4824)
* Fix Subcolumn slice ends not respected (CASSANDRA-4826)
* Fix Assertion error in cql3 select (CASSANDRA-4783)
* Fix list prepend logic (CQL3) (CASSANDRA-4835)
* Add booleans as literals in CQL3 (CASSANDRA-4776)
* Allow renaming PK columns in CQL3 (CASSANDRA-4822)
* Fix binary protocol NEW_NODE event (CASSANDRA-4679)
* Fix potential infinite loop in tombstone compaction (CASSANDRA-4781)
* Remove system tables accounting from schema (CASSANDRA-4850)
* (cql3) Force provided columns in clustering key order in
'CLUSTERING ORDER BY' (CASSANDRA-4881)
* Fix composite index bug (CASSANDRA-4884)
* Fix short read protection for CQL3 (CASSANDRA-4882)
* Add tracing support to the binary protocol (CASSANDRA-4699)
* (cql3) Don't allow prepared marker inside collections (CASSANDRA-4890)
* Re-allow order by on non-selected columns (CASSANDRA-4645)
* Bug when composite index is created in a table having collections (CASSANDRA-4909)
* log index scan subject in CompositesSearcher (CASSANDRA-4904)
Merged from 1.1:
* add get[Row|Key]CacheEntries to CacheServiceMBean (CASSANDRA-4859)
* fix get_paged_slice to wrap to next row correctly (CASSANDRA-4816)
* fix indexing empty column values (CASSANDRA-4832)
* allow JdbcDate to compose null Date objects (CASSANDRA-4830)
* fix possible stackoverflow when compacting 1000s of sstables
(CASSANDRA-4765)
* fix wrong leveled compaction progress calculation (CASSANDRA-4807)
* add a close() method to CRAR to prevent leaking file descriptors (CASSANDRA-4820)
* fix potential infinite loop in get_count (CASSANDRA-4833)
* fix compositeType.{get/from}String methods (CASSANDRA-4842)
* (CQL) fix CREATE COLUMNFAMILY permissions check (CASSANDRA-4864)
* Fix DynamicCompositeType same type comparison (CASSANDRA-4711)
* Fix duplicate SSTable reference when stream session failed (CASSANDRA-3306)
* Allow static CF definition with compact storage (CASSANDRA-4910)
* Fix endless loop/compaction of schema_* CFs due to broken timestamps (CASSANDRA-4880)
* Fix 'wrong class type' assertion in CounterColumn (CASSANDRA-4976)
1.2-beta1
* add atomic_batch_mutate (CASSANDRA-4542, -4635)
* increase default max_hint_window_in_ms to 3h (CASSANDRA-4632)
* include message initiation time to replicas so they can more
accurately drop timed-out requests (CASSANDRA-2858)
* fix clientutil.jar dependencies (CASSANDRA-4566)
* optimize WriteResponse (CASSANDRA-4548)
* new metrics (CASSANDRA-4009)
* redesign KEYS indexes to avoid read-before-write (CASSANDRA-2897)
* debug tracing (CASSANDRA-1123)
* parallelize row cache loading (CASSANDRA-4282)
* Make compaction, flush JBOD-aware (CASSANDRA-4292)
* run local range scans on the read stage (CASSANDRA-3687)
* clean up ioexceptions (CASSANDRA-2116)
* add disk_failure_policy (CASSANDRA-2118)
* Introduce new json format with row level deletion (CASSANDRA-4054)
* remove redundant "name" column from schema_keyspaces (CASSANDRA-4433)
* improve "nodetool ring" handling of multi-dc clusters (CASSANDRA-3047)
* update NTS calculateNaturalEndpoints to be O(N log N) (CASSANDRA-3881)
* split up rpc timeout by operation type (CASSANDRA-2819)
* rewrite key cache save/load to use only sequential i/o (CASSANDRA-3762)
* update MS protocol with a version handshake + broadcast address id
(CASSANDRA-4311)
* multithreaded hint replay (CASSANDRA-4189)
* add inter-node message compression (CASSANDRA-3127)
* remove COPP (CASSANDRA-2479)
* Track tombstone expiration and compact when tombstone content is
higher than a configurable threshold, default 20% (CASSANDRA-3442, 4234)
* update MurmurHash to version 3 (CASSANDRA-2975)
* (CLI) track elapsed time for `delete' operation (CASSANDRA-4060)
* (CLI) jline version is bumped to 1.0 to properly support
'delete' key function (CASSANDRA-4132)
* Save IndexSummary into new SSTable 'Summary' component (CASSANDRA-2392, 4289)
* Add support for range tombstones (CASSANDRA-3708)
* Improve MessagingService efficiency (CASSANDRA-3617)
* Avoid ID conflicts from concurrent schema changes (CASSANDRA-3794)
* Set thrift HSHA server thread limit to unlimited by default (CASSANDRA-4277)
* Avoids double serialization of CF id in RowMutation messages
(CASSANDRA-4293)
* stream compressed sstables directly with java nio (CASSANDRA-4297)
* Support multiple ranges in SliceQueryFilter (CASSANDRA-3885)
* Add column metadata to system column families (CASSANDRA-4018)
* (cql3) Always use composite types by default (CASSANDRA-4329)
* (cql3) Add support for set, map and list (CASSANDRA-3647)
* Validate date type correctly (CASSANDRA-4441)
* (cql3) Allow definitions with only a PK (CASSANDRA-4361)
* (cql3) Add support for row key composites (CASSANDRA-4179)
* improve DynamicEndpointSnitch by using reservoir sampling (CASSANDRA-4038)
* (cql3) Add support for 2ndary indexes (CASSANDRA-3680)
* (cql3) fix defining more than one PK to be invalid (CASSANDRA-4477)
* remove schema agreement checking from all external APIs (Thrift, CQL and CQL3) (CASSANDRA-4487)
* add Murmur3Partitioner and make it default for new installations (CASSANDRA-3772, 4621)
* (cql3) update pseudo-map syntax to use map syntax (CASSANDRA-4497)
* Finer grained exceptions hierarchy and provides error code with exceptions (CASSANDRA-3979)
* Adds events push to binary protocol (CASSANDRA-4480)
* Rewrite nodetool help (CASSANDRA-2293)
* Make CQL3 the default for CQL (CASSANDRA-4640)
* update stress tool to be able to use CQL3 (CASSANDRA-4406)
* Accept all thrift update on CQL3 cf but don't expose their metadata (CASSANDRA-4377)
* Replace Throttle with Guava's RateLimiter for HintedHandOff (CASSANDRA-4541)
* fix counter add/get using CQL2 and CQL3 in stress tool (CASSANDRA-4633)
* Add sstable count per level to cfstats (CASSANDRA-4537)
* (cql3) Add ALTER KEYSPACE statement (CASSANDRA-4611)
* (cql3) Allow defining default consistency levels (CASSANDRA-4448)
* (cql3) Fix queries using LIMIT missing results (CASSANDRA-4579)
* fix cross-version gossip messaging (CASSANDRA-4576)
* added inet data type (CASSANDRA-4627)
1.1.6
* Wait for writes on synchronous read digest mismatch (CASSANDRA-4792)
* fix commitlog replay for nanotime-infected sstables (CASSANDRA-4782)
* preflight check ttl for maximum of 20 years (CASSANDRA-4771)
* (Pig) fix widerow input with single column rows (CASSANDRA-4789)
* Fix HH to compact with correct gcBefore, which avoids wiping out
undelivered hints (CASSANDRA-4772)
* LCS will merge up to 32 L0 sstables as intended (CASSANDRA-4778)
* NTS will default unconfigured DC replicas to zero (CASSANDRA-4675)
* use default consistency level in counter validation if none is
explicitly provide (CASSANDRA-4700)
* Improve IAuthority interface by introducing fine-grained
access permissions and grant/revoke commands (CASSANDRA-4490, 4644)
* fix assumption error in CLI when updating/describing keyspace
(CASSANDRA-4322)
* Adds offline sstablescrub to debian packaging (CASSANDRA-4642)
* Automatic fixing of overlapping leveled sstables (CASSANDRA-4644)
* fix error when using ORDER BY with extended selections (CASSANDRA-4689)
* (CQL3) Fix validation for IN queries for non-PK cols (CASSANDRA-4709)
* fix re-created keyspace disappering after 1.1.5 upgrade
(CASSANDRA-4698, 4752)
* (CLI) display elapsed time in 2 fraction digits (CASSANDRA-3460)
* add authentication support to sstableloader (CASSANDRA-4712)
* Fix CQL3 'is reversed' logic (CASSANDRA-4716, 4759)
* (CQL3) Don't return ReversedType in result set metadata (CASSANDRA-4717)
* Backport adding AlterKeyspace statement (CASSANDRA-4611)
* (CQL3) Correcty accept upper-case data types (CASSANDRA-4770)
* Add binary protocol events for schema changes (CASSANDRA-4684)
Merged from 1.0:
* Switch from NBHM to CHM in MessagingService's callback map, which
prevents OOM in long-running instances (CASSANDRA-4708)
1.1.5
* add SecondaryIndex.reload API (CASSANDRA-4581)
* use millis + atomicint for commitlog segment creation instead of
nanotime, which has issues under some hypervisors (CASSANDRA-4601)
* fix FD leak in slice queries (CASSANDRA-4571)
* avoid recursion in leveled compaction (CASSANDRA-4587)
* increase stack size under Java7 to 180K
* Log(info) schema changes (CASSANDRA-4547)
* Change nodetool setcachecapcity to manipulate global caches (CASSANDRA-4563)
* (cql3) fix setting compaction strategy (CASSANDRA-4597)
* fix broken system.schema_* timestamps on system startup (CASSANDRA-4561)
* fix wrong skip of cache saving (CASSANDRA-4533)
* Avoid NPE when lost+found is in data dir (CASSANDRA-4572)
* Respect five-minute flush moratorium after initial CL replay (CASSANDRA-4474)
* Adds ntp as recommended in debian packaging (CASSANDRA-4606)
* Configurable transport in CF Record{Reader|Writer} (CASSANDRA-4558)
* (cql3) fix potential NPE with both equal and unequal restriction (CASSANDRA-4532)
* (cql3) improves ORDER BY validation (CASSANDRA-4624)
* Fix potential deadlock during counter writes (CASSANDRA-4578)
* Fix cql error with ORDER BY when using IN (CASSANDRA-4612)
Merged from 1.0:
* increase Xss to 160k to accomodate latest 1.6 JVMs (CASSANDRA-4602)
* fix toString of hint destination tokens (CASSANDRA-4568)
* Fix multiple values for CurrentLocal NodeID (CASSANDRA-4626)
1.1.4
* fix offline scrub to catch >= out of order rows (CASSANDRA-4411)
* fix cassandra-env.sh on RHEL and other non-dash-based systems
(CASSANDRA-4494)
Merged from 1.0:
* (Hadoop) fix setting key length for old-style mapred api (CASSANDRA-4534)
* (Hadoop) fix iterating through a resultset consisting entirely
of tombstoned rows (CASSANDRA-4466)
* Fix multiple values for CurrentLocal NodeID (CASSANDRA-4626)
1.1.3
* (cqlsh) add COPY TO (CASSANDRA-4434)
* munmap commitlog segments before rename (CASSANDRA-4337)
* (JMX) rename getRangeKeySample to sampleKeyRange to avoid returning
multi-MB results as an attribute (CASSANDRA-4452)
* flush based on data size, not throughput; overwritten columns no
longer artificially inflate liveRatio (CASSANDRA-4399)
* update default commitlog segment size to 32MB and total commitlog
size to 32/1024 MB for 32/64 bit JVMs, respectively (CASSANDRA-4422)
* avoid using global partitioner to estimate ranges in index sstables
(CASSANDRA-4403)
* restore pre-CASSANDRA-3862 approach to removing expired tombstones
from row cache during compaction (CASSANDRA-4364)
* (stress) support for CQL prepared statements (CASSANDRA-3633)
* Correctly catch exception when Snappy cannot be loaded (CASSANDRA-4400)
* (cql3) Support ORDER BY when IN condition is given in WHERE clause (CASSANDRA-4327)
* (cql3) delete "component_index" column on DROP TABLE call (CASSANDRA-4420)
* change nanoTime() to currentTimeInMillis() in schema related code (CASSANDRA-4432)
* add a token generation tool (CASSANDRA-3709)
* Fix LCS bug with sstable containing only 1 row (CASSANDRA-4411)
* fix "Can't Modify Index Name" problem on CF update (CASSANDRA-4439)
* Fix assertion error in getOverlappingSSTables during repair (CASSANDRA-4456)
* fix nodetool's setcompactionthreshold command (CASSANDRA-4455)
* Ensure compacted files are never used, to avoid counter overcount (CASSANDRA-4436)
Merged from 1.0:
* Push the validation of secondary index values to the SecondaryIndexManager (CASSANDRA-4240)
* (Hadoop) fix iterating through a resultset consisting entirely
of tombstoned rows (CASSANDRA-4466)
* allow dropping columns shadowed by not-yet-expired supercolumn or row
tombstones in PrecompactedRow (CASSANDRA-4396)
1.1.2
* Fix cleanup not deleting index entries (CASSANDRA-4379)
* Use correct partitioner when saving + loading caches (CASSANDRA-4331)
* Check schema before trying to export sstable (CASSANDRA-2760)
* Raise a meaningful exception instead of NPE when PFS encounters
an unconfigured node + no default (CASSANDRA-4349)
* fix bug in sstable blacklisting with LCS (CASSANDRA-4343)
* LCS no longer promotes tiny sstables out of L0 (CASSANDRA-4341)
* skip tombstones during hint replay (CASSANDRA-4320)
* fix NPE in compactionstats (CASSANDRA-4318)
* enforce 1m min keycache for auto (CASSANDRA-4306)
* Have DeletedColumn.isMFD always return true (CASSANDRA-4307)
* (cql3) exeption message for ORDER BY constraints said primary filter can be
an IN clause, which is misleading (CASSANDRA-4319)
* (cql3) Reject (not yet supported) creation of 2ndardy indexes on tables with
composite primary keys (CASSANDRA-4328)
* Set JVM stack size to 160k for java 7 (CASSANDRA-4275)
* cqlsh: add COPY command to load data from CSV flat files (CASSANDRA-4012)
* CFMetaData.fromThrift to throw ConfigurationException upon error (CASSANDRA-4353)
* Use CF comparator to sort indexed columns in SecondaryIndexManager
(CASSANDRA-4365)
* add strategy_options to the KSMetaData.toString() output (CASSANDRA-4248)
* (cql3) fix range queries containing unqueried results (CASSANDRA-4372)
* (cql3) allow updating column_alias types (CASSANDRA-4041)
* (cql3) Fix deletion bug (CASSANDRA-4193)
* Fix computation of overlapping sstable for leveled compaction (CASSANDRA-4321)
* Improve scrub and allow to run it offline (CASSANDRA-4321)
* Fix assertionError in StorageService.bulkLoad (CASSANDRA-4368)
* (cqlsh) add option to authenticate to a keyspace at startup (CASSANDRA-4108)
* (cqlsh) fix ASSUME functionality (CASSANDRA-4352)
* Fix ColumnFamilyRecordReader to not return progress > 100% (CASSANDRA-3942)
Merged from 1.0:
* Set gc_grace on index CF to 0 (CASSANDRA-4314)
1.1.1
* allow larger cache capacities than 2GB (CASSANDRA-4150)
* add getsstables command to nodetool (CASSANDRA-4199)
* apply parent CF compaction settings to secondary index CFs (CASSANDRA-4280)
* preserve commitlog size cap when recycling segments at startup
(CASSANDRA-4201)
* (Hadoop) fix split generation regression (CASSANDRA-4259)
* ignore min/max compactions settings in LCS, while preserving
behavior that min=max=0 disables autocompaction (CASSANDRA-4233)
* log number of rows read from saved cache (CASSANDRA-4249)
* calculate exact size required for cleanup operations (CASSANDRA-1404)
* avoid blocking additional writes during flush when the commitlog
gets behind temporarily (CASSANDRA-1991)
* enable caching on index CFs based on data CF cache setting (CASSANDRA-4197)
* warn on invalid replication strategy creation options (CASSANDRA-4046)
* remove [Freeable]Memory finalizers (CASSANDRA-4222)
* include tombstone size in ColumnFamily.size, which can prevent OOM
during sudden mass delete operations by yielding a nonzero liveRatio
(CASSANDRA-3741)
* Open 1 sstableScanner per level for leveled compaction (CASSANDRA-4142)
* Optimize reads when row deletion timestamps allow us to restrict
the set of sstables we check (CASSANDRA-4116)
* add support for commitlog archiving and point-in-time recovery
(CASSANDRA-3690)
* avoid generating redundant compaction tasks during streaming
(CASSANDRA-4174)
* add -cf option to nodetool snapshot, and takeColumnFamilySnapshot to
StorageService mbean (CASSANDRA-556)
* optimize cleanup to drop entire sstables where possible (CASSANDRA-4079)
* optimize truncate when autosnapshot is disabled (CASSANDRA-4153)
* update caches to use byte[] keys to reduce memory overhead (CASSANDRA-3966)
* add column limit to cli (CASSANDRA-3012, 4098)
* clean up and optimize DataOutputBuffer, used by CQL compression and
CompositeType (CASSANDRA-4072)
* optimize commitlog checksumming (CASSANDRA-3610)
* identify and blacklist corrupted SSTables from future compactions
(CASSANDRA-2261)
* Move CfDef and KsDef validation out of thrift (CASSANDRA-4037)
* Expose API to repair a user provided range (CASSANDRA-3912)
* Add way to force the cassandra-cli to refresh its schema (CASSANDRA-4052)
* Avoid having replicate on write tasks stacking up at CL.ONE (CASSANDRA-2889)
* (cql3) Backwards compatibility for composite comparators in non-cql3-aware
clients (CASSANDRA-4093)
* (cql3) Fix order by for reversed queries (CASSANDRA-4160)
* (cql3) Add ReversedType support (CASSANDRA-4004)
* (cql3) Add timeuuid type (CASSANDRA-4194)
* (cql3) Minor fixes (CASSANDRA-4185)
* (cql3) Fix prepared statement in BATCH (CASSANDRA-4202)
* (cql3) Reduce the list of reserved keywords (CASSANDRA-4186)
* (cql3) Move max/min compaction thresholds to compaction strategy options
(CASSANDRA-4187)
* Fix exception during move when localhost is the only source (CASSANDRA-4200)
* (cql3) Allow paging through non-ordered partitioner results (CASSANDRA-3771)
* (cql3) Fix drop index (CASSANDRA-4192)
* (cql3) Don't return range ghosts anymore (CASSANDRA-3982)
* fix re-creating Keyspaces/ColumnFamilies with the same name as dropped
ones (CASSANDRA-4219)
* fix SecondaryIndex LeveledManifest save upon snapshot (CASSANDRA-4230)
* fix missing arrayOffset in FBUtilities.hash (CASSANDRA-4250)
* (cql3) Add name of parameters in CqlResultSet (CASSANDRA-4242)
* (cql3) Correctly validate order by queries (CASSANDRA-4246)
* rename stress to cassandra-stress for saner packaging (CASSANDRA-4256)
* Fix exception on colum metadata with non-string comparator (CASSANDRA-4269)
* Check for unknown/invalid compression options (CASSANDRA-4266)
* (cql3) Adds simple access to column timestamp and ttl (CASSANDRA-4217)