forked from apache/cassandra
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
3648 lines (3453 loc) · 197 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.0
* Move sstable RandomAccessReader to nio2, which allows using the
FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
* Remove CQL2 (CASSANDRA-5918)
* Add Thrift get_multi_slice call (CASSANDRA-6757)
* Optimize fetching multiple cells by name (CASSANDRA-6933)
* Allow compilation in java 8 (CASSANDRA-7208)
2.1.0-rc1
* Parallel streaming for sstableloader (CASSANDRA-3668)
* Fix bugs in supercolumns handling (CASSANDRA-7138)
* Fix ClassClassException on composite dense tables (CASSANDRA-7112)
Merged from 2.0:
* Make batchlog replica selection rack-aware (CASSANDRA-6551)
* Suggest CTRL-C or semicolon after three blank lines in cqlsh (CASSANDRA-7142)
Merged from 1.2:
* Add Cloudstack snitch (CASSANDRA-7147)
* Update system.peers correctly when relocating tokens (CASSANDRA-7126)
* Add Google Compute Engine snitch (CASSANDRA-7132)
2.1.0-beta2
* Increase default CL space to 8GB (CASSANDRA-7031)
* Add range tombstones to read repair digests (CASSANDRA-6863)
* Fix BTree.clear for large updates (CASSANDRA-6943)
* Fail write instead of logging a warning when unable to append to CL
(CASSANDRA-6764)
* Eliminate possibility of CL segment appearing twice in active list
(CASSANDRA-6557)
* Apply DONTNEED fadvise to commitlog segments (CASSANDRA-6759)
* Switch CRC component to Adler and include it for compressed sstables
(CASSANDRA-4165)
* Allow cassandra-stress to set compaction strategy options (CASSANDRA-6451)
* Add broadcast_rpc_address option to cassandra.yaml (CASSANDRA-5899)
* Auto reload GossipingPropertyFileSnitch config (CASSANDRA-5897)
* Fix overflow of memtable_total_space_in_mb (CASSANDRA-6573)
* Fix ABTC NPE and apply update function correctly (CASSANDRA-6692)
* Allow nodetool to use a file or prompt for password (CASSANDRA-6660)
* Fix AIOOBE when concurrently accessing ABSC (CASSANDRA-6742)
* Fix assertion error in ALTER TYPE RENAME (CASSANDRA-6705)
* Scrub should not always clear out repaired status (CASSANDRA-5351)
* Improve handling of range tombstone for wide partitions (CASSANDRA-6446)
* Fix ClassCastException for compact table with composites (CASSANDRA-6738)
* Fix potentially repairing with wrong nodes (CASSANDRA-6808)
* Change caching option syntax (CASSANDRA-6745)
* Fix stress to do proper counter reads (CASSANDRA-6835)
* Fix help message for stress counter_write (CASSANDRA-6824)
* Fix stress smart Thrift client to pick servers correctly (CASSANDRA-6848)
* Add logging levels (minimal, normal or verbose) to stress tool (CASSANDRA-6849)
* Fix race condition in Batch CLE (CASSANDRA-6860)
* Improve cleanup/scrub/upgradesstables failure handling (CASSANDRA-6774)
* ByteBuffer write() methods for serializing sstables (CASSANDRA-6781)
* Proper compare function for CollectionType (CASSANDRA-6783)
* Update native server to Netty 4 (CASSANDRA-6236)
* Fix off-by-one error in stress (CASSANDRA-6883)
* Make OpOrder AutoCloseable (CASSANDRA-6901)
* Remove sync repair JMX interface (CASSANDRA-6900)
* Add multiple memory allocation options for memtables (CASSANDRA-6689, 6694)
* Remove adjusted op rate from stress output (CASSANDRA-6921)
* Add optimized CF.hasColumns() implementations (CASSANDRA-6941)
* Serialize batchlog mutations with the version of the target node
(CASSANDRA-6931)
* Optimize CounterColumn#reconcile() (CASSANDRA-6953)
* Properly remove 1.2 sstable support in 2.1 (CASSANDRA-6869)
* Lock counter cells, not partitions (CASSANDRA-6880)
* Track presence of legacy counter shards in sstables (CASSANDRA-6888)
* Ensure safe resource cleanup when replacing sstables (CASSANDRA-6912)
* Add failure handler to async callback (CASSANDRA-6747)
* Fix AE when closing SSTable without releasing reference (CASSANDRA-7000)
* Clean up IndexInfo on keyspace/table drops (CASSANDRA-6924)
* Only snapshot relative SSTables when sequential repair (CASSANDRA-7024)
* Require nodetool rebuild_index to specify index names (CASSANDRA-7038)
* fix cassandra stress errors on reads with native protocol (CASSANDRA-7033)
* Use OpOrder to guard sstable references for reads (CASSANDRA-6919)
* Preemptive opening of compaction result (CASSANDRA-6916)
* Multi-threaded scrub/cleanup/upgradesstables (CASSANDRA-5547)
* Optimize cellname comparison (CASSANDRA-6934)
* Native protocol v3 (CASSANDRA-6855)
* Optimize Cell liveness checks and clean up Cell (CASSANDRA-7119)
* Support consistent range movements (CASSANDRA-2434)
Merged from 2.0:
* Allow overriding cassandra-rackdc.properties file (CASSANDRA-7072)
* Set JMX RMI port to 7199 (CASSANDRA-7087)
* Use LOCAL_QUORUM for data reads at LOCAL_SERIAL (CASSANDRA-6939)
* Log a warning for large batches (CASSANDRA-6487)
* Put nodes in hibernate when join_ring is false (CASSANDRA-6961)
* Avoid early loading of non-system keyspaces before compaction-leftovers
cleanup at startup (CASSANDRA-6913)
* Restrict Windows to parallel repairs (CASSANDRA-6907)
* (Hadoop) Allow manually specifying start/end tokens in CFIF (CASSANDRA-6436)
* Fix NPE in MeteredFlusher (CASSANDRA-6820)
* Fix race processing range scan responses (CASSANDRA-6820)
* Allow deleting snapshots from dropped keyspaces (CASSANDRA-6821)
* Add uuid() function (CASSANDRA-6473)
* Omit tombstones from schema digests (CASSANDRA-6862)
* Include correct consistencyLevel in LWT timeout (CASSANDRA-6884)
* Lower chances for losing new SSTables during nodetool refresh and
ColumnFamilyStore.loadNewSSTables (CASSANDRA-6514)
* Add support for DELETE ... IF EXISTS to CQL3 (CASSANDRA-5708)
* Update hadoop_cql3_word_count example (CASSANDRA-6793)
* Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788)
* Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865)
* Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864)
* Fix schema concurrency exceptions (CASSANDRA-6841)
* Fix leaking validator FH in StreamWriter (CASSANDRA-6832)
* fix nodetool getsstables for blob PK (CASSANDRA-6803)
* Fix saving triggers to schema (CASSANDRA-6789)
* Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790)
* Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838)
* Fix static counter columns (CASSANDRA-6827)
* Restore expiring->deleted (cell) compaction optimization (CASSANDRA-6844)
* Fix CompactionManager.needsCleanup (CASSANDRA-6845)
* Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779)
* Read message id as string from earlier versions (CASSANDRA-6840)
* Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837)
* Add paranoid disk failure option (CASSANDRA-6646)
* Improve PerRowSecondaryIndex performance (CASSANDRA-6876)
* Extend triggers to support CAS updates (CASSANDRA-6882)
* Static columns with IF NOT EXISTS don't always work as expected (CASSANDRA-6873)
* Fix paging with SELECT DISTINCT (CASSANDRA-6857)
* Fix UnsupportedOperationException on CAS timeout (CASSANDRA-6923)
* Improve MeteredFlusher handling of MF-unaffected column families
(CASSANDRA-6867)
* Add CqlRecordReader using native pagination (CASSANDRA-6311)
* Add QueryHandler interface (CASSANDRA-6659)
* Track liveRatio per-memtable, not per-CF (CASSANDRA-6945)
* Make sure upgradesstables keeps sstable level (CASSANDRA-6958)
* Fix LIMIT with static columns (CASSANDRA-6956)
* Fix clash with CQL column name in thrift validation (CASSANDRA-6892)
* Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966)
* Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825)
* Fix unintended update with conditional statement (CASSANDRA-6893)
* Fix map element access in IF (CASSANDRA-6914)
* Avoid costly range calculations for range queries on system keyspaces
(CASSANDRA-6906)
* Fix SSTable not released if stream session fails (CASSANDRA-6818)
* Avoid build failure due to ANTLR timeout (CASSANDRA-6991)
* Queries on compact tables can return more rows that requested (CASSANDRA-7052)
* USING TIMESTAMP for batches does not work (CASSANDRA-7053)
* Fix performance regression from CASSANDRA-5614 (CASSANDRA-6949)
* Ensure that batchlog and hint timeouts do not produce hints (CASSANDRA-7058)
* Merge groupable mutations in TriggerExecutor#execute() (CASSANDRA-7047)
* Plug holes in resource release when wiring up StreamSession (CASSANDRA-7073)
* Re-add parameter columns to tracing session (CASSANDRA-6942)
* Preserves CQL metadata when updating table from thrift (CASSANDRA-6831)
Merged from 1.2:
* Fix nodetool display with vnodes (CASSANDRA-7082)
* Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)
* add extra SSL cipher suites (CASSANDRA-6613)
* fix nodetool getsstables for blob PK (CASSANDRA-6803)
* Fix BatchlogManager#deleteBatch() use of millisecond timestamps
(CASSANDRA-6822)
* Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
* Schedule schema pulls on change (CASSANDRA-6971)
* Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
* Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
* Fix batchlog to account for CF truncation records (CASSANDRA-6999)
* Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
* Properly load trustore in the native protocol (CASSANDRA-6847)
* Always clean up references in SerializingCache (CASSANDRA-6994)
* Don't shut MessagingService down when replacing a node (CASSANDRA-6476)
* fix npe when doing -Dcassandra.fd_initial_value_ms (CASSANDRA-6751)
2.0.6
* Avoid race-prone second "scrub" of system keyspace (CASSANDRA-6797)
* Pool CqlRecordWriter clients by inetaddress rather than Range
(CASSANDRA-6665)
* Fix compaction_history timestamps (CASSANDRA-6784)
* Compare scores of full replica ordering in DES (CASSANDRA-6683)
* fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577)
* Allow repairing between specific replicas (CASSANDRA-6440)
* Allow per-dc enabling of hints (CASSANDRA-6157)
* Add compatibility for Hadoop 0.2.x (CASSANDRA-5201)
* Fix EstimatedHistogram races (CASSANDRA-6682)
* Failure detector correctly converts initial value to nanos (CASSANDRA-6658)
* Add nodetool taketoken to relocate vnodes (CASSANDRA-4445)
* Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
* Expose bulk loading progress over JMX (CASSANDRA-4757)
* Correctly handle null with IF conditions and TTL (CASSANDRA-6623)
* Account for range/row tombstones in tombstone drop
time histogram (CASSANDRA-6522)
* Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652)
* Make commitlog failure handling configurable (CASSANDRA-6364)
* Avoid overlaps in LCS (CASSANDRA-6688)
* Improve support for paginating over composites (CASSANDRA-4851)
* Fix count(*) queries in a mixed cluster (CASSANDRA-6707)
* Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566)
* Fix replaying pre-2.0 commit logs (CASSANDRA-6714)
* Add static columns to CQL3 (CASSANDRA-6561)
* Optimize single partition batch statements (CASSANDRA-6737)
* Disallow post-query re-ordering when paging (CASSANDRA-6722)
* Fix potential paging bug with deleted columns (CASSANDRA-6748)
* Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636)
* Fix truncating compression metadata (CASSANDRA-6791)
* Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541)
* Catch memtable flush exceptions during shutdown (CASSANDRA-6735)
* Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
* Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782)
* Fix IllegalArgumentException when updating from 1.2 with SuperColumns
(CASSANDRA-6733)
* FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778)
* Fix CQLSStableWriter.addRow(Map<String, Object>) (CASSANDRA-6526)
* Fix HSHA server introducing corrupt data (CASSANDRA-6285)
* Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813)
* Fix saving triggers to schema (CASSANDRA-6789)
* Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790)
* Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838)
* Fix static counter columns (CASSANDRA-6827)
* Restore expiring->deleted (cell) compaction optimization (CASSANDRA-6844)
* Fix CompactionManager.needsCleanup (CASSANDRA-6845)
* Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779)
* Read message id as string from earlier versions (CASSANDRA-6840)
* Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837)
2.1.0-beta1
* Add flush directory distinct from compaction directories (CASSANDRA-6357)
* Require JNA by default (CASSANDRA-6575)
* add listsnapshots command to nodetool (CASSANDRA-5742)
* Introduce AtomicBTreeColumns (CASSANDRA-6271, 6692)
* Multithreaded commitlog (CASSANDRA-3578)
* allocate fixed index summary memory pool and resample cold index summaries
to use less memory (CASSANDRA-5519)
* Removed multithreaded compaction (CASSANDRA-6142)
* Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337)
* 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)
* Remove CFDefinition (CASSANDRA-6253)
* Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278)
* User-defined types for CQL3 (CASSANDRA-5590)
* Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406)
* Batch read from OTC's queue and cleanup (CASSANDRA-1632)
* Secondary index support for collections (CASSANDRA-4511, 6383)
* SSTable metadata(Stats.db) format change (CASSANDRA-6356)
* Push composites support in the storage engine
(CASSANDRA-5417, CASSANDRA-6520)
* Add snapshot space used to cfstats (CASSANDRA-6231)
* Add cardinality estimator for key count estimation (CASSANDRA-5906)
* CF id is changed to be non-deterministic. Data dir/key cache are created
uniquely for CF id (CASSANDRA-5202)
* New counters implementation (CASSANDRA-6504)
* Replace UnsortedColumns, EmptyColumns, TreeMapBackedSortedColumns with new
ArrayBackedSortedColumns (CASSANDRA-6630, CASSANDRA-6662, CASSANDRA-6690)
* Add option to use row cache with a given amount of rows (CASSANDRA-5357)
* Avoid repairing already repaired data (CASSANDRA-5351)
* Reject counter updates with USING TTL/TIMESTAMP (CASSANDRA-6649)
* Replace index_interval with min/max_index_interval (CASSANDRA-6379)
* Lift limitation that order by columns must be selected for IN queries (CASSANDRA-4911)
2.0.5
* Reduce garbage generated by bloom filter lookups (CASSANDRA-6609)
* Add ks.cf names to tombstone logging (CASSANDRA-6597)
* Use LOCAL_QUORUM for LWT operations at LOCAL_SERIAL (CASSANDRA-6495)
* Wait for gossip to settle before accepting client connections (CASSANDRA-4288)
* Delete unfinished compaction incrementally (CASSANDRA-6086)
* Allow specifying custom secondary index options in CQL3 (CASSANDRA-6480)
* Improve replica pinning for cache efficiency in DES (CASSANDRA-6485)
* Fix LOCAL_SERIAL from thrift (CASSANDRA-6584)
* Don't special case received counts in CAS timeout exceptions (CASSANDRA-6595)
* Add support for 2.1 global counter shards (CASSANDRA-6505)
* Fix NPE when streaming connection is not yet established (CASSANDRA-6210)
* Avoid rare duplicate read repair triggering (CASSANDRA-6606)
* Fix paging discardFirst (CASSANDRA-6555)
* Fix ArrayIndexOutOfBoundsException in 2ndary index query (CASSANDRA-6470)
* Release sstables upon rebuilding 2i (CASSANDRA-6635)
* Add AbstractCompactionStrategy.startup() method (CASSANDRA-6637)
* SSTableScanner may skip rows during cleanup (CASSANDRA-6638)
* sstables from stalled repair sessions can resurrect deleted data (CASSANDRA-6503)
* Switch stress to use ITransportFactory (CASSANDRA-6641)
* Fix IllegalArgumentException during prepare (CASSANDRA-6592)
* Fix possible loss of 2ndary index entries during compaction (CASSANDRA-6517)
* Fix direct Memory on architectures that do not support unaligned long access
(CASSANDRA-6628)
* Let scrub optionally skip broken counter partitions (CASSANDRA-5930)
Merged from 1.2:
* fsync compression metadata (CASSANDRA-6531)
* Validate CF existence on execution for prepared statement (CASSANDRA-6535)
* Add ability to throttle batchlog replay (CASSANDRA-6550)
* Fix executing LOCAL_QUORUM with SimpleStrategy (CASSANDRA-6545)
* Avoid StackOverflow when using large IN queries (CASSANDRA-6567)
* Nodetool upgradesstables includes secondary indexes (CASSANDRA-6598)
* Paginate batchlog replay (CASSANDRA-6569)
* skip blocking on streaming during drain (CASSANDRA-6603)
* Improve error message when schema doesn't match loaded sstable (CASSANDRA-6262)
* Add properties to adjust FD initial value and max interval (CASSANDRA-4375)
* Fix preparing with batch and delete from collection (CASSANDRA-6607)
* Fix ABSC reverse iterator's remove() method (CASSANDRA-6629)
* Handle host ID conflicts properly (CASSANDRA-6615)
* Move handling of migration event source to solve bootstrap race. (CASSANDRA-6648)
* Make sure compaction throughput value doesn't overflow with int math (CASSANDRA-6647)
2.0.4
* Allow removing snapshots of no-longer-existing CFs (CASSANDRA-6418)
* add StorageService.stopDaemon() (CASSANDRA-4268)
* add IRE for invalid CF supplied to get_count (CASSANDRA-5701)
* add client encryption support to sstableloader (CASSANDRA-6378)
* Fix accept() loop for SSL sockets post-shutdown (CASSANDRA-6468)
* Fix size-tiered compaction in LCS L0 (CASSANDRA-6496)
* Fix assertion failure in filterColdSSTables (CASSANDRA-6483)
* Fix row tombstones in larger-than-memory compactions (CASSANDRA-6008)
* Fix cleanup ClassCastException (CASSANDRA-6462)
* Reduce gossip memory use by interning VersionedValue strings (CASSANDRA-6410)
* Allow specifying datacenters to participate in a repair (CASSANDRA-6218)
* Fix divide-by-zero in PCI (CASSANDRA-6403)
* Fix setting last compacted key in the wrong level for LCS (CASSANDRA-6284)
* Add millisecond precision formats to the timestamp parser (CASSANDRA-6395)
* Expose a total memtable size metric for a CF (CASSANDRA-6391)
* cqlsh: handle symlinks properly (CASSANDRA-6425)
* Fix potential infinite loop when paging query with IN (CASSANDRA-6464)
* Fix assertion error in AbstractQueryPager.discardFirst (CASSANDRA-6447)
* Fix streaming older SSTable yields unnecessary tombstones (CASSANDRA-6527)
Merged from 1.2:
* Improved error message on bad properties in DDL queries (CASSANDRA-6453)
* Randomize batchlog candidates selection (CASSANDRA-6481)
* Fix thundering herd on endpoint cache invalidation (CASSANDRA-6345, 6485)
* Improve batchlog write performance with vnodes (CASSANDRA-6488)
* cqlsh: quote single quotes in strings inside collections (CASSANDRA-6172)
* Improve gossip performance for typical messages (CASSANDRA-6409)
* Throw IRE if a prepared statement has more markers than supported
(CASSANDRA-5598)
* Expose Thread metrics for the native protocol server (CASSANDRA-6234)
* Change snapshot response message verb to INTERNAL to avoid dropping it
(CASSANDRA-6415)
* Warn when collection read has > 65K elements (CASSANDRA-5428)
* Fix cache persistence when both row and key cache are enabled
(CASSANDRA-6413)
* (Hadoop) add describe_local_ring (CASSANDRA-6268)
* Fix handling of concurrent directory creation failure (CASSANDRA-6459)
* Allow executing CREATE statements multiple times (CASSANDRA-6471)
* Don't send confusing info with timeouts (CASSANDRA-6491)
* Don't resubmit counter mutation runnables internally (CASSANDRA-6427)
* Don't drop local mutations without a hint (CASSANDRA-6510)
* Don't allow null max_hint_window_in_ms (CASSANDRA-6419)
* Validate SliceRange start and finish lengths (CASSANDRA-6521)
2.0.3
* Fix FD leak on slice read path (CASSANDRA-6275)
* Cancel read meter task when closing SSTR (CASSANDRA-6358)
* free off-heap IndexSummary during bulk (CASSANDRA-6359)
* Recover from IOException in accept() thread (CASSANDRA-6349)
* Improve Gossip tolerance of abnormally slow tasks (CASSANDRA-6338)
* Fix trying to hint timed out counter writes (CASSANDRA-6322)
* Allow restoring specific columnfamilies from archived CL (CASSANDRA-4809)
* Avoid flushing compaction_history after each operation (CASSANDRA-6287)
* Fix repair assertion error when tombstones expire (CASSANDRA-6277)
* Skip loading corrupt key cache (CASSANDRA-6260)
* Fixes for compacting larger-than-memory rows (CASSANDRA-6274)
* Compact hottest sstables first and optionally omit coldest from
compaction entirely (CASSANDRA-6109)
* Fix modifying column_metadata from thrift (CASSANDRA-6182)
* cqlsh: fix LIST USERS output (CASSANDRA-6242)
* Add IRequestSink interface (CASSANDRA-6248)
* Update memtable size while flushing (CASSANDRA-6249)
* Provide hooks around CQL2/CQL3 statement execution (CASSANDRA-6252)
* Require Permission.SELECT for CAS updates (CASSANDRA-6247)
* New CQL-aware SSTableWriter (CASSANDRA-5894)
* Reject CAS operation when the protocol v1 is used (CASSANDRA-6270)
* Correctly throw error when frame too large (CASSANDRA-5981)
* Fix serialization bug in PagedRange with 2ndary indexes (CASSANDRA-6299)
* Fix CQL3 table validation in Thrift (CASSANDRA-6140)
* Fix bug missing results with IN clauses (CASSANDRA-6327)
* Fix paging with reversed slices (CASSANDRA-6343)
* Set minTimestamp correctly to be able to drop expired sstables (CASSANDRA-6337)
* Support NaN and Infinity as float literals (CASSANDRA-6003)
* Remove RF from nodetool ring output (CASSANDRA-6289)
* Fix attempting to flush empty rows (CASSANDRA-6374)
* Fix potential out of bounds exception when paging (CASSANDRA-6333)
Merged from 1.2:
* Optimize FD phi calculation (CASSANDRA-6386)
* Improve initial FD phi estimate when starting up (CASSANDRA-6385)
* Don't list CQL3 table in CLI describe even if named explicitely
(CASSANDRA-5750)
* Invalidate row cache when dropping CF (CASSANDRA-6351)
* add non-jamm path for cached statements (CASSANDRA-6293)
* (Hadoop) Require CFRR batchSize to be at least 2 (CASSANDRA-6114)
* Fix altering column types (CASSANDRA-6185)
* cqlsh: fix CREATE/ALTER WITH completion (CASSANDRA-6196)
* add windows bat files for shell commands (CASSANDRA-6145)
* Fix potential stack overflow during range tombstones insertion (CASSANDRA-6181)
* (Hadoop) Make LOCAL_ONE the default consistency level (CASSANDRA-6214)
* Require logging in for Thrift CQL2/3 statement preparation (CASSANDRA-6254)
* restrict max_num_tokens to 1536 (CASSANDRA-6267)
* Nodetool gets default JMX port from cassandra-env.sh (CASSANDRA-6273)
* make calculatePendingRanges asynchronous (CASSANDRA-6244)
* Remove blocking flushes in gossip thread (CASSANDRA-6297)
* Fix potential socket leak in connectionpool creation (CASSANDRA-6308)
* Allow LOCAL_ONE/LOCAL_QUORUM to work with SimpleStrategy (CASSANDRA-6238)
* cqlsh: handle 'null' as session duration (CASSANDRA-6317)
* Fix json2sstable handling of range tombstones (CASSANDRA-6316)
* Fix missing one row in reverse query (CASSANDRA-6330)
* Fix reading expired row value from row cache (CASSANDRA-6325)
* Fix AssertionError when doing set element deletion (CASSANDRA-6341)
* Make CL code for the native protocol match the one in C* 2.0
(CASSANDRA-6347)
* Disallow altering CQL3 table from thrift (CASSANDRA-6370)
* Fix size computation of prepared statement (CASSANDRA-6369)
2.0.2
* Update FailureDetector to use nanontime (CASSANDRA-4925)
* Fix FileCacheService regressions (CASSANDRA-6149)
* Never return WriteTimeout for CL.ANY (CASSANDRA-6132)
* Fix race conditions in bulk loader (CASSANDRA-6129)
* Add configurable metrics reporting (CASSANDRA-4430)
* drop queries exceeding a configurable number of tombstones (CASSANDRA-6117)
* Track and persist sstable read activity (CASSANDRA-5515)
* Fixes for speculative retry (CASSANDRA-5932, CASSANDRA-6194)
* 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)
* Create snapshot dir if it does not exist when migrating
leveled manifest (CASSANDRA-6093)
* make sequential nodetool repair the default (CASSANDRA-5950)
* Add more hooks for compaction strategy implementations (CASSANDRA-6111)
* Fix potential NPE on composite 2ndary indexes (CASSANDRA-6098)
* Delete can potentially be skipped in batch (CASSANDRA-6115)
* Allow alter keyspace on system_traces (CASSANDRA-6016)
* Disallow empty column names in cql (CASSANDRA-6136)
* Use Java7 file-handling APIs and fix file moving on Windows (CASSANDRA-5383)
* Save compaction history to system keyspace (CASSANDRA-5078)
* Fix NPE if StorageService.getOperationMode() is executed before full startup (CASSANDRA-6166)
* CQL3: support pre-epoch longs for TimestampType (CASSANDRA-6212)
* Add reloadtriggers command to nodetool (CASSANDRA-4949)
* cqlsh: ignore empty 'value alias' in DESCRIBE (CASSANDRA-6139)
* Fix sstable loader (CASSANDRA-6205)
* Reject bootstrapping if the node already exists in gossip (CASSANDRA-5571)
* Fix NPE while loading paxos state (CASSANDRA-6211)
* cqlsh: add SHOW SESSION <tracing-session> command (CASSANDRA-6228)
* Reject bootstrapping if the node already exists in gossip (CASSANDRA-5571)
* Fix NPE while loading paxos state (CASSANDRA-6211)
* cqlsh: add SHOW SESSION <tracing-session> command (CASSANDRA-6228)
Merged from 1.2:
* (Hadoop) Require CFRR batchSize to be at least 2 (CASSANDRA-6114)
* Add a warning for small LCS sstable size (CASSANDRA-6191)
* Add ability to list specific KS/CF combinations in nodetool cfstats (CASSANDRA-4191)
* Mark CF clean if a mutation raced the drop and got it marked dirty (CASSANDRA-5946)
* Add a LOCAL_ONE consistency level (CASSANDRA-6202)
* Limit CQL prepared statement cache by size instead of count (CASSANDRA-6107)
* Tracing should log write failure rather than raw exceptions (CASSANDRA-6133)
* lock access to TM.endpointToHostIdMap (CASSANDRA-6103)
* Allow estimated memtable size to exceed slab allocator size (CASSANDRA-6078)
* 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)
* Fix fat client schema pull NPE (CASSANDRA-6089)
* Fix memtable flushing for indexed tables (CASSANDRA-6112)
* Fix skipping columns with multiple slices (CASSANDRA-6119)
* Expose connected thrift + native client counts (CASSANDRA-5084)
* Optimize auth setup (CASSANDRA-6122)
* Trace index selection (CASSANDRA-6001)
* Update sstablesPerReadHistogram to use biased sampling (CASSANDRA-6164)
* Log UnknownColumnfamilyException when closing socket (CASSANDRA-5725)
* Properly error out on CREATE INDEX for counters table (CASSANDRA-6160)
* Handle JMX notification failure for repair (CASSANDRA-6097)
* (Hadoop) Fetch no more than 128 splits in parallel (CASSANDRA-6169)
* stress: add username/password authentication support (CASSANDRA-6068)
* Fix indexed queries with row cache enabled on parent table (CASSANDRA-5732)
* Fix compaction race during columnfamily drop (CASSANDRA-5957)
* Fix validation of empty column names for compact tables (CASSANDRA-6152)
* Skip replaying mutations that pass CRC but fail to deserialize (CASSANDRA-6183)
* Rework token replacement to use replace_address (CASSANDRA-5916)
* Fix altering column types (CASSANDRA-6185)
* cqlsh: fix CREATE/ALTER WITH completion (CASSANDRA-6196)
* Fix altering column types (CASSANDRA-6185)
* cqlsh: fix CREATE/ALTER WITH completion (CASSANDRA-6196)
* add windows bat files for shell commands (CASSANDRA-6145)
* Fix potential stack overflow during range tombstones insertion (CASSANDRA-6181)
* (Hadoop) Make LOCAL_ONE the default consistency level (CASSANDRA-6214)
2.0.1
* Fix bug that could allow reading deleted data temporarily (CASSANDRA-6025)
* Improve memory use defaults (CASSANDRA-6059)
* 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)
* Pig: support for cql3 tables (CASSANDRA-5234)
* 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 (CASSANDRA-5719)
* Don't keep ancestor information in memory (CASSANDRA-5342)
* cqlsh: fix handling of semicolons inside BATCH queries (CASSANDRA-5697)
* 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
* Add support for indexing clustered columns (CASSANDRA-5125)
* 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 (CASSANDRA-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)