Merge branch 'cassandra-3.X' into trunk
[cassandra.git] / CHANGES.txt
1 4.0
2  * Add column definition kind to dropped columns in schema (CASSANDRA-12705)
3  * Add (automate) Nodetool Documentation (CASSANDRA-12672)
4  * Update bundled cqlsh python driver to 3.7.0 (CASSANDRA-12736)
5  * Reject invalid replication settings when creating or altering a keyspace (CASSANDRA-12681)
6
7
8 3.10
9  * Improve sum aggregate functions (CASSANDRA-12417)
10  * Make cassandra.yaml docs for batch_size_*_threshold_in_kb reflect changes in CASSANDRA-10876 (CASSANDRA-12761)
11  * cqlsh fails to format collections when using aliases (CASSANDRA-11534)
12  * Check for hash conflicts in prepared statements (CASSANDRA-12733)
13  * Exit query parsing upon first error (CASSANDRA-12598)
14  * Fix cassandra-stress to use single seed in UUID generation (CASSANDRA-12729)
15  * CQLSSTableWriter does not allow Update statement (CASSANDRA-12450)
16  * Config class uses boxed types but DD exposes primitive types (CASSANDRA-12199)
17  * Add pre- and post-shutdown hooks to Storage Service (CASSANDRA-12461)
18  * Add hint delivery metrics (CASSANDRA-12693)
19  * Remove IndexInfo cache from FileIndexInfoRetriever (CASSANDRA-12731)
20  * ColumnIndex does not reuse buffer (CASSANDRA-12502)
21  * cdc column addition still breaks schema migration tasks (CASSANDRA-12697)
22  * Upgrade metrics-reporter dependencies (CASSANDRA-12089)
23  * Tune compaction thread count via nodetool (CASSANDRA-12248)
24  * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232)
25  * Include repair session IDs in repair start message (CASSANDRA-12532)
26  * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039)
27  * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667)
28  * Support optional backpressure strategies at the coordinator (CASSANDRA-9318)
29  * Make randompartitioner work with new vnode allocation (CASSANDRA-12647)
30  * Fix cassandra-stress graphing (CASSANDRA-12237)
31  * Allow filtering on partition key columns for queries without secondary indexes (CASSANDRA-11031)
32  * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585)
33  * Add JMH benchmarks.jar (CASSANDRA-12586)
34  * Add row offset support to SASI (CASSANDRA-11990)
35  * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567)
36  * Add keep-alive to streaming (CASSANDRA-11841)
37  * Tracing payload is passed through newSession(..) (CASSANDRA-11706)
38  * avoid deleting non existing sstable files and improve related log messages (CASSANDRA-12261)
39  * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486)
40  * Retry all internode messages once after a connection is
41    closed and reopened (CASSANDRA-12192)
42  * Add support to rebuild from targeted replica (CASSANDRA-9875)
43  * Add sequence distribution type to cassandra stress (CASSANDRA-12490)
44  * "SELECT * FROM foo LIMIT ;" does not error out (CASSANDRA-12154)
45  * Define executeLocally() at the ReadQuery Level (CASSANDRA-12474)
46  * Extend read/write failure messages with a map of replica addresses
47    to error codes in the v5 native protocol (CASSANDRA-12311)
48  * Fix rebuild of SASI indexes with existing index files (CASSANDRA-12374)
49  * Let DatabaseDescriptor not implicitly startup services (CASSANDRA-9054, 12550)
50  * Fix clustering indexes in presence of static columns in SASI (CASSANDRA-12378)
51  * Fix queries on columns with reversed type on SASI indexes (CASSANDRA-12223)
52  * Added slow query log (CASSANDRA-12403)
53  * Count full coordinated request against timeout (CASSANDRA-12256)
54  * Allow TTL with null value on insert and update (CASSANDRA-12216)
55  * Make decommission operation resumable (CASSANDRA-12008)
56  * Add support to one-way targeted repair (CASSANDRA-9876)
57  * Remove clientutil jar (CASSANDRA-11635)
58  * Fix compaction throughput throttle (CASSANDRA-12366, CASSANDRA-12717)
59  * Delay releasing Memtable memory on flush until PostFlush has finished running (CASSANDRA-12358)
60  * Cassandra stress should dump all setting on startup (CASSANDRA-11914)
61  * Make it possible to compact a given token range (CASSANDRA-10643)
62  * Allow updating DynamicEndpointSnitch properties via JMX (CASSANDRA-12179)
63  * Collect metrics on queries by consistency level (CASSANDRA-7384)
64  * Add support for GROUP BY to SELECT statement (CASSANDRA-10707)
65  * Deprecate memtable_cleanup_threshold and update default for memtable_flush_writers (CASSANDRA-12228)
66  * Upgrade to OHC 0.4.4 (CASSANDRA-12133)
67  * Add version command to cassandra-stress (CASSANDRA-12258)
68  * Create compaction-stress tool (CASSANDRA-11844)
69  * Garbage-collecting compaction operation and schema option (CASSANDRA-7019)
70  * Add beta protocol flag for v5 native protocol (CASSANDRA-12142)
71  * Support filtering on non-PRIMARY KEY columns in the CREATE
72    MATERIALIZED VIEW statement's WHERE clause (CASSANDRA-10368)
73  * Unify STDOUT and SYSTEMLOG logback format (CASSANDRA-12004)
74  * COPY FROM should raise error for non-existing input files (CASSANDRA-12174)
75  * Faster write path (CASSANDRA-12269)
76  * Option to leave omitted columns in INSERT JSON unset (CASSANDRA-11424)
77  * Support json/yaml output in nodetool tpstats (CASSANDRA-12035)
78  * Expose metrics for successful/failed authentication attempts (CASSANDRA-10635)
79  * Prepend snapshot name with "truncated" or "dropped" when a snapshot
80    is taken before truncating or dropping a table (CASSANDRA-12178)
81  * Optimize RestrictionSet (CASSANDRA-12153)
82  * cqlsh does not automatically downgrade CQL version (CASSANDRA-12150)
83  * Omit (de)serialization of state variable in UDAs (CASSANDRA-9613)
84  * Create a system table to expose prepared statements (CASSANDRA-8831)
85  * Reuse DataOutputBuffer from ColumnIndex (CASSANDRA-11970)
86  * Remove DatabaseDescriptor dependency from SegmentedFile (CASSANDRA-11580)
87  * Add supplied username to authentication error messages (CASSANDRA-12076)
88  * Remove pre-startup check for open JMX port (CASSANDRA-12074)
89  * Remove compaction Severity from DynamicEndpointSnitch (CASSANDRA-11738)
90  * Restore resumable hints delivery (CASSANDRA-11960)
91 Merged from 3.0:
92  * Improve avg aggregate functions (CASSANDRA-12417)
93  * Preserve quoted reserved keyword column names in MV creation (CASSANDRA-11803)
94  * nodetool stopdaemon errors out (CASSANDRA-12646)
95  * Split materialized view mutations on build to prevent OOM (CASSANDRA-12268)
96  * mx4j does not work in 3.0.8 (CASSANDRA-12274)
97  * Abort cqlsh copy-from in case of no answer after prolonged period of time (CASSANDRA-12740)
98  * Avoid sstable corrupt exception due to dropped static column (CASSANDRA-12582)
99  * Make stress use client mode to avoid checking commit log size on startup (CASSANDRA-12478)
100  * Fix exceptions with new vnode allocation (CASSANDRA-12715)
101  * Unify drain and shutdown processes (CASSANDRA-12509)
102  * Fix NPE in ComponentOfSlice.isEQ() (CASSANDRA-12706)
103  * Fix failure in LogTransactionTest (CASSANDRA-12632)
104  * Fix potentially incomplete non-frozen UDT values when querying with the
105    full primary key specified (CASSANDRA-12605)
106  * Make sure repaired tombstones are dropped when only_purge_repaired_tombstones is enabled (CASSANDRA-12703)
107  * Skip writing MV mutations to commitlog on mutation.applyUnsafe() (CASSANDRA-11670)
108  * Establish consistent distinction between non-existing partition and NULL value for LWTs on static columns (CASSANDRA-12060)
109  * Extend ColumnIdentifier.internedInstances key to include the type that generated the byte buffer (CASSANDRA-12516)
110  * Handle composite prefixes with final EOC=0 as in 2.x and refactor LegacyLayout.decodeBound (CASSANDRA-12423)
111  * select_distinct_with_deletions_test failing on non-vnode environments (CASSANDRA-11126)
112  * Stack Overflow returned to queries while upgrading (CASSANDRA-12527)
113  * Fix legacy regex for temporary files from 2.2 (CASSANDRA-12565)
114  * Add option to state current gc_grace_seconds to tools/bin/sstablemetadata (CASSANDRA-12208)
115  * Fix file system race condition that may cause LogAwareFileLister to fail to classify files (CASSANDRA-11889)
116  * Fix file handle leaks due to simultaneous compaction/repair and
117    listing snapshots, calculating snapshot sizes, or making schema
118    changes (CASSANDRA-11594)
119  * Fix nodetool repair exits with 0 for some errors (CASSANDRA-12508)
120  * Do not shut down BatchlogManager twice during drain (CASSANDRA-12504)
121  * Disk failure policy should not be invoked on out of space (CASSANDRA-12385)
122  * Calculate last compacted key on startup (CASSANDRA-6216)
123  * Add schema to snapshot manifest, add USING TIMESTAMP clause to ALTER TABLE statements (CASSANDRA-7190)
124  * If CF has no clustering columns, any row cache is full partition cache (CASSANDRA-12499)
125 Merged from 2.2:
126  * Clean up permissions when a UDA is dropped (CASSANDRA-12720)
127  * Limit colUpdateTimeDelta histogram updates to reasonable deltas (CASSANDRA-11117)
128  * Fix leak errors and execution rejected exceptions when draining (CASSANDRA-12457)
129  * Fix merkle tree depth calculation (CASSANDRA-12580)
130  * Make Collections deserialization more robust (CASSANDRA-12618)
131  * Fix exceptions when enabling gossip on nodes that haven't joined the ring (CASSANDRA-12253)
132  * Fix authentication problem when invoking cqlsh copy from a SOURCE command (CASSANDRA-12642)
133  * Decrement pending range calculator jobs counter in finally block
134  * cqlshlib tests: increase default execute timeout (CASSANDRA-12481)
135  * Forward writes to replacement node when replace_address != broadcast_address (CASSANDRA-8523)
136  * Fail repair on non-existing table (CASSANDRA-12279)
137  * Enable repair -pr and -local together (fix regression of CASSANDRA-7450) (CASSANDRA-12522)
138  * Better handle invalid system roles table (CASSANDRA-12700)
139
140
141 3.8, 3.9
142  * Fix value skipping with counter columns (CASSANDRA-11726)
143  * Fix nodetool tablestats miss SSTable count (CASSANDRA-12205)
144  * Fixed flacky SSTablesIteratedTest (CASSANDRA-12282)
145  * Fixed flacky SSTableRewriterTest: check file counts before calling validateCFS (CASSANDRA-12348)
146  * cqlsh: Fix handling of $$-escaped strings (CASSANDRA-12189)
147  * Fix SSL JMX requiring truststore containing server cert (CASSANDRA-12109)
148  * RTE from new CDC column breaks in flight queries (CASSANDRA-12236)
149  * Fix hdr logging for single operation workloads (CASSANDRA-12145)
150  * Fix SASI PREFIX search in CONTAINS mode with partial terms (CASSANDRA-12073)
151  * Increase size of flushExecutor thread pool (CASSANDRA-12071)
152  * Partial revert of CASSANDRA-11971, cannot recycle buffer in SP.sendMessagesToNonlocalDC (CASSANDRA-11950)
153  * Upgrade netty to 4.0.39 (CASSANDRA-12032, CASSANDRA-12034)
154  * Improve details in compaction log message (CASSANDRA-12080)
155  * Allow unset values in CQLSSTableWriter (CASSANDRA-11911)
156  * Chunk cache to request compressor-compatible buffers if pool space is exhausted (CASSANDRA-11993)
157  * Remove DatabaseDescriptor dependencies from SequentialWriter (CASSANDRA-11579)
158  * Move skip_stop_words filter before stemming (CASSANDRA-12078)
159  * Support seek() in EncryptedFileSegmentInputStream (CASSANDRA-11957)
160  * SSTable tools mishandling LocalPartitioner (CASSANDRA-12002)
161  * When SEPWorker assigned work, set thread name to match pool (CASSANDRA-11966)
162  * Add cross-DC latency metrics (CASSANDRA-11596)
163  * Allow terms in selection clause (CASSANDRA-10783)
164  * Add bind variables to trace (CASSANDRA-11719)
165  * Switch counter shards' clock to timestamps (CASSANDRA-9811)
166  * Introduce HdrHistogram and response/service/wait separation to stress tool (CASSANDRA-11853)
167  * entry-weighers in QueryProcessor should respect partitionKeyBindIndexes field (CASSANDRA-11718)
168  * Support older ant versions (CASSANDRA-11807)
169  * Estimate compressed on disk size when deciding if sstable size limit reached (CASSANDRA-11623)
170  * cassandra-stress profiles should support case sensitive schemas (CASSANDRA-11546)
171  * Remove DatabaseDescriptor dependency from FileUtils (CASSANDRA-11578)
172  * Faster streaming (CASSANDRA-9766)
173  * Add prepared query parameter to trace for "Execute CQL3 prepared query" session (CASSANDRA-11425)
174  * Add repaired percentage metric (CASSANDRA-11503)
175  * Add Change-Data-Capture (CASSANDRA-8844)
176 Merged from 3.0:
177  * Fix paging for 2.x to 3.x upgrades (CASSANDRA-11195)
178  * Fix clean interval not sent to commit log for empty memtable flush (CASSANDRA-12436)
179  * Fix potential resource leak in RMIServerSocketFactoryImpl (CASSANDRA-12331)
180  * Make sure compaction stats are updated when compaction is interrupted (CASSANDRA-12100)
181  * Change commitlog and sstables to track dirty and clean intervals (CASSANDRA-11828)
182  * NullPointerException during compaction on table with static columns (CASSANDRA-12336)
183  * Fixed ConcurrentModificationException when reading metrics in GraphiteReporter (CASSANDRA-11823)
184  * Fix upgrade of super columns on thrift (CASSANDRA-12335)
185  * Fixed flacky BlacklistingCompactionsTest, switched to fixed size types and increased corruption size (CASSANDRA-12359)
186  * Rerun ReplicationAwareTokenAllocatorTest on failure to avoid flakiness (CASSANDRA-12277)
187  * Exception when computing read-repair for range tombstones (CASSANDRA-12263)
188  * Lost counter writes in compact table and static columns (CASSANDRA-12219)
189  * AssertionError with MVs on updating a row that isn't indexed due to a null value (CASSANDRA-12247)
190  * Disable RR and speculative retry with EACH_QUORUM reads (CASSANDRA-11980)
191  * Add option to override compaction space check (CASSANDRA-12180)
192  * Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114)
193  * Respond with v1/v2 protocol header when responding to driver that attempts
194    to connect with too low of a protocol version (CASSANDRA-11464)
195  * NullPointerExpception when reading/compacting table (CASSANDRA-11988)
196  * Fix problem with undeleteable rows on upgrade to new sstable format (CASSANDRA-12144)
197  * Fix potential bad messaging service message for paged range reads
198    within mixed-version 3.x clusters (CASSANDRA-12249)
199  * Fix paging logic for deleted partitions with static columns (CASSANDRA-12107)
200  * Wait until the message is being send to decide which serializer must be used (CASSANDRA-11393)
201  * Fix migration of static thrift column names with non-text comparators (CASSANDRA-12147)
202  * Fix upgrading sparse tables that are incorrectly marked as dense (CASSANDRA-11315)
203  * Fix reverse queries ignoring range tombstones (CASSANDRA-11733)
204  * Avoid potential race when rebuilding CFMetaData (CASSANDRA-12098)
205  * Avoid missing sstables when getting the canonical sstables (CASSANDRA-11996)
206  * Always select the live sstables when getting sstables in bounds (CASSANDRA-11944)
207  * Fix column ordering of results with static columns for Thrift requests in
208    a mixed 2.x/3.x cluster, also fix potential non-resolved duplication of
209    those static columns in query results (CASSANDRA-12123)
210  * Avoid digest mismatch with empty but static rows (CASSANDRA-12090)
211  * Fix EOF exception when altering column type (CASSANDRA-11820)
212  * Fix potential race in schema during new table creation (CASSANDRA-12083)
213  * cqlsh: fix error handling in rare COPY FROM failure scenario (CASSANDRA-12070)
214  * Disable autocompaction during drain (CASSANDRA-11878)
215  * Add a metrics timer to MemtablePool and use it to track time spent blocked on memory in MemtableAllocator (CASSANDRA-11327)
216  * Fix upgrading schema with super columns with non-text subcomparators (CASSANDRA-12023)
217  * Add TimeWindowCompactionStrategy (CASSANDRA-9666)
218  * Fix JsonTransformer output of partition with deletion info (CASSANDRA-12418)
219  * Fix NPE in SSTableLoader when specifying partial directory path (CASSANDRA-12609)
220 Merged from 2.2:
221  * Add local address entry in PropertyFileSnitch (CASSANDRA-11332)
222  * cqlsh copy: fix missing counter values (CASSANDRA-12476)
223  * Move migration tasks to non-periodic queue, assure flush executor shutdown after non-periodic executor (CASSANDRA-12251)
224  * cqlsh copy: fixed possible race in initializing feeding thread (CASSANDRA-11701)
225  * Only set broadcast_rpc_address on Ec2MultiRegionSnitch if it's not set (CASSANDRA-11357)
226  * Update StorageProxy range metrics for timeouts, failures and unavailables (CASSANDRA-9507)
227  * Add Sigar to classes included in clientutil.jar (CASSANDRA-11635)
228  * Add decay to histograms and timers used for metrics (CASSANDRA-11752)
229  * Fix hanging stream session (CASSANDRA-10992)
230  * Fix INSERT JSON, fromJson() support of smallint, tinyint types (CASSANDRA-12371)
231  * Restore JVM metric export for metric reporters (CASSANDRA-12312)
232  * Release sstables of failed stream sessions only when outgoing transfers are finished (CASSANDRA-11345)
233  * Wait for tracing events before returning response and query at same consistency level client side (CASSANDRA-11465)
234  * cqlsh copyutil should get host metadata by connected address (CASSANDRA-11979)
235  * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214)
236  * Synchronize ThriftServer::stop() (CASSANDRA-12105)
237  * Use dedicated thread for JMX notifications (CASSANDRA-12146)
238  * Improve streaming synchronization and fault tolerance (CASSANDRA-11414)
239  * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973)
240  * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755)
241  * Validate bloom_filter_fp_chance against lowest supported
242    value when the table is created (CASSANDRA-11920)
243  * Don't send erroneous NEW_NODE notifications on restart (CASSANDRA-11038)
244  * StorageService shutdown hook should use a volatile variable (CASSANDRA-11984)
245 Merged from 2.1:
246  * Add system property to set the max number of native transport requests in queue (CASSANDRA-11363)
247  * Fix queries with empty ByteBuffer values in clustering column restrictions (CASSANDRA-12127) 
248  * Disable passing control to post-flush after flush failure to prevent data loss (CASSANDRA-11828)
249  * Allow STCS-in-L0 compactions to reduce scope with LCS (CASSANDRA-12040)
250  * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850)
251  * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907)
252  * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
253  * Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
254  * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)
255  * Avoid marking too many sstables as repaired (CASSANDRA-11696)
256  * Prevent select statements with clustering key > 64k (CASSANDRA-11882)
257  * Fix clock skew corrupting other nodes with paxos (CASSANDRA-11991)
258  * Remove distinction between non-existing static columns and existing but null in LWTs (CASSANDRA-9842)
259  * Cache local ranges when calculating repair neighbors (CASSANDRA-11934)
260  * Allow LWT operation on static column with only partition keys (CASSANDRA-10532)
261  * Create interval tree over canonical sstables to avoid missing sstables during streaming (CASSANDRA-11886)
262  * cqlsh COPY FROM: shutdown parent cluster after forking, to avoid corrupting SSL connections (CASSANDRA-11749)
263
264
265 3.7
266  * Support multiple folders for user defined compaction tasks (CASSANDRA-11765)
267  * Fix race in CompactionStrategyManager's pause/resume (CASSANDRA-11922)
268 Merged from 3.0:
269  * Fix legacy serialization of Thrift-generated non-compound range tombstones
270    when communicating with 2.x nodes (CASSANDRA-11930)
271  * Fix Directories instantiations where CFS.initialDirectories should be used (CASSANDRA-11849)
272  * Avoid referencing DatabaseDescriptor in AbstractType (CASSANDRA-11912)
273  * Don't use static dataDirectories field in Directories instances (CASSANDRA-11647)
274  * Fix sstables not being protected from removal during index build (CASSANDRA-11905)
275  * cqlsh: Suppress stack trace from Read/WriteFailures (CASSANDRA-11032)
276  * Remove unneeded code to repair index summaries that have
277    been improperly down-sampled (CASSANDRA-11127)
278  * Avoid WriteTimeoutExceptions during commit log replay due to materialized
279    view lock contention (CASSANDRA-11891)
280  * Prevent OOM failures on SSTable corruption, improve tests for corruption detection (CASSANDRA-9530)
281  * Use CFS.initialDirectories when clearing snapshots (CASSANDRA-11705)
282  * Allow compaction strategies to disable early open (CASSANDRA-11754)
283  * Refactor Materialized View code (CASSANDRA-11475)
284  * Update Java Driver (CASSANDRA-11615)
285 Merged from 2.2:
286  * Persist local metadata earlier in startup sequence (CASSANDRA-11742)
287  * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
288  * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
289  * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
290  * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)
291  * Possible memory leak in NIODataInputStream (CASSANDRA-11867)
292  * Add seconds to cqlsh tracing session duration (CASSANDRA-11753)
293  * Fix commit log replay after out-of-order flush completion (CASSANDRA-9669)
294  * Prohibit Reversed Counter type as part of the PK (CASSANDRA-9395)
295  * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626)
296 Merged from 2.1:
297  * Run CommitLog tests with different compression settings (CASSANDRA-9039)
298  * cqlsh: apply current keyspace to source command (CASSANDRA-11152)
299  * Clear out parent repair session if repair coordinator dies (CASSANDRA-11824)
300  * Set default streaming_socket_timeout_in_ms to 24 hours (CASSANDRA-11840)
301  * Do not consider local node a valid source during replace (CASSANDRA-11848)
302  * Add message dropped tasks to nodetool netstats (CASSANDRA-11855)
303  * Avoid holding SSTableReaders for duration of incremental repair (CASSANDRA-11739)
304
305
306 3.6
307  * Correctly migrate schema for frozen UDTs during 2.x -> 3.x upgrades
308    (does not affect any released versions) (CASSANDRA-11613)
309  * Allow server startup if JMX is configured directly (CASSANDRA-11725)
310  * Prevent direct memory OOM on buffer pool allocations (CASSANDRA-11710)
311  * Enhanced Compaction Logging (CASSANDRA-10805)
312  * Make prepared statement cache size configurable (CASSANDRA-11555)
313  * Integrated JMX authentication and authorization (CASSANDRA-10091)
314  * Add units to stress ouput (CASSANDRA-11352)
315  * Fix PER PARTITION LIMIT for single and multi partitions queries (CASSANDRA-11603)
316  * Add uncompressed chunk cache for RandomAccessReader (CASSANDRA-5863)
317  * Clarify ClusteringPrefix hierarchy (CASSANDRA-11213)
318  * Always perform collision check before joining ring (CASSANDRA-10134)
319  * SSTableWriter output discrepancy (CASSANDRA-11646)
320  * Fix potential timeout in NativeTransportService.testConcurrentDestroys (CASSANDRA-10756)
321  * Support large partitions on the 3.0 sstable format (CASSANDRA-11206,11763)
322  * Add support to rebuild from specific range (CASSANDRA-10406)
323  * Optimize the overlapping lookup by calculating all the
324    bounds in advance (CASSANDRA-11571)
325  * Support json/yaml output in nodetool tablestats (CASSANDRA-5977)
326  * (stress) Add datacenter option to -node options (CASSANDRA-11591)
327  * Fix handling of empty slices (CASSANDRA-11513)
328  * Make number of cores used by cqlsh COPY visible to testing code (CASSANDRA-11437)
329  * Allow filtering on clustering columns for queries without secondary indexes (CASSANDRA-11310)
330  * Refactor Restriction hierarchy (CASSANDRA-11354)
331  * Eliminate allocations in R/W path (CASSANDRA-11421)
332  * Update Netty to 4.0.36 (CASSANDRA-11567)
333  * Fix PER PARTITION LIMIT for queries requiring post-query ordering (CASSANDRA-11556)
334  * Allow instantiation of UDTs and tuples in UDFs (CASSANDRA-10818)
335  * Support UDT in CQLSSTableWriter (CASSANDRA-10624)
336  * Support for non-frozen user-defined types, updating
337    individual fields of user-defined types (CASSANDRA-7423)
338  * Make LZ4 compression level configurable (CASSANDRA-11051)
339  * Allow per-partition LIMIT clause in CQL (CASSANDRA-7017)
340  * Make custom filtering more extensible with UserExpression (CASSANDRA-11295)
341  * Improve field-checking and error reporting in cassandra.yaml (CASSANDRA-10649)
342  * Print CAS stats in nodetool proxyhistograms (CASSANDRA-11507)
343  * More user friendly error when providing an invalid token to nodetool (CASSANDRA-9348)
344  * Add static column support to SASI index (CASSANDRA-11183)
345  * Support EQ/PREFIX queries in SASI CONTAINS mode without tokenization (CASSANDRA-11434)
346  * Support LIKE operator in prepared statements (CASSANDRA-11456)
347  * Add a command to see if a Materialized View has finished building (CASSANDRA-9967)
348  * Log endpoint and port associated with streaming operation (CASSANDRA-8777)
349  * Print sensible units for all log messages (CASSANDRA-9692)
350  * Upgrade Netty to version 4.0.34 (CASSANDRA-11096)
351  * Break the CQL grammar into separate Parser and Lexer (CASSANDRA-11372)
352  * Compress only inter-dc traffic by default (CASSANDRA-8888)
353  * Add metrics to track write amplification (CASSANDRA-11420)
354  * cassandra-stress: cannot handle "value-less" tables (CASSANDRA-7739)
355  * Add/drop multiple columns in one ALTER TABLE statement (CASSANDRA-10411)
356  * Add require_endpoint_verification opt for internode encryption (CASSANDRA-9220)
357  * Add auto import java.util for UDF code block (CASSANDRA-11392)
358  * Add --hex-format option to nodetool getsstables (CASSANDRA-11337)
359  * sstablemetadata should print sstable min/max token (CASSANDRA-7159)
360  * Do not wrap CassandraException in TriggerExecutor (CASSANDRA-9421)
361  * COPY TO should have higher double precision (CASSANDRA-11255)
362  * Stress should exit with non-zero status after failure (CASSANDRA-10340)
363  * Add client to cqlsh SHOW_SESSION (CASSANDRA-8958)
364  * Fix nodetool tablestats keyspace level metrics (CASSANDRA-11226)
365  * Store repair options in parent_repair_history (CASSANDRA-11244)
366  * Print current leveling in sstableofflinerelevel (CASSANDRA-9588)
367  * Change repair message for keyspaces with RF 1 (CASSANDRA-11203)
368  * Remove hard-coded SSL cipher suites and protocols (CASSANDRA-10508)
369  * Improve concurrency in CompactionStrategyManager (CASSANDRA-10099)
370  * (cqlsh) interpret CQL type for formatting blobs (CASSANDRA-11274)
371  * Refuse to start and print txn log information in case of disk
372    corruption (CASSANDRA-10112)
373  * Resolve some eclipse-warnings (CASSANDRA-11086)
374  * (cqlsh) Show static columns in a different color (CASSANDRA-11059)
375  * Allow to remove TTLs on table with default_time_to_live (CASSANDRA-11207)
376 Merged from 3.0:
377  * Disallow creating view with a static column (CASSANDRA-11602)
378  * Reduce the amount of object allocations caused by the getFunctions methods (CASSANDRA-11593)
379  * Potential error replaying commitlog with smallint/tinyint/date/time types (CASSANDRA-11618)
380  * Fix queries with filtering on counter columns (CASSANDRA-11629)
381  * Improve tombstone printing in sstabledump (CASSANDRA-11655)
382  * Fix paging for range queries where all clustering columns are specified (CASSANDRA-11669)
383  * Don't require HEAP_NEW_SIZE to be set when using G1 (CASSANDRA-11600)
384  * Fix sstabledump not showing cells after tombstone marker (CASSANDRA-11654)
385  * Ignore all LocalStrategy keyspaces for streaming and other related
386    operations (CASSANDRA-11627)
387  * Ensure columnfilter covers indexed columns for thrift 2i queries (CASSANDRA-11523)
388  * Only open one sstable scanner per sstable (CASSANDRA-11412)
389  * Option to specify ProtocolVersion in cassandra-stress (CASSANDRA-11410)
390  * ArithmeticException in avgFunctionForDecimal (CASSANDRA-11485)
391  * LogAwareFileLister should only use OLD sstable files in current folder to determine disk consistency (CASSANDRA-11470)
392  * Notify indexers of expired rows during compaction (CASSANDRA-11329)
393  * Properly respond with ProtocolError when a v1/v2 native protocol
394    header is received (CASSANDRA-11464)
395  * Validate that num_tokens and initial_token are consistent with one another (CASSANDRA-10120)
396 Merged from 2.2:
397  * Exit JVM if JMX server fails to startup (CASSANDRA-11540)
398  * Produce a heap dump when exiting on OOM (CASSANDRA-9861)
399  * Restore ability to filter on clustering columns when using a 2i (CASSANDRA-11510)
400  * JSON datetime formatting needs timezone (CASSANDRA-11137)
401  * Fix is_dense recalculation for Thrift-updated tables (CASSANDRA-11502)
402  * Remove unnescessary file existence check during anticompaction (CASSANDRA-11660)
403  * Add missing files to debian packages (CASSANDRA-11642)
404  * Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621)
405  * cqlsh: COPY FROM should use regular inserts for single statement batches and
406    report errors correctly if workers processes crash on initialization (CASSANDRA-11474)
407  * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553)
408  * Allow only DISTINCT queries with partition keys restrictions (CASSANDRA-11339)
409  * CqlConfigHelper no longer requires both a keystore and truststore to work (CASSANDRA-11532)
410  * Make deprecated repair methods backward-compatible with previous notification service (CASSANDRA-11430)
411  * IncomingStreamingConnection version check message wrong (CASSANDRA-11462)
412 Merged from 2.1:
413  * Support mlockall on IBM POWER arch (CASSANDRA-11576)
414  * Add option to disable use of severity in DynamicEndpointSnitch (CASSANDRA-11737)
415  * cqlsh COPY FROM fails for null values with non-prepared statements (CASSANDRA-11631)
416  * Make cython optional in pylib/setup.py (CASSANDRA-11630)
417  * Change order of directory searching for cassandra.in.sh to favor local one (CASSANDRA-11628)
418  * cqlsh COPY FROM fails with []{} chars in UDT/tuple fields/values (CASSANDRA-11633)
419  * clqsh: COPY FROM throws TypeError with Cython extensions enabled (CASSANDRA-11574)
420  * cqlsh: COPY FROM ignores NULL values in conversion (CASSANDRA-11549)
421  * Validate levels when building LeveledScanner to avoid overlaps with orphaned sstables (CASSANDRA-9935)
422
423
424 3.5
425  * StaticTokenTreeBuilder should respect posibility of duplicate tokens (CASSANDRA-11525)
426  * Correctly fix potential assertion error during compaction (CASSANDRA-11353)
427  * Avoid index segment stitching in RAM which lead to OOM on big SSTable files (CASSANDRA-11383)
428  * Fix clustering and row filters for LIKE queries on clustering columns (CASSANDRA-11397)
429 Merged from 3.0:
430  * Fix rare NPE on schema upgrade from 2.x to 3.x (CASSANDRA-10943)
431  * Improve backoff policy for cqlsh COPY FROM (CASSANDRA-11320)
432  * Improve IF NOT EXISTS check in CREATE INDEX (CASSANDRA-11131)
433  * Upgrade ohc to 0.4.3
434  * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093)
435  * Allocate merkletrees with the correct size (CASSANDRA-11390)
436  * Support streaming pre-3.0 sstables (CASSANDRA-10990)
437  * Add backpressure to compressed or encrypted commit log (CASSANDRA-10971)
438  * SSTableExport supports secondary index tables (CASSANDRA-11330)
439  * Fix sstabledump to include missing info in debug output (CASSANDRA-11321)
440  * Establish and implement canonical bulk reading workload(s) (CASSANDRA-10331)
441  * Fix paging for IN queries on tables without clustering columns (CASSANDRA-11208)
442  * Remove recursive call from CompositesSearcher (CASSANDRA-11304)
443  * Fix filtering on non-primary key columns for queries without index (CASSANDRA-6377)
444  * Fix sstableloader fail when using materialized view (CASSANDRA-11275)
445 Merged from 2.2:
446  * DatabaseDescriptor should log stacktrace in case of Eception during seed provider creation (CASSANDRA-11312)
447  * Use canonical path for directory in SSTable descriptor (CASSANDRA-10587)
448  * Add cassandra-stress keystore option (CASSANDRA-9325)
449  * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451)
450  * Notify when sstables change after cancelling compaction (CASSANDRA-11373)
451  * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333)
452  * Add -Dcassandra.start_gossip startup option (CASSANDRA-10809)
453  * Fix UTF8Validator.validate() for modified UTF-8 (CASSANDRA-10748)
454  * Clarify that now() function is calculated on the coordinator node in CQL documentation (CASSANDRA-10900)
455  * Fix bloom filter sizing with LCS (CASSANDRA-11344)
456  * (cqlsh) Fix error when result is 0 rows with EXPAND ON (CASSANDRA-11092)
457  * Add missing newline at end of bin/cqlsh (CASSANDRA-11325)
458  * Unresolved hostname leads to replace being ignored (CASSANDRA-11210)
459  * Only log yaml config once, at startup (CASSANDRA-11217)
460  * Reference leak with parallel repairs on the same table (CASSANDRA-11215)
461 Merged from 2.1:
462  * Add a -j parameter to scrub/cleanup/upgradesstables to state how
463    many threads to use (CASSANDRA-11179)
464  * COPY FROM on large datasets: fix progress report and debug performance (CASSANDRA-11053)
465  * InvalidateKeys should have a weak ref to key cache (CASSANDRA-11176)
466
467
468 3.4
469  * (cqlsh) add cqlshrc option to always connect using ssl (CASSANDRA-10458)
470  * Cleanup a few resource warnings (CASSANDRA-11085)
471  * Allow custom tracing implementations (CASSANDRA-10392)
472  * Extract LoaderOptions to be able to be used from outside (CASSANDRA-10637)
473  * fix OnDiskIndexTest to properly treat empty ranges (CASSANDRA-11205)
474  * fix TrackerTest to handle new notifications (CASSANDRA-11178)
475  * add SASI validation for partitioner and complex columns (CASSANDRA-11169)
476  * Add caching of encrypted credentials in PasswordAuthenticator (CASSANDRA-7715)
477  * fix SASI memtable switching on flush (CASSANDRA-11159)
478  * Remove duplicate offline compaction tracking (CASSANDRA-11148)
479  * fix EQ semantics of analyzed SASI indexes (CASSANDRA-11130)
480  * Support long name output for nodetool commands (CASSANDRA-7950)
481  * Encrypted hints (CASSANDRA-11040)
482  * SASI index options validation (CASSANDRA-11136)
483  * Optimize disk seek using min/max column name meta data when the LIMIT clause is used
484    (CASSANDRA-8180)
485  * Add LIKE support to CQL3 (CASSANDRA-11067)
486  * Generic Java UDF types (CASSANDRA-10819)
487  * cqlsh: Include sub-second precision in timestamps by default (CASSANDRA-10428)
488  * Set javac encoding to utf-8 (CASSANDRA-11077)
489  * Integrate SASI index into Cassandra (CASSANDRA-10661)
490  * Add --skip-flush option to nodetool snapshot
491  * Skip values for non-queried columns (CASSANDRA-10657)
492  * Add support for secondary indexes on static columns (CASSANDRA-8103)
493  * CommitLogUpgradeTestMaker creates broken commit logs (CASSANDRA-11051)
494  * Add metric for number of dropped mutations (CASSANDRA-10866)
495  * Simplify row cache invalidation code (CASSANDRA-10396)
496  * Support user-defined compaction through nodetool (CASSANDRA-10660)
497  * Stripe view locks by key and table ID to reduce contention (CASSANDRA-10981)
498  * Add nodetool gettimeout and settimeout commands (CASSANDRA-10953)
499  * Add 3.0 metadata to sstablemetadata output (CASSANDRA-10838)
500 Merged from 3.0:
501  * MV should only query complex columns included in the view (CASSANDRA-11069)
502  * Failed aggregate creation breaks server permanently (CASSANDRA-11064)
503  * Add sstabledump tool (CASSANDRA-7464)
504  * Introduce backpressure for hints (CASSANDRA-10972)
505  * Fix ClusteringPrefix not being able to read tombstone range boundaries (CASSANDRA-11158)
506  * Prevent logging in sandboxed state (CASSANDRA-11033)
507  * Disallow drop/alter operations of UDTs used by UDAs (CASSANDRA-10721)
508  * Add query time validation method on Index (CASSANDRA-11043)
509  * Avoid potential AssertionError in mixed version cluster (CASSANDRA-11128)
510  * Properly handle hinted handoff after topology changes (CASSANDRA-5902)
511  * AssertionError when listing sstable files on inconsistent disk state (CASSANDRA-11156)
512  * Fix wrong rack counting and invalid conditions check for TokenAllocation
513    (CASSANDRA-11139)
514  * Avoid creating empty hint files (CASSANDRA-11090)
515  * Fix leak detection strong reference loop using weak reference (CASSANDRA-11120)
516  * Configurie BatchlogManager to stop delayed tasks on shutdown (CASSANDRA-11062)
517  * Hadoop integration is incompatible with Cassandra Driver 3.0.0 (CASSANDRA-11001)
518  * Add dropped_columns to the list of schema table so it gets handled
519    properly (CASSANDRA-11050)
520  * Fix NPE when using forceRepairRangeAsync without DC (CASSANDRA-11239)
521 Merged from 2.2:
522  * Preserve order for preferred SSL cipher suites (CASSANDRA-11164)
523  * Range.compareTo() violates the contract of Comparable (CASSANDRA-11216)
524  * Avoid NPE when serializing ErrorMessage with null message (CASSANDRA-11167)
525  * Replacing an aggregate with a new version doesn't reset INITCOND (CASSANDRA-10840)
526  * (cqlsh) cqlsh cannot be called through symlink (CASSANDRA-11037)
527  * fix ohc and java-driver pom dependencies in build.xml (CASSANDRA-10793)
528  * Protect from keyspace dropped during repair (CASSANDRA-11065)
529  * Handle adding fields to a UDT in SELECT JSON and toJson() (CASSANDRA-11146)
530  * Better error message for cleanup (CASSANDRA-10991)
531  * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
532  * Always persist upsampled index summaries (CASSANDRA-10512)
533  * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
534  * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
535  * Fix SELECT on tuple relations for mixed ASC/DESC clustering order (CASSANDRA-7281)
536  * Use cloned TokenMetadata in size estimates to avoid race against membership check
537    (CASSANDRA-10736)
538  * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
539  * Fix paging on DISTINCT queries repeats result when first row in partition changes
540    (CASSANDRA-10010)
541  * (cqlsh) Support timezone conversion using pytz (CASSANDRA-10397)
542  * cqlsh: change default encoding to UTF-8 (CASSANDRA-11124)
543 Merged from 2.1:
544  * Checking if an unlogged batch is local is inefficient (CASSANDRA-11529)
545  * Fix out-of-space error treatment in memtable flushing (CASSANDRA-11448).
546  * Don't do defragmentation if reading from repaired sstables (CASSANDRA-10342)
547  * Fix streaming_socket_timeout_in_ms not enforced (CASSANDRA-11286)
548  * Avoid dropping message too quickly due to missing unit conversion (CASSANDRA-11302)
549  * Don't remove FailureDetector history on removeEndpoint (CASSANDRA-10371)
550  * Only notify if repair status changed (CASSANDRA-11172)
551  * Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
552  * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
553  * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
554  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
555  * Improve nodetool status performance for large cluster (CASSANDRA-7238)
556  * Gossiper#isEnabled is not thread safe (CASSANDRA-11116)
557  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
558  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
559  * (cqlsh) Display milliseconds when datetime overflows (CASSANDRA-10625)
560
561
562 3.3
563  * Avoid infinite loop if owned range is smaller than number of
564    data dirs (CASSANDRA-11034)
565  * Avoid bootstrap hanging when existing nodes have no data to stream (CASSANDRA-11010)
566 Merged from 3.0:
567  * Remove double initialization of newly added tables (CASSANDRA-11027)
568  * Filter keys searcher results by target range (CASSANDRA-11104)
569  * Fix deserialization of legacy read commands (CASSANDRA-11087)
570  * Fix incorrect computation of deletion time in sstable metadata (CASSANDRA-11102)
571  * Avoid memory leak when collecting sstable metadata (CASSANDRA-11026)
572  * Mutations do not block for completion under view lock contention (CASSANDRA-10779)
573  * Invalidate legacy schema tables when unloading them (CASSANDRA-11071)
574  * (cqlsh) handle INSERT and UPDATE statements with LWT conditions correctly
575    (CASSANDRA-11003)
576  * Fix DISTINCT queries in mixed version clusters (CASSANDRA-10762)
577  * Migrate build status for indexes along with legacy schema (CASSANDRA-11046)
578  * Ensure SSTables for legacy KEYS indexes can be read (CASSANDRA-11045)
579  * Added support for IBM zSystems architecture (CASSANDRA-11054)
580  * Update CQL documentation (CASSANDRA-10899)
581  * Check the column name, not cell name, for dropped columns when reading
582    legacy sstables (CASSANDRA-11018)
583  * Don't attempt to index clustering values of static rows (CASSANDRA-11021)
584  * Remove checksum files after replaying hints (CASSANDRA-10947)
585  * Support passing base table metadata to custom 2i validation (CASSANDRA-10924)
586  * Ensure stale index entries are purged during reads (CASSANDRA-11013)
587  * (cqlsh) Also apply --connect-timeout to control connection
588    timeout (CASSANDRA-10959)
589  * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
590  * Fix UnsupportedOperationException when reading old sstable with range
591    tombstone (CASSANDRA-10743)
592  * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
593  * Fix potential assertion error during compaction (CASSANDRA-10944)
594 Merged from 2.2:
595  * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
596  * Apply change to compaction throughput in real time (CASSANDRA-10025)
597  * (cqlsh) encode input correctly when saving history
598  * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
599  * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
600    going (CASSANDRA-10979)
601  * Make UUID LSB unique per process (CASSANDRA-7925)
602  * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
603  * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
604  * Fix error streaming section more than 2GB (CASSANDRA-10961)
605  * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
606  * Enable GC logging by default (CASSANDRA-10140)
607  * Optimize pending range computation (CASSANDRA-9258)
608  * Skip commit log and saved cache directories in SSTable version startup check (CASSANDRA-10902)
609  * drop/alter user should be case sensitive (CASSANDRA-10817)
610 Merged from 2.1:
611  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
612  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
613  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
614  * Avoid NPE when incremental repair fails (CASSANDRA-10909)
615  * Unmark sstables compacting once they are done in cleanup/scrub/upgradesstables (CASSANDRA-10829)
616  * Allow simultaneous bootstrapping with strict consistency when no vnodes are used (CASSANDRA-11005)
617  * Log a message when major compaction does not result in a single file (CASSANDRA-10847)
618  * (cqlsh) fix cqlsh_copy_tests when vnodes are disabled (CASSANDRA-10997)
619  * (cqlsh) Add request timeout option to cqlsh (CASSANDRA-10686)
620  * Avoid AssertionError while submitting hint with LWT (CASSANDRA-10477)
621  * If CompactionMetadata is not in stats file, use index summary instead (CASSANDRA-10676)
622  * Retry sending gossip syn multiple times during shadow round (CASSANDRA-8072)
623  * Fix pending range calculation during moves (CASSANDRA-10887)
624  * Sane default (200Mbps) for inter-DC streaming througput (CASSANDRA-8708)
625
626
627
628 3.2
629  * Make sure tokens don't exist in several data directories (CASSANDRA-6696)
630  * Add requireAuthorization method to IAuthorizer (CASSANDRA-10852)
631  * Move static JVM options to conf/jvm.options file (CASSANDRA-10494)
632  * Fix CassandraVersion to accept x.y version string (CASSANDRA-10931)
633  * Add forceUserDefinedCleanup to allow more flexible cleanup (CASSANDRA-10708)
634  * (cqlsh) allow setting TTL with COPY (CASSANDRA-9494)
635  * Fix counting of received sstables in streaming (CASSANDRA-10949)
636  * Implement hints compression (CASSANDRA-9428)
637  * Fix potential assertion error when reading static columns (CASSANDRA-10903)
638  * Fix EstimatedHistogram creation in nodetool tablehistograms (CASSANDRA-10859)
639  * Establish bootstrap stream sessions sequentially (CASSANDRA-6992)
640  * Sort compactionhistory output by timestamp (CASSANDRA-10464)
641  * More efficient BTree removal (CASSANDRA-9991)
642  * Make tablehistograms accept the same syntax as tablestats (CASSANDRA-10149)
643  * Group pending compactions based on table (CASSANDRA-10718)
644  * Add compressor name in sstablemetadata output (CASSANDRA-9879)
645  * Fix type casting for counter columns (CASSANDRA-10824)
646  * Prevent running Cassandra as root (CASSANDRA-8142)
647  * bound maximum in-flight commit log replay mutation bytes to 64 megabytes (CASSANDRA-8639)
648  * Normalize all scripts (CASSANDRA-10679)
649  * Make compression ratio much more accurate (CASSANDRA-10225)
650  * Optimize building of Clustering object when only one is created (CASSANDRA-10409)
651  * Make index building pluggable (CASSANDRA-10681)
652  * Add sstable flush observer (CASSANDRA-10678)
653  * Improve NTS endpoints calculation (CASSANDRA-10200)
654  * Improve performance of the folderSize function (CASSANDRA-10677)
655  * Add support for type casting in selection clause (CASSANDRA-10310)
656  * Added graphing option to cassandra-stress (CASSANDRA-7918)
657  * Abort in-progress queries that time out (CASSANDRA-7392)
658  * Add transparent data encryption core classes (CASSANDRA-9945)
659 Merged from 3.0:
660  * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
661  * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
662  * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
663  * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
664  * Add back support for 3rd party auth providers to bulk loader (CASSANDRA-10873)
665  * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
666  * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes (CASSANDRA-10837)
667  * Fix sstableloader not working with upper case keyspace name (CASSANDRA-10806)
668 Merged from 2.2:
669  * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
670  * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
671  * Add new types to Stress (CASSANDRA-9556)
672  * Add property to allow listening on broadcast interface (CASSANDRA-9748)
673 Merged from 2.1:
674  * Match cassandra-loader options in COPY FROM (CASSANDRA-9303)
675  * Fix binding to any address in CqlBulkRecordWriter (CASSANDRA-9309)
676  * cqlsh fails to decode utf-8 characters for text typed columns (CASSANDRA-10875)
677  * Log error when stream session fails (CASSANDRA-9294)
678  * Fix bugs in commit log archiving startup behavior (CASSANDRA-10593)
679  * (cqlsh) further optimise COPY FROM (CASSANDRA-9302)
680  * Allow CREATE TABLE WITH ID (CASSANDRA-9179)
681  * Make Stress compiles within eclipse (CASSANDRA-10807)
682  * Cassandra Daemon should print JVM arguments (CASSANDRA-10764)
683  * Allow cancellation of index summary redistribution (CASSANDRA-8805)
684
685
686 3.1.1
687 Merged from 3.0:
688   * Fix upgrade data loss due to range tombstone deleting more data than then should
689     (CASSANDRA-10822)
690
691
692 3.1
693 Merged from 3.0:
694  * Avoid MV race during node decommission (CASSANDRA-10674)
695  * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
696  * Handle single-column deletions correction in materialized views
697    when the column is part of the view primary key (CASSANDRA-10796)
698  * Fix issue with datadir migration on upgrade (CASSANDRA-10788)
699  * Fix bug with range tombstones on reverse queries and test coverage for
700    AbstractBTreePartition (CASSANDRA-10059)
701  * Remove 64k limit on collection elements (CASSANDRA-10374)
702  * Remove unclear Indexer.indexes() method (CASSANDRA-10690)
703  * Fix NPE on stream read error (CASSANDRA-10771)
704  * Normalize cqlsh DESC output (CASSANDRA-10431)
705  * Rejects partition range deletions when columns are specified (CASSANDRA-10739)
706  * Fix error when saving cached key for old format sstable (CASSANDRA-10778)
707  * Invalidate prepared statements on DROP INDEX (CASSANDRA-10758)
708  * Fix SELECT statement with IN restrictions on partition key,
709    ORDER BY and LIMIT (CASSANDRA-10729)
710  * Improve stress performance over 1k threads (CASSANDRA-7217)
711  * Wait for migration responses to complete before bootstrapping (CASSANDRA-10731)
712  * Unable to create a function with argument of type Inet (CASSANDRA-10741)
713  * Fix backward incompatibiliy in CqlInputFormat (CASSANDRA-10717)
714  * Correctly preserve deletion info on updated rows when notifying indexers
715    of single-row deletions (CASSANDRA-10694)
716  * Notify indexers of partition delete during cleanup (CASSANDRA-10685)
717  * Keep the file open in trySkipCache (CASSANDRA-10669)
718  * Updated trigger example (CASSANDRA-10257)
719 Merged from 2.2:
720  * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
721  * Fix IllegalArgumentException in DataOutputBuffer.reallocate for large buffers (CASSANDRA-10592)
722  * Show CQL help in cqlsh in web browser (CASSANDRA-7225)
723  * Serialize on disk the proper SSTable compression ratio (CASSANDRA-10775)
724  * Reject index queries while the index is building (CASSANDRA-8505)
725  * CQL.textile syntax incorrectly includes optional keyspace for aggregate SFUNC and FINALFUNC (CASSANDRA-10747)
726  * Fix JSON update with prepared statements (CASSANDRA-10631)
727  * Don't do anticompaction after subrange repair (CASSANDRA-10422)
728  * Fix SimpleDateType type compatibility (CASSANDRA-10027)
729  * (Hadoop) fix splits calculation (CASSANDRA-10640)
730  * (Hadoop) ensure that Cluster instances are always closed (CASSANDRA-10058)
731 Merged from 2.1:
732  * Fix Stress profile parsing on Windows (CASSANDRA-10808)
733  * Fix incremental repair hang when replica is down (CASSANDRA-10288)
734  * Optimize the way we check if a token is repaired in anticompaction (CASSANDRA-10768)
735  * Add proper error handling to stream receiver (CASSANDRA-10774)
736  * Warn or fail when changing cluster topology live (CASSANDRA-10243)
737  * Status command in debian/ubuntu init script doesn't work (CASSANDRA-10213)
738  * Some DROP ... IF EXISTS incorrectly result in exceptions on non-existing KS (CASSANDRA-10658)
739  * DeletionTime.compareTo wrong in rare cases (CASSANDRA-10749)
740  * Force encoding when computing statement ids (CASSANDRA-10755)
741  * Properly reject counters as map keys (CASSANDRA-10760)
742  * Fix the sstable-needs-cleanup check (CASSANDRA-10740)
743  * (cqlsh) Print column names before COPY operation (CASSANDRA-8935)
744  * Fix CompressedInputStream for proper cleanup (CASSANDRA-10012)
745  * (cqlsh) Support counters in COPY commands (CASSANDRA-9043)
746  * Try next replica if not possible to connect to primary replica on
747    ColumnFamilyRecordReader (CASSANDRA-2388)
748  * Limit window size in DTCS (CASSANDRA-10280)
749  * sstableloader does not use MAX_HEAP_SIZE env parameter (CASSANDRA-10188)
750  * (cqlsh) Improve COPY TO performance and error handling (CASSANDRA-9304)
751  * Create compression chunk for sending file only (CASSANDRA-10680)
752  * Forbid compact clustering column type changes in ALTER TABLE (CASSANDRA-8879)
753  * Reject incremental repair with subrange repair (CASSANDRA-10422)
754  * Add a nodetool command to refresh size_estimates (CASSANDRA-9579)
755  * Invalidate cache after stream receive task is completed (CASSANDRA-10341)
756  * Reject counter writes in CQLSSTableWriter (CASSANDRA-10258)
757  * Remove superfluous COUNTER_MUTATION stage mapping (CASSANDRA-10605)
758
759
760 3.0
761  * Fix AssertionError while flushing memtable due to materialized views
762    incorrectly inserting empty rows (CASSANDRA-10614)
763  * Store UDA initcond as CQL literal in the schema table, instead of a blob (CASSANDRA-10650)
764  * Don't use -1 for the position of partition key in schema (CASSANDRA-10491)
765  * Fix distinct queries in mixed version cluster (CASSANDRA-10573)
766  * Skip sstable on clustering in names query (CASSANDRA-10571)
767  * Remove value skipping as it breaks read-repair (CASSANDRA-10655)
768  * Fix bootstrapping with MVs (CASSANDRA-10621)
769  * Make sure EACH_QUORUM reads are using NTS (CASSANDRA-10584)
770  * Fix MV replica filtering for non-NetworkTopologyStrategy (CASSANDRA-10634)
771  * (Hadoop) fix CIF describeSplits() not handling 0 size estimates (CASSANDRA-10600)
772  * Fix reading of legacy sstables (CASSANDRA-10590)
773  * Use CQL type names in schema metadata tables (CASSANDRA-10365)
774  * Guard batchlog replay against integer division by zero (CASSANDRA-9223)
775  * Fix bug when adding a column to thrift with the same name than a primary key (CASSANDRA-10608)
776  * Add client address argument to IAuthenticator::newSaslNegotiator (CASSANDRA-8068)
777  * Fix implementation of LegacyLayout.LegacyBoundComparator (CASSANDRA-10602)
778  * Don't use 'names query' read path for counters (CASSANDRA-10572)
779  * Fix backward compatibility for counters (CASSANDRA-10470)
780  * Remove memory_allocator paramter from cassandra.yaml (CASSANDRA-10581,10628)
781  * Execute the metadata reload task of all registered indexes on CFS::reload (CASSANDRA-10604)
782  * Fix thrift cas operations with defined columns (CASSANDRA-10576)
783  * Fix PartitionUpdate.operationCount()for updates with static column operations (CASSANDRA-10606)
784  * Fix thrift get() queries with defined columns (CASSANDRA-10586)
785  * Fix marking of indexes as built and removed (CASSANDRA-10601)
786  * Skip initialization of non-registered 2i instances, remove Index::getIndexName (CASSANDRA-10595)
787  * Fix batches on multiple tables (CASSANDRA-10554)
788  * Ensure compaction options are validated when updating KeyspaceMetadata (CASSANDRA-10569)
789  * Flatten Iterator Transformation Hierarchy (CASSANDRA-9975)
790  * Remove token generator (CASSANDRA-5261)
791  * RolesCache should not be created for any authenticator that does not requireAuthentication (CASSANDRA-10562)
792  * Fix LogTransaction checking only a single directory for files (CASSANDRA-10421)
793  * Fix handling of range tombstones when reading old format sstables (CASSANDRA-10360)
794  * Aggregate with Initial Condition fails with C* 3.0 (CASSANDRA-10367)
795 Merged from 2.2:
796  * (cqlsh) show partial trace if incomplete after max_trace_wait (CASSANDRA-7645)
797  * Use most up-to-date version of schema for system tables (CASSANDRA-10652)
798  * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581,10628)
799  * Expose phi values from failure detector via JMX and tweak debug
800    and trace logging (CASSANDRA-9526)
801  * Fix IllegalArgumentException in DataOutputBuffer.reallocate for large buffers (CASSANDRA-10592)
802 Merged from 2.1:
803  * Shutdown compaction in drain to prevent leak (CASSANDRA-10079)
804  * (cqlsh) fix COPY using wrong variable name for time_format (CASSANDRA-10633)
805  * Do not run SizeEstimatesRecorder if a node is not a member of the ring (CASSANDRA-9912)
806  * Improve handling of dead nodes in gossip (CASSANDRA-10298)
807  * Fix logback-tools.xml incorrectly configured for outputing to System.err
808    (CASSANDRA-9937)
809  * Fix streaming to catch exception so retry not fail (CASSANDRA-10557)
810  * Add validation method to PerRowSecondaryIndex (CASSANDRA-10092)
811  * Support encrypted and plain traffic on the same port (CASSANDRA-10559)
812  * Do STCS in DTCS windows (CASSANDRA-10276)
813  * Avoid repetition of JVM_OPTS in debian package (CASSANDRA-10251)
814  * Fix potential NPE from handling result of SIM.highestSelectivityIndex (CASSANDRA-10550)
815  * Fix paging issues with partitions containing only static columns data (CASSANDRA-10381)
816  * Fix conditions on static columns (CASSANDRA-10264)
817  * AssertionError: attempted to delete non-existing file CommitLog (CASSANDRA-10377)
818  * Fix sorting for queries with an IN condition on partition key columns (CASSANDRA-10363)
819
820
821 3.0-rc2
822  * Fix SELECT DISTINCT queries between 2.2.2 nodes and 3.0 nodes (CASSANDRA-10473)
823  * Remove circular references in SegmentedFile (CASSANDRA-10543)
824  * Ensure validation of indexed values only occurs once per-partition (CASSANDRA-10536)
825  * Fix handling of static columns for range tombstones in thrift (CASSANDRA-10174)
826  * Support empty ColumnFilter for backward compatility on empty IN (CASSANDRA-10471)
827  * Remove Pig support (CASSANDRA-10542)
828  * Fix LogFile throws Exception when assertion is disabled (CASSANDRA-10522)
829  * Revert CASSANDRA-7486, make CMS default GC, move GC config to
830    conf/jvm.options (CASSANDRA-10403)
831  * Fix TeeingAppender causing some logs to be truncated/empty (CASSANDRA-10447)
832  * Allow EACH_QUORUM for reads (CASSANDRA-9602)
833  * Fix potential ClassCastException while upgrading (CASSANDRA-10468)
834  * Fix NPE in MVs on update (CASSANDRA-10503)
835  * Only include modified cell data in indexing deltas (CASSANDRA-10438)
836  * Do not load keyspace when creating sstable writer (CASSANDRA-10443)
837  * If node is not yet gossiping write all MV updates to batchlog only (CASSANDRA-10413)
838  * Re-populate token metadata after commit log recovery (CASSANDRA-10293)
839  * Provide additional metrics for materialized views (CASSANDRA-10323)
840  * Flush system schema tables after local schema changes (CASSANDRA-10429)
841 Merged from 2.2:
842  * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
843  * Fix the regression when using LIMIT with aggregates (CASSANDRA-10487)
844  * Avoid NoClassDefFoundError during DataDescriptor initialization on windows (CASSANDRA-10412)
845  * Preserve case of quoted Role & User names (CASSANDRA-10394)
846  * cqlsh pg-style-strings broken (CASSANDRA-10484)
847  * cqlsh prompt includes name of keyspace after failed `use` statement (CASSANDRA-10369)
848 Merged from 2.1:
849  * (cqlsh) Distinguish negative and positive infinity in output (CASSANDRA-10523)
850  * (cqlsh) allow custom time_format for COPY TO (CASSANDRA-8970)
851  * Don't allow startup if the node's rack has changed (CASSANDRA-10242)
852  * (cqlsh) show partial trace if incomplete after max_trace_wait (CASSANDRA-7645)
853  * Allow LOCAL_JMX to be easily overridden (CASSANDRA-10275)
854  * Mark nodes as dead even if they've already left (CASSANDRA-10205)
855
856
857 3.0.0-rc1
858  * Fix mixed version read request compatibility for compact static tables
859    (CASSANDRA-10373)
860  * Fix paging of DISTINCT with static and IN (CASSANDRA-10354)
861  * Allow MATERIALIZED VIEW's SELECT statement to restrict primary key
862    columns (CASSANDRA-9664)
863  * Move crc_check_chance out of compression options (CASSANDRA-9839)
864  * Fix descending iteration past end of BTreeSearchIterator (CASSANDRA-10301)
865  * Transfer hints to a different node on decommission (CASSANDRA-10198)
866  * Check partition keys for CAS operations during stmt validation (CASSANDRA-10338)
867  * Add custom query expressions to SELECT (CASSANDRA-10217)
868  * Fix minor bugs in MV handling (CASSANDRA-10362)
869  * Allow custom indexes with 0,1 or multiple target columns (CASSANDRA-10124)
870  * Improve MV schema representation (CASSANDRA-9921)
871  * Add flag to enable/disable coordinator batchlog for MV writes (CASSANDRA-10230)
872  * Update cqlsh COPY for new internal driver serialization interface (CASSANDRA-10318)
873  * Give index implementations more control over rebuild operations (CASSANDRA-10312)
874  * Update index file format (CASSANDRA-10314)
875  * Add "shadowable" row tombstones to deal with mv timestamp issues (CASSANDRA-10261)
876  * CFS.loadNewSSTables() broken for pre-3.0 sstables
877  * Cache selected index in read command to reduce lookups (CASSANDRA-10215)
878  * Small optimizations of sstable index serialization (CASSANDRA-10232)
879  * Support for both encrypted and unencrypted native transport connections (CASSANDRA-9590)
880 Merged from 2.2:
881  * Configurable page size in cqlsh (CASSANDRA-9855)
882  * Defer default role manager setup until all nodes are on 2.2+ (CASSANDRA-9761)
883  * Handle missing RoleManager in config after upgrade to 2.2 (CASSANDRA-10209)
884 Merged from 2.1:
885  * Bulk Loader API could not tolerate even node failure (CASSANDRA-10347)
886  * Avoid misleading pushed notifications when multiple nodes
887    share an rpc_address (CASSANDRA-10052)
888  * Fix dropping undroppable when message queue is full (CASSANDRA-10113)
889  * Fix potential ClassCastException during paging (CASSANDRA-10352)
890  * Prevent ALTER TYPE from creating circular references (CASSANDRA-10339)
891  * Fix cache handling of 2i and base tables (CASSANDRA-10155, 10359)
892  * Fix NPE in nodetool compactionhistory (CASSANDRA-9758)
893  * (Pig) support BulkOutputFormat as a URL parameter (CASSANDRA-7410)
894  * BATCH statement is broken in cqlsh (CASSANDRA-10272)
895  * (cqlsh) Make cqlsh PEP8 Compliant (CASSANDRA-10066)
896  * (cqlsh) Fix error when starting cqlsh with --debug (CASSANDRA-10282)
897  * Scrub, Cleanup and Upgrade do not unmark compacting until all operations
898    have completed, regardless of the occurence of exceptions (CASSANDRA-10274)
899
900
901 3.0.0-beta2
902  * Fix columns returned by AbstractBtreePartitions (CASSANDRA-10220)
903  * Fix backward compatibility issue due to AbstractBounds serialization bug (CASSANDRA-9857)
904  * Fix startup error when upgrading nodes (CASSANDRA-10136)
905  * Base table PRIMARY KEY can be assumed to be NOT NULL in MV creation (CASSANDRA-10147)
906  * Improve batchlog write patch (CASSANDRA-9673)
907  * Re-apply MaterializedView updates on commitlog replay (CASSANDRA-10164)
908  * Require AbstractType.isByteOrderComparable declaration in constructor (CASSANDRA-9901)
909  * Avoid digest mismatch on upgrade to 3.0 (CASSANDRA-9554)
910  * Fix Materialized View builder when adding multiple MVs (CASSANDRA-10156)
911  * Choose better poolingOptions for protocol v4 in cassandra-stress (CASSANDRA-10182)
912  * Fix LWW bug affecting Materialized Views (CASSANDRA-10197)
913  * Ensures frozen sets and maps are always sorted (CASSANDRA-10162)
914  * Don't deadlock when flushing CFS backed custom indexes (CASSANDRA-10181)
915  * Fix double flushing of secondary index tables (CASSANDRA-10180)
916  * Fix incorrect handling of range tombstones in thrift (CASSANDRA-10046)
917  * Only use batchlog when paired materialized view replica is remote (CASSANDRA-10061)
918  * Reuse TemporalRow when updating multiple MaterializedViews (CASSANDRA-10060)
919  * Validate gc_grace_seconds for batchlog writes and MVs (CASSANDRA-9917)
920  * Fix sstablerepairedset (CASSANDRA-10132)
921 Merged from 2.2:
922  * Cancel transaction for sstables we wont redistribute index summary
923    for (CASSANDRA-10270)
924  * Retry snapshot deletion after compaction and gc on Windows (CASSANDRA-10222)
925  * Fix failure to start with space in directory path on Windows (CASSANDRA-10239)
926  * Fix repair hang when snapshot failed (CASSANDRA-10057)
927  * Fall back to 1/4 commitlog volume for commitlog_total_space on small disks
928    (CASSANDRA-10199)
929 Merged from 2.1:
930  * Added configurable warning threshold for GC duration (CASSANDRA-8907)
931  * Fix handling of streaming EOF (CASSANDRA-10206)
932  * Only check KeyCache when it is enabled
933  * Change streaming_socket_timeout_in_ms default to 1 hour (CASSANDRA-8611)
934  * (cqlsh) update list of CQL keywords (CASSANDRA-9232)
935  * Add nodetool gettraceprobability command (CASSANDRA-10234)
936 Merged from 2.0:
937  * Fix rare race where older gossip states can be shadowed (CASSANDRA-10366)
938  * Fix consolidating racks violating the RF contract (CASSANDRA-10238)
939  * Disallow decommission when node is in drained state (CASSANDRA-8741)
940
941
942 2.2.1
943  * Fix race during construction of commit log (CASSANDRA-10049)
944  * Fix LeveledCompactionStrategyTest (CASSANDRA-9757)
945  * Fix broken UnbufferedDataOutputStreamPlus.writeUTF (CASSANDRA-10203)
946  * (cqlsh) default load-from-file encoding to utf-8 (CASSANDRA-9898)
947  * Avoid returning Permission.NONE when failing to query users table (CASSANDRA-10168)
948  * (cqlsh) add CLEAR command (CASSANDRA-10086)
949  * Support string literals as Role names for compatibility (CASSANDRA-10135)
950 Merged from 2.1:
951  * Only check KeyCache when it is enabled
952  * Change streaming_socket_timeout_in_ms default to 1 hour (CASSANDRA-8611)
953  * (cqlsh) update list of CQL keywords (CASSANDRA-9232)
954
955
956 3.0.0-beta1
957  * Redesign secondary index API (CASSANDRA-9459, 7771, 9041)
958  * Fix throwing ReadFailure instead of ReadTimeout on range queries (CASSANDRA-10125)
959  * Rewrite hinted handoff (CASSANDRA-6230)
960  * Fix query on static compact tables (CASSANDRA-10093)
961  * Fix race during construction of commit log (CASSANDRA-10049)
962  * Add option to only purge repaired tombstones (CASSANDRA-6434)
963  * Change authorization handling for MVs (CASSANDRA-9927)
964  * Add custom JMX enabled executor for UDF sandbox (CASSANDRA-10026)
965  * Fix row deletion bug for Materialized Views (CASSANDRA-10014)
966  * Support mixed-version clusters with Cassandra 2.1 and 2.2 (CASSANDRA-9704)
967  * Fix multiple slices on RowSearchers (CASSANDRA-10002)
968  * Fix bug in merging of collections (CASSANDRA-10001)
969  * Optimize batchlog replay to avoid full scans (CASSANDRA-7237)
970  * Repair improvements when using vnodes (CASSANDRA-5220)
971  * Disable scripted UDFs by default (CASSANDRA-9889)
972  * Bytecode inspection for Java-UDFs (CASSANDRA-9890)
973  * Use byte to serialize MT hash length (CASSANDRA-9792)
974  * Replace usage of Adler32 with CRC32 (CASSANDRA-8684)
975  * Fix migration to new format from 2.1 SSTable (CASSANDRA-10006)
976  * SequentialWriter should extend BufferedDataOutputStreamPlus (CASSANDRA-9500)
977  * Use the same repairedAt timestamp within incremental repair session (CASSANDRA-9111)
978 Merged from 2.2:
979  * Allow count(*) and count(1) to be use as normal aggregation (CASSANDRA-10114)
980  * An NPE is thrown if the column name is unknown for an IN relation (CASSANDRA-10043)
981  * Apply commit_failure_policy to more errors on startup (CASSANDRA-9749)
982  * Fix histogram overflow exception (CASSANDRA-9973)
983  * Route gossip messages over dedicated socket (CASSANDRA-9237)
984  * Add checksum to saved cache files (CASSANDRA-9265)
985  * Log warning when using an aggregate without partition key (CASSANDRA-9737)
986 Merged from 2.1:
987  * (cqlsh) Allow encoding to be set through command line (CASSANDRA-10004)
988  * Add new JMX methods to change local compaction strategy (CASSANDRA-9965)
989  * Write hints for paxos commits (CASSANDRA-7342)
990  * (cqlsh) Fix timestamps before 1970 on Windows, always
991    use UTC for timestamp display (CASSANDRA-10000)
992  * (cqlsh) Avoid overwriting new config file with old config
993    when both exist (CASSANDRA-9777)
994  * Release snapshot selfRef when doing snapshot repair (CASSANDRA-9998)
995  * Cannot replace token does not exist - DN node removed as Fat Client (CASSANDRA-9871)
996 Merged from 2.0:
997  * Don't cast expected bf size to an int (CASSANDRA-9959)
998  * Make getFullyExpiredSSTables less expensive (CASSANDRA-9882)
999
1000
1001 3.0.0-alpha1
1002  * Implement proper sandboxing for UDFs (CASSANDRA-9402)
1003  * Simplify (and unify) cleanup of compaction leftovers (CASSANDRA-7066)
1004  * Allow extra schema definitions in cassandra-stress yaml (CASSANDRA-9850)
1005  * Metrics should use up to date nomenclature (CASSANDRA-9448)
1006  * Change CREATE/ALTER TABLE syntax for compression (CASSANDRA-8384)
1007  * Cleanup crc and adler code for java 8 (CASSANDRA-9650)
1008  * Storage engine refactor (CASSANDRA-8099, 9743, 9746, 9759, 9781, 9808, 9825,
1009    9848, 9705, 9859, 9867, 9874, 9828, 9801)
1010  * Update Guava to 18.0 (CASSANDRA-9653)
1011  * Bloom filter false positive ratio is not honoured (CASSANDRA-8413)
1012  * New option for cassandra-stress to leave a ratio of columns null (CASSANDRA-9522)
1013  * Change hinted_handoff_enabled yaml setting, JMX (CASSANDRA-9035)
1014  * Add algorithmic token allocation (CASSANDRA-7032)
1015  * Add nodetool command to replay batchlog (CASSANDRA-9547)
1016  * Make file buffer cache independent of paths being read (CASSANDRA-8897)
1017  * Remove deprecated legacy Hadoop code (CASSANDRA-9353)
1018  * Decommissioned nodes will not rejoin the cluster (CASSANDRA-8801)
1019  * Change gossip stabilization to use endpoit size (CASSANDRA-9401)
1020  * Change default garbage collector to G1 (CASSANDRA-7486)
1021  * Populate TokenMetadata early during startup (CASSANDRA-9317)
1022  * Undeprecate cache recentHitRate (CASSANDRA-6591)
1023  * Add support for selectively varint encoding fields (CASSANDRA-9499, 9865)
1024  * Materialized Views (CASSANDRA-6477)
1025 Merged from 2.2:
1026  * Avoid grouping sstables for anticompaction with DTCS (CASSANDRA-9900)
1027  * UDF / UDA execution time in trace (CASSANDRA-9723)
1028  * Fix broken internode SSL (CASSANDRA-9884)
1029 Merged from 2.1:
1030  * Add new JMX methods to change local compaction strategy (CASSANDRA-9965)
1031  * Fix handling of enable/disable autocompaction (CASSANDRA-9899)
1032  * Add consistency level to tracing ouput (CASSANDRA-9827)
1033  * Remove repair snapshot leftover on startup (CASSANDRA-7357)
1034  * Use random nodes for batch log when only 2 racks (CASSANDRA-8735)
1035  * Ensure atomicity inside thrift and stream session (CASSANDRA-7757)
1036  * Fix nodetool info error when the node is not joined (CASSANDRA-9031)
1037 Merged from 2.0:
1038  * Log when messages are dropped due to cross_node_timeout (CASSANDRA-9793)
1039  * Don't track hotness when opening from snapshot for validation (CASSANDRA-9382)
1040
1041
1042 2.2.0
1043  * Allow the selection of columns together with aggregates (CASSANDRA-9767)
1044  * Fix cqlsh copy methods and other windows specific issues (CASSANDRA-9795)
1045  * Don't wrap byte arrays in SequentialWriter (CASSANDRA-9797)
1046  * sum() and avg() functions missing for smallint and tinyint types (CASSANDRA-9671)
1047  * Revert CASSANDRA-9542 (allow native functions in UDA) (CASSANDRA-9771)
1048 Merged from 2.1:
1049  * Fix MarshalException when upgrading superColumn family (CASSANDRA-9582)
1050  * Fix broken logging for "empty" flushes in Memtable (CASSANDRA-9837)
1051  * Handle corrupt files on startup (CASSANDRA-9686)
1052  * Fix clientutil jar and tests (CASSANDRA-9760)
1053  * (cqlsh) Allow the SSL protocol version to be specified through the
1054     config file or environment variables (CASSANDRA-9544)
1055 Merged from 2.0:
1056  * Add tool to find why expired sstables are not getting dropped (CASSANDRA-10015)
1057  * Remove erroneous pending HH tasks from tpstats/jmx (CASSANDRA-9129)
1058  * Don't cast expected bf size to an int (CASSANDRA-9959)
1059  * checkForEndpointCollision fails for legitimate collisions (CASSANDRA-9765)
1060  * Complete CASSANDRA-8448 fix (CASSANDRA-9519)
1061  * Don't include auth credentials in debug log (CASSANDRA-9682)
1062  * Can't transition from write survey to normal mode (CASSANDRA-9740)
1063  * Scrub (recover) sstables even when -Index.db is missing (CASSANDRA-9591)
1064  * Fix growing pending background compaction (CASSANDRA-9662)
1065
1066
1067 2.2.0-rc2
1068  * Re-enable memory-mapped I/O on Windows (CASSANDRA-9658)
1069  * Warn when an extra-large partition is compacted (CASSANDRA-9643)
1070  * (cqlsh) Allow setting the initial connection timeout (CASSANDRA-9601)
1071  * BulkLoader has --transport-factory option but does not use it (CASSANDRA-9675)
1072  * Allow JMX over SSL directly from nodetool (CASSANDRA-9090)
1073  * Update cqlsh for UDFs (CASSANDRA-7556)
1074  * Change Windows kernel default timer resolution (CASSANDRA-9634)
1075  * Deprected sstable2json and json2sstable (CASSANDRA-9618)
1076  * Allow native functions in user-defined aggregates (CASSANDRA-9542)
1077  * Don't repair system_distributed by default (CASSANDRA-9621)
1078  * Fix mixing min, max, and count aggregates for blob type (CASSANRA-9622)
1079  * Rename class for DATE type in Java driver (CASSANDRA-9563)
1080  * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
1081  * Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
1082  * Mlockall before opening system sstables & remove boot_without_jna option (CASSANDRA-9573)
1083  * Add functions to convert timeuuid to date or time, deprecate dateOf and unixTimestampOf (CASSANDRA-9229)
1084  * Make sure we cancel non-compacting sstables from LifecycleTransaction (CASSANDRA-9566)
1085  * Fix deprecated repair JMX API (CASSANDRA-9570)
1086  * Add logback metrics (CASSANDRA-9378)
1087  * Update and refactor ant test/test-compression to run the tests in parallel (CASSANDRA-9583)
1088  * Fix upgrading to new directory for secondary index (CASSANDRA-9687)
1089 Merged from 2.1:
1090  * (cqlsh) Fix bad check for CQL compatibility when DESCRIBE'ing
1091    COMPACT STORAGE tables with no clustering columns
1092  * Eliminate strong self-reference chains in sstable ref tidiers (CASSANDRA-9656)
1093  * Ensure StreamSession uses canonical sstable reader instances (CASSANDRA-9700)
1094  * Ensure memtable book keeping is not corrupted in the event we shrink usage (CASSANDRA-9681)
1095  * Update internal python driver for cqlsh (CASSANDRA-9064)
1096  * Fix IndexOutOfBoundsException when inserting tuple with too many
1097    elements using the string literal notation (CASSANDRA-9559)
1098  * Enable describe on indices (CASSANDRA-7814)
1099  * Fix incorrect result for IN queries where column not found (CASSANDRA-9540)
1100  * ColumnFamilyStore.selectAndReference may block during compaction (CASSANDRA-9637)
1101  * Fix bug in cardinality check when compacting (CASSANDRA-9580)
1102  * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour (CASSANDRA-9549)
1103  * Make rebuild only run one at a time (CASSANDRA-9119)
1104 Merged from 2.0:
1105  * Avoid NPE in AuthSuccess#decode (CASSANDRA-9727)
1106  * Add listen_address to system.local (CASSANDRA-9603)
1107  * Bug fixes to resultset metadata construction (CASSANDRA-9636)
1108  * Fix setting 'durable_writes' in ALTER KEYSPACE (CASSANDRA-9560)
1109  * Avoids ballot clash in Paxos (CASSANDRA-9649)
1110  * Improve trace messages for RR (CASSANDRA-9479)
1111  * Fix suboptimal secondary index selection when restricted
1112    clustering column is also indexed (CASSANDRA-9631)
1113  * (cqlsh) Add min_threshold to DTCS option autocomplete (CASSANDRA-9385)
1114  * Fix error message when attempting to create an index on a column
1115    in a COMPACT STORAGE table with clustering columns (CASSANDRA-9527)
1116  * 'WITH WITH' in alter keyspace statements causes NPE (CASSANDRA-9565)
1117  * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
1118  * ArrivalWindow should use primitives (CASSANDRA-9496)
1119  * Periodically submit background compaction tasks (CASSANDRA-9592)
1120  * Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)
1121
1122
1123 2.2.0-rc1
1124  * Compressed commit log should measure compressed space used (CASSANDRA-9095)
1125  * Fix comparison bug in CassandraRoleManager#collectRoles (CASSANDRA-9551)
1126  * Add tinyint,smallint,time,date support for UDFs (CASSANDRA-9400)
1127  * Deprecates SSTableSimpleWriter and SSTableSimpleUnsortedWriter (CASSANDRA-9546)
1128  * Empty INITCOND treated as null in aggregate (CASSANDRA-9457)
1129  * Remove use of Cell in Thrift MapReduce classes (CASSANDRA-8609)
1130  * Integrate pre-release Java Driver 2.2-rc1, custom build (CASSANDRA-9493)
1131  * Clean up gossiper logic for old versions (CASSANDRA-9370)
1132  * Fix custom payload coding/decoding to match the spec (CASSANDRA-9515)
1133  * ant test-all results incomplete when parsed (CASSANDRA-9463)
1134  * Disallow frozen<> types in function arguments and return types for
1135    clarity (CASSANDRA-9411)
1136  * Static Analysis to warn on unsafe use of Autocloseable instances (CASSANDRA-9431)
1137  * Update commitlog archiving examples now that commitlog segments are
1138    not recycled (CASSANDRA-9350)
1139  * Extend Transactional API to sstable lifecycle management (CASSANDRA-8568)
1140  * (cqlsh) Add support for native protocol 4 (CASSANDRA-9399)
1141  * Ensure that UDF and UDAs are keyspace-isolated (CASSANDRA-9409)
1142  * Revert CASSANDRA-7807 (tracing completion client notifications) (CASSANDRA-9429)
1143  * Add ability to stop compaction by ID (CASSANDRA-7207)
1144  * Let CassandraVersion handle SNAPSHOT version (CASSANDRA-9438)
1145 Merged from 2.1:
1146  * (cqlsh) Fix using COPY through SOURCE or -f (CASSANDRA-9083)
1147  * Fix occasional lack of `system` keyspace in schema tables (CASSANDRA-8487)
1148  * Use ProtocolError code instead of ServerError code for native protocol
1149    error responses to unsupported protocol versions (CASSANDRA-9451)
1150  * Default commitlog_sync_batch_window_in_ms changed to 2ms (CASSANDRA-9504)
1151  * Fix empty partition assertion in unsorted sstable writing tools (CASSANDRA-9071)
1152  * Ensure truncate without snapshot cannot produce corrupt responses (CASSANDRA-9388)
1153  * Consistent error message when a table mixes counter and non-counter
1154    columns (CASSANDRA-9492)
1155  * Avoid getting unreadable keys during anticompaction (CASSANDRA-9508)
1156  * (cqlsh) Better float precision by default (CASSANDRA-9224)
1157  * Improve estimated row count (CASSANDRA-9107)
1158  * Optimize range tombstone memory footprint (CASSANDRA-8603)
1159  * Use configured gcgs in anticompaction (CASSANDRA-9397)
1160 Merged from 2.0:
1161  * Don't accumulate more range than necessary in RangeTombstone.Tracker (CASSANDRA-9486)
1162  * Add broadcast and rpc addresses to system.local (CASSANDRA-9436)
1163  * Always mark sstable suspect when corrupted (CASSANDRA-9478)
1164  * Add database users and permissions to CQL3 documentation (CASSANDRA-7558)
1165  * Allow JVM_OPTS to be passed to standalone tools (CASSANDRA-5969)
1166  * Fix bad condition in RangeTombstoneList (CASSANDRA-9485)
1167  * Fix potential StackOverflow when setting CrcCheckChance over JMX (CASSANDRA-9488)
1168  * Fix null static columns in pages after the first, paged reversed
1169    queries (CASSANDRA-8502)
1170  * Fix counting cache serialization in request metrics (CASSANDRA-9466)
1171  * Add option not to validate atoms during scrub (CASSANDRA-9406)
1172
1173
1174 2.2.0-beta1
1175  * Introduce Transactional API for internal state changes (CASSANDRA-8984)
1176  * Add a flag in cassandra.yaml to enable UDFs (CASSANDRA-9404)
1177  * Better support of null for UDF (CASSANDRA-8374)
1178  * Use ecj instead of javassist for UDFs (CASSANDRA-8241)
1179  * faster async logback configuration for tests (CASSANDRA-9376)
1180  * Add `smallint` and `tinyint` data types (CASSANDRA-8951)
1181  * Avoid thrift schema creation when native driver is used in stress tool (CASSANDRA-9374)
1182  * Make Functions.declared thread-safe
1183  * Add client warnings to native protocol v4 (CASSANDRA-8930)
1184  * Allow roles cache to be invalidated (CASSANDRA-8967)
1185  * Upgrade Snappy (CASSANDRA-9063)
1186  * Don't start Thrift rpc by default (CASSANDRA-9319)
1187  * Only stream from unrepaired sstables with incremental repair (CASSANDRA-8267)
1188  * Aggregate UDFs allow SFUNC return type to differ from STYPE if FFUNC specified (CASSANDRA-9321)
1189  * Remove Thrift dependencies in bundled tools (CASSANDRA-8358)
1190  * Disable memory mapping of hsperfdata file for JVM statistics (CASSANDRA-9242)
1191  * Add pre-startup checks to detect potential incompatibilities (CASSANDRA-8049)
1192  * Distinguish between null and unset in protocol v4 (CASSANDRA-7304)
1193  * Add user/role permissions for user-defined functions (CASSANDRA-7557)
1194  * Allow cassandra config to be updated to restart daemon without unloading classes (CASSANDRA-9046)
1195  * Don't initialize compaction writer before checking if iter is empty (CASSANDRA-9117)
1196  * Don't execute any functions at prepare-time (CASSANDRA-9037)
1197  * Share file handles between all instances of a SegmentedFile (CASSANDRA-8893)
1198  * Make it possible to major compact LCS (CASSANDRA-7272)
1199  * Make FunctionExecutionException extend RequestExecutionException
1200    (CASSANDRA-9055)
1201  * Add support for SELECT JSON, INSERT JSON syntax and new toJson(), fromJson()
1202    functions (CASSANDRA-7970)
1203  * Optimise max purgeable timestamp calculation in compaction (CASSANDRA-8920)
1204  * Constrain internode message buffer sizes, and improve IO class hierarchy (CASSANDRA-8670)
1205  * New tool added to validate all sstables in a node (CASSANDRA-5791)
1206  * Push notification when tracing completes for an operation (CASSANDRA-7807)
1207  * Delay "node up" and "node added" notifications until native protocol server is started (CASSANDRA-8236)
1208  * Compressed Commit Log (CASSANDRA-6809)
1209  * Optimise IntervalTree (CASSANDRA-8988)
1210  * Add a key-value payload for third party usage (CASSANDRA-8553, 9212)
1211  * Bump metrics-reporter-config dependency for metrics 3.0 (CASSANDRA-8149)
1212  * Partition intra-cluster message streams by size, not type (CASSANDRA-8789)
1213  * Add WriteFailureException to native protocol, notify coordinator of
1214    write failures (CASSANDRA-8592)
1215  * Convert SequentialWriter to nio (CASSANDRA-8709)
1216  * Add role based access control (CASSANDRA-7653, 8650, 7216, 8760, 8849, 8761, 8850)
1217  * Record client ip address in tracing sessions (CASSANDRA-8162)
1218  * Indicate partition key columns in response metadata for prepared
1219    statements (CASSANDRA-7660)
1220  * Merge UUIDType and TimeUUIDType parse logic (CASSANDRA-8759)
1221  * Avoid memory allocation when searching index summary (CASSANDRA-8793)
1222  * Optimise (Time)?UUIDType Comparisons (CASSANDRA-8730)
1223  * Make CRC32Ex into a separate maven dependency (CASSANDRA-8836)
1224  * Use preloaded jemalloc w/ Unsafe (CASSANDRA-8714, 9197)
1225  * Avoid accessing partitioner through StorageProxy (CASSANDRA-8244, 8268)
1226  * Upgrade Metrics library and remove depricated metrics (CASSANDRA-5657)
1227  * Serializing Row cache alternative, fully off heap (CASSANDRA-7438)
1228  * Duplicate rows returned when in clause has repeated values (CASSANDRA-6706)
1229  * Make CassandraException unchecked, extend RuntimeException (CASSANDRA-8560)
1230  * Support direct buffer decompression for reads (CASSANDRA-8464)
1231  * DirectByteBuffer compatible LZ4 methods (CASSANDRA-7039)
1232  * Group sstables for anticompaction correctly (CASSANDRA-8578)
1233  * Add ReadFailureException to native protocol, respond
1234    immediately when replicas encounter errors while handling
1235    a read request (CASSANDRA-7886)
1236  * Switch CommitLogSegment from RandomAccessFile to nio (CASSANDRA-8308)
1237  * Allow mixing token and partition key restrictions (CASSANDRA-7016)
1238  * Support index key/value entries on map collections (CASSANDRA-8473)
1239  * Modernize schema tables (CASSANDRA-8261)
1240  * Support for user-defined aggregation functions (CASSANDRA-8053)
1241  * Fix NPE in SelectStatement with empty IN values (CASSANDRA-8419)
1242  * Refactor SelectStatement, return IN results in natural order instead
1243    of IN value list order and ignore duplicate values in partition key IN restrictions (CASSANDRA-7981)
1244  * Support UDTs, tuples, and collections in user-defined
1245    functions (CASSANDRA-7563)
1246  * Fix aggregate fn results on empty selection, result column name,
1247    and cqlsh parsing (CASSANDRA-8229)
1248  * Mark sstables as repaired after full repair (CASSANDRA-7586)
1249  * Extend Descriptor to include a format value and refactor reader/writer
1250    APIs (CASSANDRA-7443)
1251  * Integrate JMH for microbenchmarks (CASSANDRA-8151)
1252  * Keep sstable levels when bootstrapping (CASSANDRA-7460)
1253  * Add Sigar library and perform basic OS settings check on startup (CASSANDRA-7838)
1254  * Support for aggregation functions (CASSANDRA-4914)
1255  * Remove cassandra-cli (CASSANDRA-7920)
1256  * Accept dollar quoted strings in CQL (CASSANDRA-7769)
1257  * Make assassinate a first class command (CASSANDRA-7935)
1258  * Support IN clause on any partition key column (CASSANDRA-7855)
1259  * Support IN clause on any clustering column (CASSANDRA-4762)
1260  * Improve compaction logging (CASSANDRA-7818)
1261  * Remove YamlFileNetworkTopologySnitch (CASSANDRA-7917)
1262  * Do anticompaction in groups (CASSANDRA-6851)
1263  * Support user-defined functions (CASSANDRA-7395, 7526, 7562, 7740, 7781, 7929,
1264    7924, 7812, 8063, 7813, 7708)
1265  * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
1266  * Move sstable RandomAccessReader to nio2, which allows using the
1267    FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
1268  * Remove CQL2 (CASSANDRA-5918)
1269  * Optimize fetching multiple cells by name (CASSANDRA-6933)
1270  * Allow compilation in java 8 (CASSANDRA-7028)
1271  * Make incremental repair default (CASSANDRA-7250)
1272  * Enable code coverage thru JaCoCo (CASSANDRA-7226)
1273  * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369)
1274  * Shorten SSTable path (CASSANDRA-6962)
1275  * Use unsafe mutations for most unit tests (CASSANDRA-6969)
1276  * Fix race condition during calculation of pending ranges (CASSANDRA-7390)
1277  * Fail on very large batch sizes (CASSANDRA-8011)
1278  * Improve concurrency of repair (CASSANDRA-6455, 8208, 9145)
1279  * Select optimal CRC32 implementation at runtime (CASSANDRA-8614)
1280  * Evaluate MurmurHash of Token once per query (CASSANDRA-7096)
1281  * Generalize progress reporting (CASSANDRA-8901)
1282  * Resumable bootstrap streaming (CASSANDRA-8838, CASSANDRA-8942)
1283  * Allow scrub for secondary index (CASSANDRA-5174)
1284  * Save repair data to system table (CASSANDRA-5839)
1285  * fix nodetool names that reference column families (CASSANDRA-8872)
1286  Merged from 2.1:
1287  * Warn on misuse of unlogged batches (CASSANDRA-9282)
1288  * Failure detector detects and ignores local pauses (CASSANDRA-9183)
1289  * Add utility class to support for rate limiting a given log statement (CASSANDRA-9029)
1290  * Add missing consistency levels to cassandra-stess (CASSANDRA-9361)
1291  * Fix commitlog getCompletedTasks to not increment (CASSANDRA-9339)
1292  * Fix for harmless exceptions logged as ERROR (CASSANDRA-8564)
1293  * Delete processed sstables in sstablesplit/sstableupgrade (CASSANDRA-8606)
1294  * Improve sstable exclusion from partition tombstones (CASSANDRA-9298)
1295  * Validate the indexed column rather than the cell's contents for 2i (CASSANDRA-9057)
1296  * Add support for top-k custom 2i queries (CASSANDRA-8717)
1297  * Fix error when dropping table during compaction (CASSANDRA-9251)
1298  * cassandra-stress supports validation operations over user profiles (CASSANDRA-8773)
1299  * Add support for rate limiting log messages (CASSANDRA-9029)
1300  * Log the partition key with tombstone warnings (CASSANDRA-8561)
1301  * Reduce runWithCompactionsDisabled poll interval to 1ms (CASSANDRA-9271)
1302  * Fix PITR commitlog replay (CASSANDRA-9195)
1303  * GCInspector logs very different times (CASSANDRA-9124)
1304  * Fix deleting from an empty list (CASSANDRA-9198)
1305  * Update tuple and collection types that use a user-defined type when that UDT
1306    is modified (CASSANDRA-9148, CASSANDRA-9192)
1307  * Use higher timeout for prepair and snapshot in repair (CASSANDRA-9261)
1308  * Fix anticompaction blocking ANTI_ENTROPY stage (CASSANDRA-9151)
1309  * Repair waits for anticompaction to finish (CASSANDRA-9097)
1310  * Fix streaming not holding ref when stream error (CASSANDRA-9295)
1311  * Fix canonical view returning early opened SSTables (CASSANDRA-9396)
1312 Merged from 2.0:
1313  * (cqlsh) Add LOGIN command to switch users (CASSANDRA-7212)
1314  * Clone SliceQueryFilter in AbstractReadCommand implementations (CASSANDRA-8940)
1315  * Push correct protocol notification for DROP INDEX (CASSANDRA-9310)
1316  * token-generator - generated tokens too long (CASSANDRA-9300)
1317  * Fix counting of tombstones for TombstoneOverwhelmingException (CASSANDRA-9299)
1318  * Fix ReconnectableSnitch reconnecting to peers during upgrade (CASSANDRA-6702)
1319  * Include keyspace and table name in error log for collections over the size
1320    limit (CASSANDRA-9286)
1321  * Avoid potential overlap in LCS with single-partition sstables (CASSANDRA-9322)
1322  * Log warning message when a table is queried before the schema has fully
1323    propagated (CASSANDRA-9136)
1324  * Overload SecondaryIndex#indexes to accept the column definition (CASSANDRA-9314)
1325  * (cqlsh) Add SERIAL and LOCAL_SERIAL consistency levels (CASSANDRA-8051)
1326  * Fix index selection during rebuild with certain table layouts (CASSANDRA-9281)
1327  * Fix partition-level-delete-only workload accounting (CASSANDRA-9194)
1328  * Allow scrub to handle corrupted compressed chunks (CASSANDRA-9140)
1329  * Fix assertion error when resetlocalschema is run during repair (CASSANDRA-9249)
1330  * Disable single sstable tombstone compactions for DTCS by default (CASSANDRA-9234)
1331  * IncomingTcpConnection thread is not named (CASSANDRA-9262)
1332  * Close incoming connections when MessagingService is stopped (CASSANDRA-9238)
1333  * Fix streaming hang when retrying (CASSANDRA-9132)
1334
1335
1336 2.1.5
1337  * Re-add deprecated cold_reads_to_omit param for backwards compat (CASSANDRA-9203)
1338  * Make anticompaction visible in compactionstats (CASSANDRA-9098)
1339  * Improve nodetool getendpoints documentation about the partition
1340    key parameter (CASSANDRA-6458)
1341  * Don't check other keyspaces for schema changes when an user-defined
1342    type is altered (CASSANDRA-9187)
1343  * Add generate-idea-files target to build.xml (CASSANDRA-9123)
1344  * Allow takeColumnFamilySnapshot to take a list of tables (CASSANDRA-8348)
1345  * Limit major sstable operations to their canonical representation (CASSANDRA-8669)
1346  * cqlsh: Add tests for INSERT and UPDATE tab completion (CASSANDRA-9125)
1347  * cqlsh: quote column names when needed in COPY FROM inserts (CASSANDRA-9080)
1348  * Do not load read meter for offline operations (CASSANDRA-9082)
1349  * cqlsh: Make CompositeType data readable (CASSANDRA-8919)
1350  * cqlsh: Fix display of triggers (CASSANDRA-9081)
1351  * Fix NullPointerException when deleting or setting an element by index on
1352    a null list collection (CASSANDRA-9077)
1353  * Buffer bloom filter serialization (CASSANDRA-9066)
1354  * Fix anti-compaction target bloom filter size (CASSANDRA-9060)
1355  * Make FROZEN and TUPLE unreserved keywords in CQL (CASSANDRA-9047)
1356  * Prevent AssertionError from SizeEstimatesRecorder (CASSANDRA-9034)
1357  * Avoid overwriting index summaries for sstables with an older format that
1358    does not support downsampling; rebuild summaries on startup when this
1359    is detected (CASSANDRA-8993)
1360  * Fix potential data loss in CompressedSequentialWriter (CASSANDRA-8949)
1361  * Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
1362  * Fix AssertionError when binding nested collections in DELETE (CASSANDRA-8900)
1363  * Check for overlap with non-early sstables in LCS (CASSANDRA-8739)
1364  * Only calculate max purgable timestamp if we have to (CASSANDRA-8914)
1365  * (cqlsh) Greatly improve performance of COPY FROM (CASSANDRA-8225)
1366  * IndexSummary effectiveIndexInterval is now a guideline, not a rule (CASSANDRA-8993)
1367  * Use correct bounds for page cache eviction of compressed files (CASSANDRA-8746)
1368  * SSTableScanner enforces its bounds (CASSANDRA-8946)
1369  * Cleanup cell equality (CASSANDRA-8947)
1370  * Introduce intra-cluster message coalescing (CASSANDRA-8692)
1371  * DatabaseDescriptor throws NPE when rpc_interface is used (CASSANDRA-8839)
1372  * Don't check if an sstable is live for offline compactions (CASSANDRA-8841)
1373  * Don't set clientMode in SSTableLoader (CASSANDRA-8238)
1374  * Fix SSTableRewriter with disabled early open (CASSANDRA-8535)
1375  * Fix cassandra-stress so it respects the CL passed in user mode (CASSANDRA-8948)
1376  * Fix rare NPE in ColumnDefinition#hasIndexOption() (CASSANDRA-8786)
1377  * cassandra-stress reports per-operation statistics, plus misc (CASSANDRA-8769)
1378  * Add SimpleDate (cql date) and Time (cql time) types (CASSANDRA-7523)
1379  * Use long for key count in cfstats (CASSANDRA-8913)
1380  * Make SSTableRewriter.abort() more robust to failure (CASSANDRA-8832)
1381  * Remove cold_reads_to_omit from STCS (CASSANDRA-8860)
1382  * Make EstimatedHistogram#percentile() use ceil instead of floor (CASSANDRA-8883)
1383  * Fix top partitions reporting wrong cardinality (CASSANDRA-8834)
1384  * Fix rare NPE in KeyCacheSerializer (CASSANDRA-8067)
1385  * Pick sstables for validation as late as possible inc repairs (CASSANDRA-8366)
1386  * Fix commitlog getPendingTasks to not increment (CASSANDRA-8862)
1387  * Fix parallelism adjustment in range and secondary index queries
1388    when the first fetch does not satisfy the limit (CASSANDRA-8856)
1389  * Check if the filtered sstables is non-empty in STCS (CASSANDRA-8843)
1390  * Upgrade java-driver used for cassandra-stress (CASSANDRA-8842)
1391  * Fix CommitLog.forceRecycleAllSegments() memory access error (CASSANDRA-8812)
1392  * Improve assertions in Memory (CASSANDRA-8792)
1393  * Fix SSTableRewriter cleanup (CASSANDRA-8802)
1394  * Introduce SafeMemory for CompressionMetadata.Writer (CASSANDRA-8758)
1395  * 'nodetool info' prints exception against older node (CASSANDRA-8796)
1396  * Ensure SSTableReader.last corresponds exactly with the file end (CASSANDRA-8750)
1397  * Make SSTableWriter.openEarly more robust and obvious (CASSANDRA-8747)
1398  * Enforce SSTableReader.first/last (CASSANDRA-8744)
1399  * Cleanup SegmentedFile API (CASSANDRA-8749)
1400  * Avoid overlap with early compaction replacement (CASSANDRA-8683)
1401  * Safer Resource Management++ (CASSANDRA-8707)
1402  * Write partition size estimates into a system table (CASSANDRA-7688)
1403  * cqlsh: Fix keys() and full() collection indexes in DESCRIBE output
1404    (CASSANDRA-8154)
1405  * Show progress of streaming in nodetool netstats (CASSANDRA-8886)
1406  * IndexSummaryBuilder utilises offheap memory, and shares data between
1407    each IndexSummary opened from it (CASSANDRA-8757)
1408  * markCompacting only succeeds if the exact SSTableReader instances being
1409    marked are in the live set (CASSANDRA-8689)
1410  * cassandra-stress support for varint (CASSANDRA-8882)
1411  * Fix Adler32 digest for compressed sstables (CASSANDRA-8778)
1412  * Add nodetool statushandoff/statusbackup (CASSANDRA-8912)
1413  * Use stdout for progress and stats in sstableloader (CASSANDRA-8982)
1414  * Correctly identify 2i datadir from older versions (CASSANDRA-9116)
1415 Merged from 2.0:
1416  * Ignore gossip SYNs after shutdown (CASSANDRA-9238)
1417  * Avoid overflow when calculating max sstable size in LCS (CASSANDRA-9235)
1418  * Make sstable blacklisting work with compression (CASSANDRA-9138)
1419  * Do not attempt to rebuild indexes if no index accepts any column (CASSANDRA-9196)
1420  * Don't initiate snitch reconnection for dead states (CASSANDRA-7292)
1421  * Fix ArrayIndexOutOfBoundsException in CQLSSTableWriter (CASSANDRA-8978)
1422  * Add shutdown gossip state to prevent timeouts during rolling restarts (CASSANDRA-8336)
1423  * Fix running with java.net.preferIPv6Addresses=true (CASSANDRA-9137)
1424  * Fix failed bootstrap/replace attempts being persisted in system.peers (CASSANDRA-9180)
1425  * Flush system.IndexInfo after marking index built (CASSANDRA-9128)
1426  * Fix updates to min/max_compaction_threshold through cassandra-cli
1427    (CASSANDRA-8102)
1428  * Don't include tmp files when doing offline relevel (CASSANDRA-9088)
1429  * Use the proper CAS WriteType when finishing a previous round during Paxos
1430    preparation (CASSANDRA-8672)
1431  * Avoid race in cancelling compactions (CASSANDRA-9070)
1432  * More aggressive check for expired sstables in DTCS (CASSANDRA-8359)
1433  * Fix ignored index_interval change in ALTER TABLE statements (CASSANDRA-7976)
1434  * Do more aggressive compaction in old time windows in DTCS (CASSANDRA-8360)
1435  * java.lang.AssertionError when reading saved cache (CASSANDRA-8740)
1436  * "disk full" when running cleanup (CASSANDRA-9036)
1437  * Lower logging level from ERROR to DEBUG when a scheduled schema pull
1438    cannot be completed due to a node being down (CASSANDRA-9032)
1439  * Fix MOVED_NODE client event (CASSANDRA-8516)
1440  * Allow overriding MAX_OUTSTANDING_REPLAY_COUNT (CASSANDRA-7533)
1441  * Fix malformed JMX ObjectName containing IPv6 addresses (CASSANDRA-9027)
1442  * (cqlsh) Allow increasing CSV field size limit through
1443    cqlshrc config option (CASSANDRA-8934)
1444  * Stop logging range tombstones when exceeding the threshold
1445    (CASSANDRA-8559)
1446  * Fix NullPointerException when nodetool getendpoints is run
1447    against invalid keyspaces or tables (CASSANDRA-8950)
1448  * Allow specifying the tmp dir (CASSANDRA-7712)
1449  * Improve compaction estimated tasks estimation (CASSANDRA-8904)
1450  * Fix duplicate up/down messages sent to native clients (CASSANDRA-7816)
1451  * Expose commit log archive status via JMX (CASSANDRA-8734)
1452  * Provide better exceptions for invalid replication strategy parameters
1453    (CASSANDRA-8909)
1454  * Fix regression in mixed single and multi-column relation support for
1455    SELECT statements (CASSANDRA-8613)
1456  * Add ability to limit number of native connections (CASSANDRA-8086)
1457  * Fix CQLSSTableWriter throwing exception and spawning threads
1458    (CASSANDRA-8808)
1459  * Fix MT mismatch between empty and GC-able data (CASSANDRA-8979)
1460  * Fix incorrect validation when snapshotting single table (CASSANDRA-8056)
1461  * Add offline tool to relevel sstables (CASSANDRA-8301)
1462  * Preserve stream ID for more protocol errors (CASSANDRA-8848)
1463  * Fix combining token() function with multi-column relations on
1464    clustering columns (CASSANDRA-8797)
1465  * Make CFS.markReferenced() resistant to bad refcounting (CASSANDRA-8829)
1466  * Fix StreamTransferTask abort/complete bad refcounting (CASSANDRA-8815)
1467  * Fix AssertionError when querying a DESC clustering ordered
1468    table with ASC ordering and paging (CASSANDRA-8767)
1469  * AssertionError: "Memory was freed" when running cleanup (CASSANDRA-8716)
1470  * Make it possible to set max_sstable_age to fractional days (CASSANDRA-8406)
1471  * Fix some multi-column relations with indexes on some clustering
1472    columns (CASSANDRA-8275)
1473  * Fix memory leak in SSTableSimple*Writer and SSTableReader.validate()
1474    (CASSANDRA-8748)
1475  * Throw OOM if allocating memory fails to return a valid pointer (CASSANDRA-8726)
1476  * Fix SSTableSimpleUnsortedWriter ConcurrentModificationException (CASSANDRA-8619)
1477  * 'nodetool info' prints exception against older node (CASSANDRA-8796)
1478  * Ensure SSTableSimpleUnsortedWriter.close() terminates if
1479    disk writer has crashed (CASSANDRA-8807)
1480
1481
1482 2.1.4
1483  * Bind JMX to localhost unless explicitly configured otherwise (CASSANDRA-9085)
1484
1485
1486 2.1.3
1487  * Fix HSHA/offheap_objects corruption (CASSANDRA-8719)
1488  * Upgrade libthrift to 0.9.2 (CASSANDRA-8685)
1489  * Don't use the shared ref in sstableloader (CASSANDRA-8704)
1490  * Purge internal prepared statements if related tables or
1491    keyspaces are dropped (CASSANDRA-8693)
1492  * (cqlsh) Handle unicode BOM at start of files (CASSANDRA-8638)
1493  * Stop compactions before exiting offline tools (CASSANDRA-8623)
1494  * Update tools/stress/README.txt to match current behaviour (CASSANDRA-7933)
1495  * Fix schema from Thrift conversion with empty metadata (CASSANDRA-8695)
1496  * Safer Resource Management (CASSANDRA-7705)
1497  * Make sure we compact highly overlapping cold sstables with
1498    STCS (CASSANDRA-8635)
1499  * rpc_interface and listen_interface generate NPE on startup when specified
1500    interface doesn't exist (CASSANDRA-8677)
1501  * Fix ArrayIndexOutOfBoundsException in nodetool cfhistograms (CASSANDRA-8514)
1502  * Switch from yammer metrics for nodetool cf/proxy histograms (CASSANDRA-8662)
1503  * Make sure we don't add tmplink files to the compaction
1504    strategy (CASSANDRA-8580)
1505  * (cqlsh) Handle maps with blob keys (CASSANDRA-8372)
1506  * (cqlsh) Handle DynamicCompositeType schemas correctly (CASSANDRA-8563)
1507  * Duplicate rows returned when in clause has repeated values (CASSANDRA-6706)
1508  * Add tooling to detect hot partitions (CASSANDRA-7974)
1509  * Fix cassandra-stress user-mode truncation of partition generation (CASSANDRA-8608)
1510  * Only stream from unrepaired sstables during inc repair (CASSANDRA-8267)
1511  * Don't allow starting multiple inc repairs on the same sstables (CASSANDRA-8316)
1512  * Invalidate prepared BATCH statements when related tables
1513    or keyspaces are dropped (CASSANDRA-8652)
1514  * Fix missing results in secondary index queries on collections
1515    with ALLOW FILTERING (CASSANDRA-8421)
1516  * Expose EstimatedHistogram metrics for range slices (CASSANDRA-8627)
1517  * (cqlsh) Escape clqshrc passwords properly (CASSANDRA-8618)
1518  * Fix NPE when passing wrong argument in ALTER TABLE statement (CASSANDRA-8355)
1519  * Pig: Refactor and deprecate CqlStorage (CASSANDRA-8599)
1520  * Don't reuse the same cleanup strategy for all sstables (CASSANDRA-8537)
1521  * Fix case-sensitivity of index name on CREATE and DROP INDEX
1522    statements (CASSANDRA-8365)
1523  * Better detection/logging for corruption in compressed sstables (CASSANDRA-8192)
1524  * Use the correct repairedAt value when closing writer (CASSANDRA-8570)
1525  * (cqlsh) Handle a schema mismatch being detected on startup (CASSANDRA-8512)
1526  * Properly calculate expected write size during compaction (CASSANDRA-8532)
1527  * Invalidate affected prepared statements when a table's columns
1528    are altered (CASSANDRA-7910)
1529  * Stress - user defined writes should populate sequentally (CASSANDRA-8524)
1530  * Fix regression in SSTableRewriter causing some rows to become unreadable
1531    during compaction (CASSANDRA-8429)
1532  * Run major compactions for repaired/unrepaired in parallel (CASSANDRA-8510)
1533  * (cqlsh) Fix compression options in DESCRIBE TABLE output when compression
1534    is disabled (CASSANDRA-8288)
1535  * (cqlsh) Fix DESCRIBE output after keyspaces are altered (CASSANDRA-7623)
1536  * Make sure we set lastCompactedKey correctly (CASSANDRA-8463)
1537  * (cqlsh) Fix output of CONSISTENCY command (CASSANDRA-8507)
1538  * (cqlsh) Fixed the handling of LIST statements (CASSANDRA-8370)
1539  * Make sstablescrub check leveled manifest again (CASSANDRA-8432)
1540  * Check first/last keys in sstable when giving out positions (CASSANDRA-8458)
1541  * Disable mmap on Windows (CASSANDRA-6993)
1542  * Add missing ConsistencyLevels to cassandra-stress (CASSANDRA-8253)
1543  * Add auth support to cassandra-stress (CASSANDRA-7985)
1544  * Fix ArrayIndexOutOfBoundsException when generating error message
1545    for some CQL syntax errors (CASSANDRA-8455)
1546  * Scale memtable slab allocation logarithmically (CASSANDRA-7882)
1547  * cassandra-stress simultaneous inserts over same seed (CASSANDRA-7964)
1548  * Reduce cassandra-stress sampling memory requirements (CASSANDRA-7926)
1549  * Ensure memtable flush cannot expire commit log entries from its future (CASSANDRA-8383)
1550  * Make read "defrag" async to reclaim memtables (CASSANDRA-8459)
1551  * Remove tmplink files for offline compactions (CASSANDRA-8321)
1552  * Reduce maxHintsInProgress (CASSANDRA-8415)
1553  * BTree updates may call provided update function twice (CASSANDRA-8018)
1554  * Release sstable references after anticompaction (CASSANDRA-8386)
1555  * Handle abort() in SSTableRewriter properly (CASSANDRA-8320)
1556  * Centralize shared executors (CASSANDRA-8055)
1557  * Fix filtering for CONTAINS (KEY) relations on frozen collection
1558    clustering columns when the query is restricted to a single
1559    partition (CASSANDRA-8203)
1560  * Do more aggressive entire-sstable TTL expiry checks (CASSANDRA-8243)
1561  * Add more log info if readMeter is null (CASSANDRA-8238)
1562  * add check of the system wall clock time at startup (CASSANDRA-8305)
1563  * Support for frozen collections (CASSANDRA-7859)
1564  * Fix overflow on histogram computation (CASSANDRA-8028)
1565  * Have paxos reuse the timestamp generation of normal queries (CASSANDRA-7801)
1566  * Fix incremental repair not remove parent session on remote (CASSANDRA-8291)
1567  * Improve JBOD disk utilization (CASSANDRA-7386)
1568  * Log failed host when preparing incremental repair (CASSANDRA-8228)
1569  * Force config client mode in CQLSSTableWriter (CASSANDRA-8281)
1570  * Fix sstableupgrade throws exception (CASSANDRA-8688)
1571  * Fix hang when repairing empty keyspace (CASSANDRA-8694)
1572 Merged from 2.0:
1573  * Fix IllegalArgumentException in dynamic snitch (CASSANDRA-8448)
1574  * Add support for UPDATE ... IF EXISTS (CASSANDRA-8610)
1575  * Fix reversal of list prepends (CASSANDRA-8733)
1576  * Prevent non-zero default_time_to_live on tables with counters
1577    (CASSANDRA-8678)
1578  * Fix SSTableSimpleUnsortedWriter ConcurrentModificationException
1579    (CASSANDRA-8619)
1580  * Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
1581  * Add batch remove iterator to ABSC (CASSANDRA-8414, 8666)
1582  * Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
1583  * Fix isClientMode check in Keyspace (CASSANDRA-8687)
1584  * Use more efficient slice size for querying internal secondary
1585    index tables (CASSANDRA-8550)
1586  * Fix potentially returning deleted rows with range tombstone (CASSANDRA-8558)
1587  * Check for available disk space before starting a compaction (CASSANDRA-8562)
1588  * Fix DISTINCT queries with LIMITs or paging when some partitions
1589    contain only tombstones (CASSANDRA-8490)
1590  * Introduce background cache refreshing to permissions cache
1591    (CASSANDRA-8194)
1592  * Fix race condition in StreamTransferTask that could lead to
1593    infinite loops and premature sstable deletion (CASSANDRA-7704)
1594  * Add an extra version check to MigrationTask (CASSANDRA-8462)
1595  * Ensure SSTableWriter cleans up properly after failure (CASSANDRA-8499)
1596  * Increase bf true positive count on key cache hit (CASSANDRA-8525)
1597  * Move MeteredFlusher to its own thread (CASSANDRA-8485)
1598  * Fix non-distinct results in DISTNCT queries on static columns when
1599    paging is enabled (CASSANDRA-8087)
1600  * Move all hints related tasks to hints internal executor (CASSANDRA-8285)
1601  * Fix paging for multi-partition IN queries (CASSANDRA-8408)
1602  * Fix MOVED_NODE topology event never being emitted when a node
1603    moves its token (CASSANDRA-8373)
1604  * Fix validation of indexes in COMPACT tables (CASSANDRA-8156)
1605  * Avoid StackOverflowError when a large list of IN values
1606    is used for a clustering column (CASSANDRA-8410)
1607  * Fix NPE when writetime() or ttl() calls are wrapped by
1608    another function call (CASSANDRA-8451)
1609  * Fix NPE after dropping a keyspace (CASSANDRA-8332)
1610  * Fix error message on read repair timeouts (CASSANDRA-7947)
1611  * Default DTCS base_time_seconds changed to 60 (CASSANDRA-8417)
1612  * Refuse Paxos operation with more than one pending endpoint (CASSANDRA-8346, 8640)
1613  * Throw correct exception when trying to bind a keyspace or table
1614    name (CASSANDRA-6952)
1615  * Make HHOM.compact synchronized (CASSANDRA-8416)
1616  * cancel latency-sampling task when CF is dropped (CASSANDRA-8401)
1617  * don't block SocketThread for MessagingService (CASSANDRA-8188)
1618  * Increase quarantine delay on replacement (CASSANDRA-8260)
1619  * Expose off-heap memory usage stats (CASSANDRA-7897)
1620  * Ignore Paxos commits for truncated tables (CASSANDRA-7538)
1621  * Validate size of indexed column values (CASSANDRA-8280)
1622  * Make LCS split compaction results over all data directories (CASSANDRA-8329)
1623  * Fix some failing queries that use multi-column relations
1624    on COMPACT STORAGE tables (CASSANDRA-8264)
1625  * Fix InvalidRequestException with ORDER BY (CASSANDRA-8286)
1626  * Disable SSLv3 for POODLE (CASSANDRA-8265)
1627  * Fix millisecond timestamps in Tracing (CASSANDRA-8297)
1628  * Include keyspace name in error message when there are insufficient
1629    live nodes to stream from (CASSANDRA-8221)
1630  * Avoid overlap in L1 when L0 contains many nonoverlapping
1631    sstables (CASSANDRA-8211)
1632  * Improve PropertyFileSnitch logging (CASSANDRA-8183)
1633  * Add DC-aware sequential repair (CASSANDRA-8193)
1634  * Use live sstables in snapshot repair if possible (CASSANDRA-8312)
1635  * Fix hints serialized size calculation (CASSANDRA-8587)
1636
1637
1638 2.1.2
1639  * (cqlsh) parse_for_table_meta errors out on queries with undefined
1640    grammars (CASSANDRA-8262)
1641  * (cqlsh) Fix SELECT ... TOKEN() function broken in C* 2.1.1 (CASSANDRA-8258)
1642  * Fix Cassandra crash when running on JDK8 update 40 (CASSANDRA-8209)
1643  * Optimize partitioner tokens (CASSANDRA-8230)
1644  * Improve compaction of repaired/unrepaired sstables (CASSANDRA-8004)
1645  * Make cache serializers pluggable (CASSANDRA-8096)
1646  * Fix issues with CONTAINS (KEY) queries on secondary indexes
1647    (CASSANDRA-8147)
1648  * Fix read-rate tracking of sstables for some queries (CASSANDRA-8239)
1649  * Fix default timestamp in QueryOptions (CASSANDRA-8246)
1650  * Set socket timeout when reading remote version (CASSANDRA-8188)
1651  * Refactor how we track live size (CASSANDRA-7852)
1652  * Make sure unfinished compaction files are removed (CASSANDRA-8124)
1653  * Fix shutdown when run as Windows service (CASSANDRA-8136)
1654  * Fix DESCRIBE TABLE with custom indexes (CASSANDRA-8031)
1655  * Fix race in RecoveryManagerTest (CASSANDRA-8176)
1656  * Avoid IllegalArgumentException while sorting sstables in
1657    IndexSummaryManager (CASSANDRA-8182)
1658  * Shutdown JVM on file descriptor exhaustion (CASSANDRA-7579)
1659  * Add 'die' policy for commit log and disk failure (CASSANDRA-7927)
1660  * Fix installing as service on Windows (CASSANDRA-8115)
1661  * Fix CREATE TABLE for CQL2 (CASSANDRA-8144)
1662  * Avoid boxing in ColumnStats min/max trackers (CASSANDRA-8109)
1663 Merged from 2.0:
1664  * Correctly handle non-text column names in cql3 (CASSANDRA-8178)
1665  * Fix deletion for indexes on primary key columns (CASSANDRA-8206)
1666  * Add 'nodetool statusgossip' (CASSANDRA-8125)
1667  * Improve client notification that nodes are ready for requests (CASSANDRA-7510)
1668  * Handle negative timestamp in writetime method (CASSANDRA-8139)
1669  * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)
1670  * Throw ConfigurationException when hsha is used with the default
1671    rpc_max_threads setting of 'unlimited' (CASSANDRA-8116)
1672  * Allow concurrent writing of the same table in the same JVM using
1673    CQLSSTableWriter (CASSANDRA-7463)
1674  * Fix totalDiskSpaceUsed calculation (CASSANDRA-8205)
1675
1676
1677 2.1.1
1678  * Fix spin loop in AtomicSortedColumns (CASSANDRA-7546)
1679  * Dont notify when replacing tmplink files (CASSANDRA-8157)
1680  * Fix validation with multiple CONTAINS clause (CASSANDRA-8131)
1681  * Fix validation of collections in TriggerExecutor (CASSANDRA-8146)
1682  * Fix IllegalArgumentException when a list of IN values containing tuples
1683    is passed as a single arg to a prepared statement with the v1 or v2
1684    protocol (CASSANDRA-8062)
1685  * Fix ClassCastException in DISTINCT query on static columns with
1686    query paging (CASSANDRA-8108)
1687  * Fix NPE on null nested UDT inside a set (CASSANDRA-8105)
1688  * Fix exception when querying secondary index on set items or map keys
1689    when some clustering columns are specified (CASSANDRA-8073)
1690  * Send proper error response when there is an error during native
1691    protocol message decode (CASSANDRA-8118)
1692  * Gossip should ignore generation numbers too far in the future (CASSANDRA-8113)
1693  * Fix NPE when creating a table with frozen sets, lists (CASSANDRA-8104)
1694  * Fix high memory use due to tracking reads on incrementally opened sstable
1695    readers (CASSANDRA-8066)
1696  * Fix EXECUTE request with skipMetadata=false returning no metadata
1697    (CASSANDRA-8054)
1698  * Allow concurrent use of CQLBulkOutputFormat (CASSANDRA-7776)
1699  * Shutdown JVM on OOM (CASSANDRA-7507)
1700  * Upgrade netty version and enable epoll event loop (CASSANDRA-7761)
1701  * Don't duplicate sstables smaller than split size when using
1702    the sstablesplitter tool (CASSANDRA-7616)
1703  * Avoid re-parsing already prepared statements (CASSANDRA-7923)
1704  * Fix some Thrift slice deletions and updates of COMPACT STORAGE
1705    tables with some clustering columns omitted (CASSANDRA-7990)
1706  * Fix filtering for CONTAINS on sets (CASSANDRA-8033)
1707  * Properly track added size (CASSANDRA-7239)
1708  * Allow compilation in java 8 (CASSANDRA-7208)
1709  * Fix Assertion error on RangeTombstoneList diff (CASSANDRA-8013)
1710  * Release references to overlapping sstables during compaction (CASSANDRA-7819)
1711  * Send notification when opening compaction results early (CASSANDRA-8034)
1712  * Make native server start block until properly bound (CASSANDRA-7885)
1713  * (cqlsh) Fix IPv6 support (CASSANDRA-7988)
1714  * Ignore fat clients when checking for endpoint collision (CASSANDRA-7939)
1715  * Make sstablerepairedset take a list of files (CASSANDRA-7995)
1716  * (cqlsh) Tab completeion for indexes on map keys (CASSANDRA-7972)
1717  * (cqlsh) Fix UDT field selection in select clause (CASSANDRA-7891)
1718  * Fix resource leak in event of corrupt sstable
1719  * (cqlsh) Add command line option for cqlshrc file path (CASSANDRA-7131)
1720  * Provide visibility into prepared statements churn (CASSANDRA-7921, CASSANDRA-7930)
1721  * Invalidate prepared statements when their keyspace or table is
1722    dropped (CASSANDRA-7566)
1723  * cassandra-stress: fix support for NetworkTopologyStrategy (CASSANDRA-7945)
1724  * Fix saving caches when a table is dropped (CASSANDRA-7784)
1725  * Add better error checking of new stress profile (CASSANDRA-7716)
1726  * Use ThreadLocalRandom and remove FBUtilities.threadLocalRandom (CASSANDRA-7934)
1727  * Prevent operator mistakes due to simultaneous bootstrap (CASSANDRA-7069)
1728  * cassandra-stress supports whitelist mode for node config (CASSANDRA-7658)
1729  * GCInspector more closely tracks GC; cassandra-stress and nodetool report it (CASSANDRA-7916)
1730  * nodetool won't output bogus ownership info without a keyspace (CASSANDRA-7173)
1731  * Add human readable option to nodetool commands (CASSANDRA-5433)
1732  * Don't try to set repairedAt on old sstables (CASSANDRA-7913)
1733  * Add metrics for tracking PreparedStatement use (CASSANDRA-7719)
1734  * (cqlsh) tab-completion for triggers (CASSANDRA-7824)
1735  * (cqlsh) Support for query paging (CASSANDRA-7514)
1736  * (cqlsh) Show progress of COPY operations (CASSANDRA-7789)
1737  * Add syntax to remove multiple elements from a map (CASSANDRA-6599)
1738  * Support non-equals conditions in lightweight transactions (CASSANDRA-6839)
1739  * Add IF [NOT] EXISTS to create/drop triggers (CASSANDRA-7606)
1740  * (cqlsh) Display the current logged-in user (CASSANDRA-7785)
1741  * (cqlsh) Don't ignore CTRL-C during COPY FROM execution (CASSANDRA-7815)
1742  * (cqlsh) Order UDTs according to cross-type dependencies in DESCRIBE
1743    output (CASSANDRA-7659)
1744  * (cqlsh) Fix handling of CAS statement results (CASSANDRA-7671)
1745  * (cqlsh) COPY TO/FROM improvements (CASSANDRA-7405)
1746  * Support list index operations with conditions (CASSANDRA-7499)
1747  * Add max live/tombstoned cells to nodetool cfstats output (CASSANDRA-7731)
1748  * Validate IPv6 wildcard addresses properly (CASSANDRA-7680)
1749  * (cqlsh) Error when tracing query (CASSANDRA-7613)
1750  * Avoid IOOBE when building SyntaxError message snippet (CASSANDRA-7569)
1751  * SSTableExport uses correct validator to create string representation of partition
1752    keys (CASSANDRA-7498)
1753  * Avoid NPEs when receiving type changes for an unknown keyspace (CASSANDRA-7689)
1754  * Add support for custom 2i validation (CASSANDRA-7575)
1755  * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
1756  * Add duration mode to cassandra-stress (CASSANDRA-7468)
1757  * Add listen_interface and rpc_interface options (CASSANDRA-7417)
1758  * Improve schema merge performance (CASSANDRA-7444)
1759  * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
1760  * Optimise NativeCell comparisons (CASSANDRA-6755)
1761  * Configurable client timeout for cqlsh (CASSANDRA-7516)
1762  * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
1763  * Make repair -pr work with -local (CASSANDRA-7450)
1764  * Fix error in sstableloader with -cph > 1 (CASSANDRA-8007)
1765  * Fix snapshot repair error on indexed tables (CASSANDRA-8020)
1766  * Do not exit nodetool repair when receiving JMX NOTIF_LOST (CASSANDRA-7909)
1767  * Stream to private IP when available (CASSANDRA-8084)
1768 Merged from 2.0:
1769  * Reject conditions on DELETE unless full PK is given (CASSANDRA-6430)
1770  * Properly reject the token function DELETE (CASSANDRA-7747)
1771  * Force batchlog replay before decommissioning a node (CASSANDRA-7446)
1772  * Fix hint replay with many accumulated expired hints (CASSANDRA-6998)
1773  * Fix duplicate results in DISTINCT queries on static columns with query
1774    paging (CASSANDRA-8108)
1775  * Add DateTieredCompactionStrategy (CASSANDRA-6602)
1776  * Properly validate ascii and utf8 string literals in CQL queries (CASSANDRA-8101)
1777  * (cqlsh) Fix autocompletion for alter keyspace (CASSANDRA-8021)
1778  * Create backup directories for commitlog archiving during startup (CASSANDRA-8111)
1779  * Reduce totalBlockFor() for LOCAL_* consistency levels (CASSANDRA-8058)
1780  * Fix merging schemas with re-dropped keyspaces (CASSANDRA-7256)
1781  * Fix counters in supercolumns during live upgrades from 1.2 (CASSANDRA-7188)
1782  * Notify DT subscribers when a column family is truncated (CASSANDRA-8088)
1783  * Add sanity check of $JAVA on startup (CASSANDRA-7676)
1784  * Schedule fat client schema pull on join (CASSANDRA-7993)
1785  * Don't reset nodes' versions when closing IncomingTcpConnections
1786    (CASSANDRA-7734)
1787  * Record the real messaging version in all cases in OutboundTcpConnection
1788    (CASSANDRA-8057)
1789  * SSL does not work in cassandra-cli (CASSANDRA-7899)
1790  * Fix potential exception when using ReversedType in DynamicCompositeType
1791    (CASSANDRA-7898)
1792  * Better validation of collection values (CASSANDRA-7833)
1793  * Track min/max timestamps correctly (CASSANDRA-7969)
1794  * Fix possible overflow while sorting CL segments for replay (CASSANDRA-7992)
1795  * Increase nodetool Xmx (CASSANDRA-7956)
1796  * Archive any commitlog segments present at startup (CASSANDRA-6904)
1797  * CrcCheckChance should adjust based on live CFMetadata not
1798    sstable metadata (CASSANDRA-7978)
1799  * token() should only accept columns in the partitioning
1800    key order (CASSANDRA-6075)
1801  * Add method to invalidate permission cache via JMX (CASSANDRA-7977)
1802  * Allow propagating multiple gossip states atomically (CASSANDRA-6125)
1803  * Log exceptions related to unclean native protocol client disconnects
1804    at DEBUG or INFO (CASSANDRA-7849)
1805  * Allow permissions cache to be set via JMX (CASSANDRA-7698)
1806  * Include schema_triggers CF in readable system resources (CASSANDRA-7967)
1807  * Fix RowIndexEntry to report correct serializedSize (CASSANDRA-7948)
1808  * Make CQLSSTableWriter sync within partitions (CASSANDRA-7360)
1809  * Potentially use non-local replicas in CqlConfigHelper (CASSANDRA-7906)
1810  * Explicitly disallow mixing multi-column and single-column
1811    relations on clustering columns (CASSANDRA-7711)
1812  * Better error message when condition is set on PK column (CASSANDRA-7804)
1813  * Don't send schema change responses and events for no-op DDL
1814    statements (CASSANDRA-7600)
1815  * (Hadoop) fix cluster initialisation for a split fetching (CASSANDRA-7774)
1816  * Throw InvalidRequestException when queries contain relations on entire
1817    collection columns (CASSANDRA-7506)
1818  * (cqlsh) enable CTRL-R history search with libedit (CASSANDRA-7577)
1819  * (Hadoop) allow ACFRW to limit nodes to local DC (CASSANDRA-7252)
1820  * (cqlsh) cqlsh should automatically disable tracing when selecting
1821    from system_traces (CASSANDRA-7641)
1822  * (Hadoop) Add CqlOutputFormat (CASSANDRA-6927)
1823  * Don't depend on cassandra config for nodetool ring (CASSANDRA-7508)
1824  * (cqlsh) Fix failing cqlsh formatting tests (CASSANDRA-7703)
1825  * Fix IncompatibleClassChangeError from hadoop2 (CASSANDRA-7229)
1826  * Add 'nodetool sethintedhandoffthrottlekb' (CASSANDRA-7635)
1827  * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS (CASSANDRA-7611)
1828  * Catch errors when the JVM pulls the rug out from GCInspector (CASSANDRA-5345)
1829  * cqlsh fails when version number parts are not int (CASSANDRA-7524)
1830  * Fix NPE when table dropped during streaming (CASSANDRA-7946)
1831  * Fix wrong progress when streaming uncompressed (CASSANDRA-7878)
1832  * Fix possible infinite loop in creating repair range (CASSANDRA-7983)
1833  * Fix unit in nodetool for streaming throughput (CASSANDRA-7375)
1834 Merged from 1.2:
1835  * Don't index tombstones (CASSANDRA-7828)
1836  * Improve PasswordAuthenticator default super user setup (CASSANDRA-7788)
1837
1838
1839 2.1.0
1840  * (cqlsh) Removed "ALTER TYPE <name> RENAME TO <name>" from tab-completion
1841    (CASSANDRA-7895)
1842  * Fixed IllegalStateException in anticompaction (CASSANDRA-7892)
1843  * cqlsh: DESCRIBE support for frozen UDTs, tuples (CASSANDRA-7863)
1844  * Avoid exposing internal classes over JMX (CASSANDRA-7879)
1845  * Add null check for keys when freezing collection (CASSANDRA-7869)
1846  * Improve stress workload realism (CASSANDRA-7519)
1847 Merged from 2.0:
1848  * Configure system.paxos with LeveledCompactionStrategy (CASSANDRA-7753)
1849  * Fix ALTER clustering column type from DateType to TimestampType when
1850    using DESC clustering order (CASSANRDA-7797)
1851  * Throw EOFException if we run out of chunks in compressed datafile
1852    (CASSANDRA-7664)
1853  * Fix PRSI handling of CQL3 row markers for row cleanup (CASSANDRA-7787)
1854  * Fix dropping collection when it's the last regular column (CASSANDRA-7744)
1855  * Make StreamReceiveTask thread safe and gc friendly (CASSANDRA-7795)
1856  * Validate empty cell names from counter updates (CASSANDRA-7798)
1857 Merged from 1.2:
1858  * Don't allow compacted sstables to be marked as compacting (CASSANDRA-7145)
1859  * Track expired tombstones (CASSANDRA-7810)
1860
1861
1862 2.1.0-rc7
1863  * Add frozen keyword and require UDT to be frozen (CASSANDRA-7857)
1864  * Track added sstable size correctly (CASSANDRA-7239)
1865  * (cqlsh) Fix case insensitivity (CASSANDRA-7834)
1866  * Fix failure to stream ranges when moving (CASSANDRA-7836)
1867  * Correctly remove tmplink files (CASSANDRA-7803)
1868  * (cqlsh) Fix column name formatting for functions, CAS operations,
1869    and UDT field selections (CASSANDRA-7806)
1870  * (cqlsh) Fix COPY FROM handling of null/empty primary key
1871    values (CASSANDRA-7792)
1872  * Fix ordering of static cells (CASSANDRA-7763)
1873 Merged from 2.0:
1874  * Forbid re-adding dropped counter columns (CASSANDRA-7831)
1875  * Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832)
1876  * Always reject inequality on the partition key without token()
1877    (CASSANDRA-7722)
1878  * Always send Paxos commit to all replicas (CASSANDRA-7479)
1879  * Make disruptor_thrift_server invocation pool configurable (CASSANDRA-7594)
1880  * Make repair no-op when RF=1 (CASSANDRA-7864)
1881
1882
1883 2.1.0-rc6
1884  * Fix OOM issue from netty caching over time (CASSANDRA-7743)
1885  * json2sstable couldn't import JSON for CQL table (CASSANDRA-7477)
1886  * Invalidate all caches on table drop (CASSANDRA-7561)
1887  * Skip strict endpoint selection for ranges if RF == nodes (CASSANRA-7765)
1888  * Fix Thrift range filtering without 2ary index lookups (CASSANDRA-7741)
1889  * Add tracing entries about concurrent range requests (CASSANDRA-7599)
1890  * (cqlsh) Fix DESCRIBE for NTS keyspaces (CASSANDRA-7729)
1891  * Remove netty buffer ref-counting (CASSANDRA-7735)
1892  * Pass mutated cf to index updater for use by PRSI (CASSANDRA-7742)
1893  * Include stress yaml example in release and deb (CASSANDRA-7717)
1894  * workaround for netty issue causing corrupted data off the wire (CASSANDRA-7695)
1895  * cqlsh DESC CLUSTER fails retrieving ring information (CASSANDRA-7687)
1896  * Fix binding null values inside UDT (CASSANDRA-7685)
1897  * Fix UDT field selection with empty fields (CASSANDRA-7670)
1898  * Bogus deserialization of static cells from sstable (CASSANDRA-7684)
1899  * Fix NPE on compaction leftover cleanup for dropped table (CASSANDRA-7770)
1900 Merged from 2.0:
1901  * Fix race condition in StreamTransferTask that could lead to
1902    infinite loops and premature sstable deletion (CASSANDRA-7704)
1903  * (cqlsh) Wait up to 10 sec for a tracing session (CASSANDRA-7222)
1904  * Fix NPE in FileCacheService.sizeInBytes (CASSANDRA-7756)
1905  * Remove duplicates from StorageService.getJoiningNodes (CASSANDRA-7478)
1906  * Clone token map outside of hot gossip loops (CASSANDRA-7758)
1907  * Fix MS expiring map timeout for Paxos messages (CASSANDRA-7752)
1908  * Do not flush on truncate if durable_writes is false (CASSANDRA-7750)
1909  * Give CRR a default input_cql Statement (CASSANDRA-7226)
1910  * Better error message when adding a collection with the same name
1911    than a previously dropped one (CASSANDRA-6276)
1912  * Fix validation when adding static columns (CASSANDRA-7730)
1913  * (Thrift) fix range deletion of supercolumns (CASSANDRA-7733)
1914  * Fix potential AssertionError in RangeTombstoneList (CASSANDRA-7700)
1915  * Validate arguments of blobAs* functions (CASSANDRA-7707)
1916  * Fix potential AssertionError with 2ndary indexes (CASSANDRA-6612)
1917  * Avoid logging CompactionInterrupted at ERROR (CASSANDRA-7694)
1918  * Minor leak in sstable2jon (CASSANDRA-7709)
1919  * Add cassandra.auto_bootstrap system property (CASSANDRA-7650)
1920  * Update java driver (for hadoop) (CASSANDRA-7618)
1921  * Remove CqlPagingRecordReader/CqlPagingInputFormat (CASSANDRA-7570)
1922  * Support connecting to ipv6 jmx with nodetool (CASSANDRA-7669)
1923
1924
1925 2.1.0-rc5
1926  * Reject counters inside user types (CASSANDRA-7672)
1927  * Switch to notification-based GCInspector (CASSANDRA-7638)
1928  * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
1929  * Don't use strict consistency when replacing (CASSANDRA-7568)
1930  * Fix min/max cell name collection on 2.0 SSTables with range
1931    tombstones (CASSANDRA-7593)
1932  * Tolerate min/max cell names of different lengths (CASSANDRA-7651)
1933  * Filter cached results correctly (CASSANDRA-7636)
1934  * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
1935  * Remove shuffle and taketoken (CASSANDRA-7601)
1936  * Clean up Windows batch scripts (CASSANDRA-7619)
1937  * Fix native protocol drop user type notification (CASSANDRA-7571)
1938  * Give read access to system.schema_usertypes to all authenticated users
1939    (CASSANDRA-7578)
1940  * (cqlsh) Fix cqlsh display when zero rows are returned (CASSANDRA-7580)
1941  * Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572)
1942  * Fix NPE when dropping index from non-existent keyspace, AssertionError when
1943    dropping non-existent index with IF EXISTS (CASSANDRA-7590)
1944  * Fix sstablelevelresetter hang (CASSANDRA-7614)
1945  * (cqlsh) Fix deserialization of blobs (CASSANDRA-7603)
1946  * Use "keyspace updated" schema change message for UDT changes in v1 and
1947    v2 protocols (CASSANDRA-7617)
1948  * Fix tracing of range slices and secondary index lookups that are local
1949    to the coordinator (CASSANDRA-7599)
1950  * Set -Dcassandra.storagedir for all tool shell scripts (CASSANDRA-7587)
1951  * Don't swap max/min col names when mutating sstable metadata (CASSANDRA-7596)
1952  * (cqlsh) Correctly handle paged result sets (CASSANDRA-7625)
1953  * (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626)
1954  * Fix tracing of concurrent range slices and 2ary index queries (CASSANDRA-7626)
1955  * Fix scrub against collection type (CASSANDRA-7665)
1956 Merged from 2.0:
1957  * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
1958  * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
1959  * Always flush on truncate (CASSANDRA-7511)
1960  * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
1961  * Always merge ranges owned by a single node (CASSANDRA-6930)
1962  * Track max/min timestamps for range tombstones (CASSANDRA-7647)
1963  * Fix NPE when listing saved caches dir (CASSANDRA-7632)
1964
1965
1966 2.1.0-rc4
1967  * Fix word count hadoop example (CASSANDRA-7200)
1968  * Updated memtable_cleanup_threshold and memtable_flush_writers defaults
1969    (CASSANDRA-7551)
1970  * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
1971  * Anti-compaction proceeds if any part of the repair failed (CASSANDRA-7521)
1972  * Add missing table name to DROP INDEX responses and notifications (CASSANDRA-7539)
1973  * Bump CQL version to 3.2.0 and update CQL documentation (CASSANDRA-7527)
1974  * Fix configuration error message when running nodetool ring (CASSANDRA-7508)
1975  * Support conditional updates, tuple type, and the v3 protocol in cqlsh (CASSANDRA-7509)
1976  * Handle queries on multiple secondary index types (CASSANDRA-7525)
1977  * Fix cqlsh authentication with v3 native protocol (CASSANDRA-7564)
1978  * Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454)
1979 Merged from 2.0:
1980  * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541)
1981  * Fix range merging when DES scores are zero (CASSANDRA-7535)
1982  * Warn when SSL certificates have expired (CASSANDRA-7528)
1983  * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
1984 Merged from 1.2:
1985  * Set correct stream ID on responses when non-Exception Throwables
1986    are thrown while handling native protocol messages (CASSANDRA-7470)
1987
1988
1989 2.1.0-rc3
1990  * Consider expiry when reconciling otherwise equal cells (CASSANDRA-7403)
1991  * Introduce CQL support for stress tool (CASSANDRA-6146)
1992  * Fix ClassCastException processing expired messages (CASSANDRA-7496)
1993  * Fix prepared marker for collections inside UDT (CASSANDRA-7472)
1994  * Remove left-over populate_io_cache_on_flush and replicate_on_write
1995    uses (CASSANDRA-7493)
1996  * (Windows) handle spaces in path names (CASSANDRA-7451)
1997  * Ensure writes have completed after dropping a table, before recycling
1998    commit log segments (CASSANDRA-7437)
1999  * Remove left-over rows_per_partition_to_cache (CASSANDRA-7493)
2000  * Fix error when CONTAINS is used with a bind marker (CASSANDRA-7502)
2001  * Properly reject unknown UDT field (CASSANDRA-7484)
2002 Merged from 2.0:
2003  * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
2004  * Support DISTINCT for static columns and fix behaviour when DISTINC is
2005    not use (CASSANDRA-7305).
2006  * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
2007  * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
2008  * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
2009    operations to incorrect become full QUORUM (CASSANDRA-7345)
2010  * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
2011  * (Hadoop) close CqlRecordWriter clients when finished (CASSANDRA-7459)
2012  * Commit disk failure policy (CASSANDRA-7429)
2013  * Make sure high level sstables get compacted (CASSANDRA-7414)
2014  * Fix AssertionError when using empty clustering columns and static columns
2015    (CASSANDRA-7455)
2016  * Add option to disable STCS in L0 (CASSANDRA-6621)
2017  * Upgrade to snappy-java 1.0.5.2 (CASSANDRA-7476)
2018
2019
2020 2.1.0-rc2
2021  * Fix heap size calculation for CompoundSparseCellName and
2022    CompoundSparseCellName.WithCollection (CASSANDRA-7421)
2023  * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351)
2024  * Modify reconcile logic to always pick a tombstone over a counter cell
2025    (CASSANDRA-7346)
2026  * Avoid incremental compaction on Windows (CASSANDRA-7365)
2027  * Fix exception when querying a composite-keyed table with a collection index
2028    (CASSANDRA-7372)
2029  * Use node's host id in place of counter ids (CASSANDRA-7366)
2030  * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
2031  * Backport CASSANDRA-6747 (CASSANDRA-7560)
2032  * Track max/min timestamps for range tombstones (CASSANDRA-7647)
2033  * Fix NPE when listing saved caches dir (CASSANDRA-7632)
2034  * Fix sstableloader unable to connect encrypted node (CASSANDRA-7585)
2035 Merged from 1.2:
2036  * Clone token map outside of hot gossip loops (CASSANDRA-7758)
2037  * Add stop method to EmbeddedCassandraService (CASSANDRA-7595)
2038  * Support connecting to ipv6 jmx with nodetool (CASSANDRA-7669)
2039  * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
2040  * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
2041  * Set correct stream ID on responses when non-Exception Throwables
2042    are thrown while handling native protocol messages (CASSANDRA-7470)
2043  * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543)
2044  * Fix race in background compaction check (CASSANDRA-7745)
2045  * Don't clear out range tombstones during compaction (CASSANDRA-7808)
2046
2047
2048 2.1.0-rc1
2049  * Revert flush directory (CASSANDRA-6357)
2050  * More efficient executor service for fast operations (CASSANDRA-4718)
2051  * Move less common tools into a new cassandra-tools package (CASSANDRA-7160)
2052  * Support more concurrent requests in native protocol (CASSANDRA-7231)
2053  * Add tab-completion to debian nodetool packaging (CASSANDRA-6421)
2054  * Change concurrent_compactors defaults (CASSANDRA-7139)
2055  * Add PowerShell Windows launch scripts (CASSANDRA-7001)
2056  * Make commitlog archive+restore more robust (CASSANDRA-6974)
2057  * Fix marking commitlogsegments clean (CASSANDRA-6959)
2058  * Add snapshot "manifest" describing files included (CASSANDRA-6326)
2059  * Parallel streaming for sstableloader (CASSANDRA-3668)
2060  * Fix bugs in supercolumns handling (CASSANDRA-7138)
2061  * Fix ClassClassException on composite dense tables (CASSANDRA-7112)
2062  * Cleanup and optimize collation and slice iterators (CASSANDRA-7107)
2063  * Upgrade NBHM lib (CASSANDRA-7128)
2064  * Optimize netty server (CASSANDRA-6861)
2065  * Fix repair hang when given CF does not exist (CASSANDRA-7189)
2066  * Allow c* to be shutdown in an embedded mode (CASSANDRA-5635)
2067  * Add server side batching to native transport (CASSANDRA-5663)
2068  * Make batchlog replay asynchronous (CASSANDRA-6134)
2069  * remove unused classes (CASSANDRA-7197)
2070  * Limit user types to the keyspace they are defined in (CASSANDRA-6643)
2071  * Add validate method to CollectionType (CASSANDRA-7208)
2072  * New serialization format for UDT values (CASSANDRA-7209, CASSANDRA-7261)
2073  * Fix nodetool netstats (CASSANDRA-7270)
2074  * Fix potential ClassCastException in HintedHandoffManager (CASSANDRA-7284)
2075  * Use prepared statements internally (CASSANDRA-6975)
2076  * Fix broken paging state with prepared statement (CASSANDRA-7120)
2077  * Fix IllegalArgumentException in CqlStorage (CASSANDRA-7287)
2078  * Allow nulls/non-existant fields in UDT (CASSANDRA-7206)
2079  * Add Thrift MultiSliceRequest (CASSANDRA-6757, CASSANDRA-7027)
2080  * Handle overlapping MultiSlices (CASSANDRA-7279)
2081  * Fix DataOutputTest on Windows (CASSANDRA-7265)
2082  * Embedded sets in user defined data-types are not updating (CASSANDRA-7267)
2083  * Add tuple type to CQL/native protocol (CASSANDRA-7248)
2084  * Fix CqlPagingRecordReader on tables with few rows (CASSANDRA-7322)
2085 Merged from 2.0:
2086  * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
2087  * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
2088  * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
2089  * Always reallocate buffers in HSHA (CASSANDRA-6285)
2090  * (Hadoop) support authentication in CqlRecordReader (CASSANDRA-7221)
2091  * (Hadoop) Close java driver Cluster in CQLRR.close (CASSANDRA-7228)
2092  * Warn when 'USING TIMESTAMP' is used on a CAS BATCH (CASSANDRA-7067)
2093  * return all cpu values from BackgroundActivityMonitor.readAndCompute (CASSANDRA-7183)
2094  * Correctly delete scheduled range xfers (CASSANDRA-7143)
2095  * return all cpu values from BackgroundActivityMonitor.readAndCompute (CASSANDRA-7183)
2096  * reduce garbage creation in calculatePendingRanges (CASSANDRA-7191)
2097  * fix c* launch issues on Russian os's due to output of linux 'free' cmd (CASSANDRA-6162)
2098  * Fix disabling autocompaction (CASSANDRA-7187)
2099  * Fix potential NumberFormatException when deserializing IntegerType (CASSANDRA-7088)
2100  * cqlsh can't tab-complete disabling compaction (CASSANDRA-7185)
2101  * cqlsh: Accept and execute CQL statement(s) from command-line parameter (CASSANDRA-7172)
2102  * Fix IllegalStateException in CqlPagingRecordReader (CASSANDRA-7198)
2103  * Fix the InvertedIndex trigger example (CASSANDRA-7211)
2104  * Add --resolve-ip option to 'nodetool ring' (CASSANDRA-7210)
2105  * reduce garbage on codec flag deserialization (CASSANDRA-7244)
2106  * Fix duplicated error messages on directory creation error at startup (CASSANDRA-5818)
2107  * Proper null handle for IF with map element access (CASSANDRA-7155)
2108  * Improve compaction visibility (CASSANDRA-7242)
2109  * Correctly delete scheduled range xfers (CASSANDRA-7143)
2110  * Make batchlog replica selection rack-aware (CASSANDRA-6551)
2111  * Fix CFMetaData#getColumnDefinitionFromColumnName() (CASSANDRA-7074)
2112  * Fix writetime/ttl functions for static columns (CASSANDRA-7081)
2113  * Suggest CTRL-C or semicolon after three blank lines in cqlsh (CASSANDRA-7142)
2114  * Fix 2ndary index queries with DESC clustering order (CASSANDRA-6950)
2115  * Invalid key cache entries on DROP (CASSANDRA-6525)
2116  * Fix flapping RecoveryManagerTest (CASSANDRA-7084)
2117  * Add missing iso8601 patterns for date strings (CASSANDRA-6973)
2118  * Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
2119  * Add authentication support to shuffle (CASSANDRA-6484)
2120  * Swap local and global default read repair chances (CASSANDRA-7320)
2121  * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
2122  * Cqlsh counts non-empty lines for "Blank lines" warning (CASSANDRA-7325)
2123 Merged from 1.2:
2124  * Add Cloudstack snitch (CASSANDRA-7147)
2125  * Update system.peers correctly when relocating tokens (CASSANDRA-7126)
2126  * Add Google Compute Engine snitch (CASSANDRA-7132)
2127  * remove duplicate query for local tokens (CASSANDRA-7182)
2128  * exit CQLSH with error status code if script fails (CASSANDRA-6344)
2129  * Fix bug with some IN queries missig results (CASSANDRA-7105)
2130  * Fix availability validation for LOCAL_ONE CL (CASSANDRA-7319)
2131  * Hint streaming can cause decommission to fail (CASSANDRA-7219)
2132
2133
2134 2.1.0-beta2
2135  * Increase default CL space to 8GB (CASSANDRA-7031)
2136  * Add range tombstones to read repair digests (CASSANDRA-6863)
2137  * Fix BTree.clear for large updates (CASSANDRA-6943)
2138  * Fail write instead of logging a warning when unable to append to CL
2139    (CASSANDRA-6764)
2140  * Eliminate possibility of CL segment appearing twice in active list
2141    (CASSANDRA-6557)
2142  * Apply DONTNEED fadvise to commitlog segments (CASSANDRA-6759)
2143  * Switch CRC component to Adler and include it for compressed sstables
2144    (CASSANDRA-4165)
2145  * Allow cassandra-stress to set compaction strategy options (CASSANDRA-6451)
2146  * Add broadcast_rpc_address option to cassandra.yaml (CASSANDRA-5899)
2147  * Auto reload GossipingPropertyFileSnitch config (CASSANDRA-5897)
2148  * Fix overflow of memtable_total_space_in_mb (CASSANDRA-6573)
2149  * Fix ABTC NPE and apply update function correctly (CASSANDRA-6692)
2150  * Allow nodetool to use a file or prompt for password (CASSANDRA-6660)
2151  * Fix AIOOBE when concurrently accessing ABSC (CASSANDRA-6742)
2152  * Fix assertion error in ALTER TYPE RENAME (CASSANDRA-6705)
2153  * Scrub should not always clear out repaired status (CASSANDRA-5351)
2154  * Improve handling of range tombstone for wide partitions (CASSANDRA-6446)
2155  * Fix ClassCastException for compact table with composites (CASSANDRA-6738)
2156  * Fix potentially repairing with wrong nodes (CASSANDRA-6808)
2157  * Change caching option syntax (CASSANDRA-6745)
2158  * Fix stress to do proper counter reads (CASSANDRA-6835)
2159  * Fix help message for stress counter_write (CASSANDRA-6824)
2160  * Fix stress smart Thrift client to pick servers correctly (CASSANDRA-6848)
2161  * Add logging levels (minimal, normal or verbose) to stress tool (CASSANDRA-6849)
2162  * Fix race condition in Batch CLE (CASSANDRA-6860)
2163  * Improve cleanup/scrub/upgradesstables failure handling (CASSANDRA-6774)
2164  * ByteBuffer write() methods for serializing sstables (CASSANDRA-6781)
2165  * Proper compare function for CollectionType (CASSANDRA-6783)
2166  * Update native server to Netty 4 (CASSANDRA-6236)
2167  * Fix off-by-one error in stress (CASSANDRA-6883)
2168  * Make OpOrder AutoCloseable (CASSANDRA-6901)
2169  * Remove sync repair JMX interface (CASSANDRA-6900)
2170  * Add multiple memory allocation options for memtables (CASSANDRA-6689, 6694)
2171  * Remove adjusted op rate from stress output (CASSANDRA-6921)
2172  * Add optimized CF.hasColumns() implementations (CASSANDRA-6941)
2173  * Serialize batchlog mutations with the version of the target node
2174    (CASSANDRA-6931)
2175  * Optimize CounterColumn#reconcile() (CASSANDRA-6953)
2176  * Properly remove 1.2 sstable support in 2.1 (CASSANDRA-6869)
2177  * Lock counter cells, not partitions (CASSANDRA-6880)
2178  * Track presence of legacy counter shards in sstables (CASSANDRA-6888)
2179  * Ensure safe resource cleanup when replacing sstables (CASSANDRA-6912)
2180  * Add failure handler to async callback (CASSANDRA-6747)
2181  * Fix AE when closing SSTable without releasing reference (CASSANDRA-7000)
2182  * Clean up IndexInfo on keyspace/table drops (CASSANDRA-6924)
2183  * Only snapshot relative SSTables when sequential repair (CASSANDRA-7024)
2184  * Require nodetool rebuild_index to specify index names (CASSANDRA-7038)
2185  * fix cassandra stress errors on reads with native protocol (CASSANDRA-7033)
2186  * Use OpOrder to guard sstable references for reads (CASSANDRA-6919)
2187  * Preemptive opening of compaction result (CASSANDRA-6916)
2188  * Multi-threaded scrub/cleanup/upgradesstables (CASSANDRA-5547)
2189  * Optimize cellname comparison (CASSANDRA-6934)
2190  * Native protocol v3 (CASSANDRA-6855)
2191  * Optimize Cell liveness checks and clean up Cell (CASSANDRA-7119)
2192  * Support consistent range movements (CASSANDRA-2434)
2193  * Display min timestamp in sstablemetadata viewer (CASSANDRA-6767)
2194 Merged from 2.0:
2195  * Avoid race-prone second "scrub" of system keyspace (CASSANDRA-6797)
2196  * Pool CqlRecordWriter clients by inetaddress rather than Range
2197    (CASSANDRA-6665)
2198  * Fix compaction_history timestamps (CASSANDRA-6784)
2199  * Compare scores of full replica ordering in DES (CASSANDRA-6683)
2200  * fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577)
2201  * Allow repairing between specific replicas (CASSANDRA-6440)
2202  * Allow per-dc enabling of hints (CASSANDRA-6157)
2203  * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201)
2204  * Fix EstimatedHistogram races (CASSANDRA-6682)
2205  * Failure detector correctly converts initial value to nanos (CASSANDRA-6658)
2206  * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445)
2207  * Expose bulk loading progress over JMX (CASSANDRA-4757)
2208  * Correctly handle null with IF conditions and TTL (CASSANDRA-6623)
2209  * Account for range/row tombstones in tombstone drop
2210    time histogram (CASSANDRA-6522)
2211  * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652)
2212  * Make commitlog failure handling configurable (CASSANDRA-6364)
2213  * Avoid overlaps in LCS (CASSANDRA-6688)
2214  * Improve support for paginating over composites (CASSANDRA-4851)
2215  * Fix count(*) queries in a mixed cluster (CASSANDRA-6707)
2216  * Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566)
2217  * Fix replaying pre-2.0 commit logs (CASSANDRA-6714)
2218  * Add static columns to CQL3 (CASSANDRA-6561)
2219  * Optimize single partition batch statements (CASSANDRA-6737)
2220  * Disallow post-query re-ordering when paging (CASSANDRA-6722)
2221  * Fix potential paging bug with deleted columns (CASSANDRA-6748)
2222  * Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636)
2223  * Fix truncating compression metadata (CASSANDRA-6791)
2224  * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541)
2225  * Catch memtable flush exceptions during shutdown (CASSANDRA-6735)
2226  * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
2227  * Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782)
2228  * Fix IllegalArgumentException when updating from 1.2 with SuperColumns
2229    (CASSANDRA-6733)
2230  * FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778)
2231  * Fix CQLSStableWriter.addRow(Map<String, Object>) (CASSANDRA-6526)
2232  * Fix HSHA server introducing corrupt data (CASSANDRA-6285)
2233  * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813)
2234  * Starting threads in OutboundTcpConnectionPool constructor causes race conditions (CASSANDRA-7177)
2235  * Allow overriding cassandra-rackdc.properties file (CASSANDRA-7072)
2236  * Set JMX RMI port to 7199 (CASSANDRA-7087)
2237  * Use LOCAL_QUORUM for data reads at LOCAL_SERIAL (CASSANDRA-6939)
2238  * Log a warning for large batches (CASSANDRA-6487)
2239  * Put nodes in hibernate when join_ring is false (CASSANDRA-6961)
2240  * Avoid early loading of non-system keyspaces before compaction-leftovers
2241    cleanup at startup (CASSANDRA-6913)
2242  * Restrict Windows to parallel repairs (CASSANDRA-6907)
2243  * (Hadoop) Allow manually specifying start/end tokens in CFIF (CASSANDRA-6436)
2244  * Fix NPE in MeteredFlusher (CASSANDRA-6820)
2245  * Fix race processing range scan responses (CASSANDRA-6820)
2246  * Allow deleting snapshots from dropped keyspaces (CASSANDRA-6821)
2247  * Add uuid() function (CASSANDRA-6473)
2248  * Omit tombstones from schema digests (CASSANDRA-6862)
2249  * Include correct consistencyLevel in LWT timeout (CASSANDRA-6884)
2250  * Lower chances for losing new SSTables during nodetool refresh and
2251    ColumnFamilyStore.loadNewSSTables (CASSANDRA-6514)
2252  * Add support for DELETE ... IF EXISTS to CQL3 (CASSANDRA-5708)
2253  * Update hadoop_cql3_word_count example (CASSANDRA-6793)
2254  * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788)
2255  * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865)
2256  * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864)
2257  * Fix schema concurrency exceptions (CASSANDRA-6841)
2258  * Fix leaking validator FH in StreamWriter (CASSANDRA-6832)
2259  * Fix saving triggers to schema (CASSANDRA-6789)
2260  * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790)
2261  * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838)
2262  * Fix static counter columns (CASSANDRA-6827)
2263  * Restore expiring->deleted (cell) compaction optimization (CASSANDRA-6844)
2264  * Fix CompactionManager.needsCleanup (CASSANDRA-6845)
2265  * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779)
2266  * Read message id as string from earlier versions (CASSANDRA-6840)
2267  * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837)
2268  * Add paranoid disk failure option (CASSANDRA-6646)
2269  * Improve PerRowSecondaryIndex performance (CASSANDRA-6876)
2270  * Extend triggers to support CAS updates (CASSANDRA-6882)
2271  * Static columns with IF NOT EXISTS don't always work as expected (CASSANDRA-6873)
2272  * Fix paging with SELECT DISTINCT (CASSANDRA-6857)
2273  * Fix UnsupportedOperationException on CAS timeout (CASSANDRA-6923)
2274  * Improve MeteredFlusher handling of MF-unaffected column families
2275    (CASSANDRA-6867)
2276  * Add CqlRecordReader using native pagination (CASSANDRA-6311)
2277  * Add QueryHandler interface (CASSANDRA-6659)
2278  * Track liveRatio per-memtable, not per-CF (CASSANDRA-6945)
2279  * Make sure upgradesstables keeps sstable level (CASSANDRA-6958)
2280  * Fix LIMIT with static columns (CASSANDRA-6956)
2281  * Fix clash with CQL column name in thrift validation (CASSANDRA-6892)
2282  * Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966)
2283  * Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825)
2284  * Fix unintended update with conditional statement (CASSANDRA-6893)
2285  * Fix map element access in IF (CASSANDRA-6914)
2286  * Avoid costly range calculations for range queries on system keyspaces
2287    (CASSANDRA-6906)
2288  * Fix SSTable not released if stream session fails (CASSANDRA-6818)
2289  * Avoid build failure due to ANTLR timeout (CASSANDRA-6991)
2290  * Queries on compact tables can return more rows that requested (CASSANDRA-7052)
2291  * USING TIMESTAMP for batches does not work (CASSANDRA-7053)
2292  * Fix performance regression from CASSANDRA-5614 (CASSANDRA-6949)
2293  * Ensure that batchlog and hint timeouts do not produce hints (CASSANDRA-7058)
2294  * Merge groupable mutations in TriggerExecutor#execute() (CASSANDRA-7047)
2295  * Plug holes in resource release when wiring up StreamSession (CASSANDRA-7073)
2296  * Re-add parameter columns to tracing session (CASSANDRA-6942)
2297  * Preserves CQL metadata when updating table from thrift (CASSANDRA-6831)
2298 Merged from 1.2:
2299  * Fix nodetool display with vnodes (CASSANDRA-7082)
2300  * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)
2301  * add extra SSL cipher suites (CASSANDRA-6613)
2302  * fix nodetool getsstables for blob PK (CASSANDRA-6803)
2303  * Fix BatchlogManager#deleteBatch() use of millisecond timestamps
2304    (CASSANDRA-6822)
2305  * Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
2306  * Schedule schema pulls on change (CASSANDRA-6971)
2307  * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
2308  * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
2309  * Fix batchlog to account for CF truncation records (CASSANDRA-6999)
2310  * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
2311  * Properly load trustore in the native protocol (CASSANDRA-6847)
2312  * Always clean up references in SerializingCache (CASSANDRA-6994)
2313  * Don't shut MessagingService down when replacing a node (CASSANDRA-6476)
2314  * fix npe when doing -Dcassandra.fd_initial_value_ms (CASSANDRA-6751)
2315
2316
2317 2.1.0-beta1
2318  * Add flush directory distinct from compaction directories (CASSANDRA-6357)
2319  * Require JNA by default (CASSANDRA-6575)
2320  * add listsnapshots command to nodetool (CASSANDRA-5742)
2321  * Introduce AtomicBTreeColumns (CASSANDRA-6271, 6692)
2322  * Multithreaded commitlog (CASSANDRA-3578)
2323  * allocate fixed index summary memory pool and resample cold index summaries
2324    to use less memory (CASSANDRA-5519)
2325  * Removed multithreaded compaction (CASSANDRA-6142)
2326  * Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337)
2327  * change logging from log4j to logback (CASSANDRA-5883)
2328  * switch to LZ4 compression for internode communication (CASSANDRA-5887)
2329  * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
2330  * Remove 1.2 network compatibility code (CASSANDRA-5960)
2331  * Remove leveled json manifest migration code (CASSANDRA-5996)
2332  * Remove CFDefinition (CASSANDRA-6253)
2333  * Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278)
2334  * User-defined types for CQL3 (CASSANDRA-5590)
2335  * Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406)
2336  * Batch read from OTC's queue and cleanup (CASSANDRA-1632)
2337  * Secondary index support for collections (CASSANDRA-4511, 6383)
2338  * SSTable metadata(Stats.db) format change (CASSANDRA-6356)
2339  * Push composites support in the storage engine
2340    (CASSANDRA-5417, CASSANDRA-6520)
2341  * Add snapshot space used to cfstats (CASSANDRA-6231)
2342  * Add cardinality estimator for key count estimation (CASSANDRA-5906)
2343  * CF id is changed to be non-deterministic. Data dir/key cache are created
2344    uniquely for CF id (CASSANDRA-5202)
2345  * New counters implementation (CASSANDRA-6504)
2346  * Replace UnsortedColumns, EmptyColumns, TreeMapBackedSortedColumns with new
2347    ArrayBackedSortedColumns (CASSANDRA-6630, CASSANDRA-6662, CASSANDRA-6690)
2348  * Add option to use row cache with a given amount of rows (CASSANDRA-5357)
2349  * Avoid repairing already repaired data (CASSANDRA-5351)
2350  * Reject counter updates with USING TTL/TIMESTAMP (CASSANDRA-6649)
2351  * Replace index_interval with min/max_index_interval (CASSANDRA-6379)
2352  * Lift limitation that order by columns must be selected for IN queries (CASSANDRA-4911)
2353
2354
2355 2.0.5
2356  * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609)
2357  * Add ks.cf names to tombstone logging (CASSANDRA-6597)
2358  * Use LOCAL_QUORUM for LWT operations at LOCAL_SERIAL (CASSANDRA-6495)
2359  * Wait for gossip to settle before accepting client connections (CASSANDRA-4288)
2360  * Delete unfinished compaction incrementally (CASSANDRA-6086)
2361  * Allow specifying custom secondary index options in CQL3 (CASSANDRA-6480)
2362  * Improve replica pinning for cache efficiency in DES (CASSANDRA-6485)
2363  * Fix LOCAL_SERIAL from thrift (CASSANDRA-6584)
2364  * Don't special case received counts in CAS timeout exceptions (CASSANDRA-6595)
2365  * Add support for 2.1 global counter shards (CASSANDRA-6505)
2366  * Fix NPE when streaming connection is not yet established (CASSANDRA-6210)
2367  * Avoid rare duplicate read repair triggering (CASSANDRA-6606)
2368  * Fix paging discardFirst (CASSANDRA-6555)
2369  * Fix ArrayIndexOutOfBoundsException in 2ndary index query (CASSANDRA-6470)
2370  * Release sstables upon rebuilding 2i (CASSANDRA-6635)
2371  * Add AbstractCompactionStrategy.startup() method (CASSANDRA-6637)
2372  * SSTableScanner may skip rows during cleanup (CASSANDRA-6638)
2373  * sstables from stalled repair sessions can resurrect deleted data (CASSANDRA-6503)
2374  * Switch stress to use ITransportFactory (CASSANDRA-6641)
2375  * Fix IllegalArgumentException during prepare (CASSANDRA-6592)
2376  * Fix possible loss of 2ndary index entries during compaction (CASSANDRA-6517)
2377  * Fix direct Memory on architectures that do not support unaligned long access
2378    (CASSANDRA-6628)
2379  * Let scrub optionally skip broken counter partitions (CASSANDRA-5930)
2380 Merged from 1.2:
2381  * fsync compression metadata (CASSANDRA-6531)
2382  * Validate CF existence on execution for prepared statement (CASSANDRA-6535)
2383  * Add ability to throttle batchlog replay (CASSANDRA-6550)
2384  * Fix executing LOCAL_QUORUM with SimpleStrategy (CASSANDRA-6545)
2385  * Avoid StackOverflow when using large IN queries (CASSANDRA-6567)
2386  * Nodetool upgradesstables includes secondary indexes (CASSANDRA-6598)
2387  * Paginate batchlog replay (CASSANDRA-6569)
2388  * skip blocking on streaming during drain (CASSANDRA-6603)
2389  * Improve error message when schema doesn't match loaded sstable (CASSANDRA-6262)
2390  * Add properties to adjust FD initial value and max interval (CASSANDRA-4375)
2391  * Fix preparing with batch and delete from collection (CASSANDRA-6607)
2392  * Fix ABSC reverse iterator's remove() method (CASSANDRA-6629)
2393  * Handle host ID conflicts properly (CASSANDRA-6615)
2394  * Move handling of migration event source to solve bootstrap race. (CASSANDRA-6648)
2395  * Make sure compaction throughput value doesn't overflow with int math (CASSANDRA-6647)
2396
2397
2398 2.0.4
2399  * Allow removing snapshots of no-longer-existing CFs (CASSANDRA-6418)
2400  * add StorageService.stopDaemon() (CASSANDRA-4268)
2401  * add IRE for invalid CF supplied to get_count (CASSANDRA-5701)
2402  * add client encryption support to sstableloader (CASSANDRA-6378)
2403  * Fix accept() loop for SSL sockets post-shutdown (CASSANDRA-6468)
2404  * Fix size-tiered compaction in LCS L0 (CASSANDRA-6496)
2405  * Fix assertion failure in filterColdSSTables (CASSANDRA-6483)
2406  * Fix row tombstones in larger-than-memory compactions (CASSANDRA-6008)
2407  * Fix cleanup ClassCastException (CASSANDRA-6462)
2408  * Reduce gossip memory use by interning VersionedValue strings (CASSANDRA-6410)
2409  * Allow specifying datacenters to participate in a repair (CASSANDRA-6218)
2410  * Fix divide-by-zero in PCI (CASSANDRA-6403)
2411  * Fix setting last compacted key in the wrong level for LCS (CASSANDRA-6284)
2412  * Add millisecond precision formats to the timestamp parser (CASSANDRA-6395)
2413  * Expose a total memtable size metric for a CF (CASSANDRA-6391)
2414  * cqlsh: handle symlinks properly (CASSANDRA-6425)
2415  * Fix potential infinite loop when paging query with IN (CASSANDRA-6464)
2416  * Fix assertion error in AbstractQueryPager.discardFirst (CASSANDRA-6447)
2417  * Fix streaming older SSTable yields unnecessary tombstones (CASSANDRA-6527)
2418 Merged from 1.2:
2419  * Improved error message on bad properties in DDL queries (CASSANDRA-6453)
2420  * Randomize batchlog candidates selection (CASSANDRA-6481)
2421  * Fix thundering herd on endpoint cache invalidation (CASSANDRA-6345, 6485)
2422  * Improve batchlog write performance with vnodes (CASSANDRA-6488)
2423  * cqlsh: quote single quotes in strings inside collections (CASSANDRA-6172)
2424  * Improve gossip performance for typical messages (CASSANDRA-6409)
2425  * Throw IRE if a prepared statement has more markers than supported
2426    (CASSANDRA-5598)
2427  * Expose Thread metrics for the native protocol server (CASSANDRA-6234)
2428  * Change snapshot response message verb to INTERNAL to avoid dropping it
2429    (CASSANDRA-6415)
2430  * Warn when collection read has > 65K elements (CASSANDRA-5428)
2431  * Fix cache persistence when both row and key cache are enabled
2432    (CASSANDRA-6413)
2433  * (Hadoop) add describe_local_ring (CASSANDRA-6268)
2434  * Fix handling of concurrent directory creation failure (CASSANDRA-6459)
2435  * Allow executing CREATE statements multiple times (CASSANDRA-6471)
2436  * Don't send confusing info with timeouts (CASSANDRA-6491)
2437  * Don't resubmit counter mutation runnables internally (CASSANDRA-6427)
2438  * Don't drop local mutations without a hint (CASSANDRA-6510)
2439  * Don't allow null max_hint_window_in_ms (CASSANDRA-6419)
2440  * Validate SliceRange start and finish lengths (CASSANDRA-6521)
2441
2442
2443 2.0.3
2444  * Fix FD leak on slice read path (CASSANDRA-6275)
2445  * Cancel read meter task when closing SSTR (CASSANDRA-6358)
2446  * free off-heap IndexSummary during bulk (CASSANDRA-6359)
2447  * Recover from IOException in accept() thread (CASSANDRA-6349)
2448  * Improve Gossip tolerance of abnormally slow tasks (CASSANDRA-6338)
2449  * Fix trying to hint timed out counter writes (CASSANDRA-6322)
2450  * Allow restoring specific columnfamilies from archived CL (CASSANDRA-4809)
2451  * Avoid flushing compaction_history after each operation (CASSANDRA-6287)
2452  * Fix repair assertion error when tombstones expire (CASSANDRA-6277)
2453  * Skip loading corrupt key cache (CASSANDRA-6260)
2454  * Fixes for compacting larger-than-memory rows (CASSANDRA-6274)
2455  * Compact hottest sstables first and optionally omit coldest from
2456    compaction entirely (CASSANDRA-6109)
2457  * Fix modifying column_metadata from thrift (CASSANDRA-6182)
2458  * cqlsh: fix LIST USERS output (CASSANDRA-6242)
2459  * Add IRequestSink interface (CASSANDRA-6248)
2460  * Update memtable size while flushing (CASSANDRA-6249)
2461  * Provide hooks around CQL2/CQL3 statement execution (CASSANDRA-6252)
2462  * Require Permission.SELECT for CAS updates (CASSANDRA-6247)
2463  * New CQL-aware SSTableWriter (CASSANDRA-5894)
2464  * Reject CAS operation when the protocol v1 is used (CASSANDRA-6270)
2465  * Correctly throw error when frame too large (CASSANDRA-5981)
2466  * Fix serialization bug in PagedRange with 2ndary indexes (CASSANDRA-6299)
2467  * Fix CQL3 table validation in Thrift (CASSANDRA-6140)
2468  * Fix bug missing results with IN clauses (CASSANDRA-6327)
2469  * Fix paging with reversed slices (CASSANDRA-6343)
2470  * Set minTimestamp correctly to be able to drop expired sstables (CASSANDRA-6337)
2471  * Support NaN and Infinity as float literals (CASSANDRA-6003)
2472  * Remove RF from nodetool ring output (CASSANDRA-6289)
2473  * Fix attempting to flush empty rows (CASSANDRA-6374)
2474  * Fix potential out of bounds exception when paging (CASSANDRA-6333)
2475 Merged from 1.2:
2476  * Optimize FD phi calculation (CASSANDRA-6386)
2477  * Improve initial FD phi estimate when starting up (CASSANDRA-6385)
2478  * Don't list CQL3 table in CLI describe even if named explicitely
2479    (CASSANDRA-5750)
2480  * Invalidate row cache when dropping CF (CASSANDRA-6351)
2481  * add non-jamm path for cached statements (CASSANDRA-6293)
2482  * add windows bat files for shell commands (CASSANDRA-6145)
2483  * Require logging in for Thrift CQL2/3 statement preparation (CASSANDRA-6254)
2484  * restrict max_num_tokens to 1536 (CASSANDRA-6267)
2485  * Nodetool gets default JMX port from cassandra-env.sh (CASSANDRA-6273)
2486  * make calculatePendingRanges asynchronous (CASSANDRA-6244)
2487  * Remove blocking flushes in gossip thread (CASSANDRA-6297)
2488  * Fix potential socket leak in connectionpool creation (CASSANDRA-6308)
2489  * Allow LOCAL_ONE/LOCAL_QUORUM to work with SimpleStrategy (CASSANDRA-6238)
2490  * cqlsh: handle 'null' as session duration (CASSANDRA-6317)
2491  * Fix json2sstable handling of range tombstones (CASSANDRA-6316)
2492  * Fix missing one row in reverse query (CASSANDRA-6330)
2493  * Fix reading expired row value from row cache (CASSANDRA-6325)
2494  * Fix AssertionError when doing set element deletion (CASSANDRA-6341)
2495  * Make CL code for the native protocol match the one in C* 2.0
2496    (CASSANDRA-6347)
2497  * Disallow altering CQL3 table from thrift (CASSANDRA-6370)
2498  * Fix size computation of prepared statement (CASSANDRA-6369)
2499
2500
2501 2.0.2
2502  * Update FailureDetector to use nanontime (CASSANDRA-4925)
2503  * Fix FileCacheService regressions (CASSANDRA-6149)
2504  * Never return WriteTimeout for CL.ANY (CASSANDRA-6132)
2505  * Fix race conditions in bulk loader (CASSANDRA-6129)
2506  * Add configurable metrics reporting (CASSANDRA-4430)
2507  * drop queries exceeding a configurable number of tombstones (CASSANDRA-6117)
2508  * Track and persist sstable read activity (CASSANDRA-5515)
2509  * Fixes for speculative retry (CASSANDRA-5932, CASSANDRA-6194)
2510  * Improve memory usage of metadata min/max column names (CASSANDRA-6077)
2511  * Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081)
2512  * Fix insertion of collections with CAS (CASSANDRA-6069)
2513  * Correctly send metadata on SELECT COUNT (CASSANDRA-6080)
2514  * Track clients' remote addresses in ClientState (CASSANDRA-6070)
2515  * Create snapshot dir if it does not exist when migrating
2516    leveled manifest (CASSANDRA-6093)
2517  * make sequential nodetool repair the default (CASSANDRA-5950)
2518  * Add more hooks for compaction strategy implementations (CASSANDRA-6111)
2519  * Fix potential NPE on composite 2ndary indexes (CASSANDRA-6098)
2520  * Delete can potentially be skipped in batch (CASSANDRA-6115)
2521  * Allow alter keyspace on system_traces (CASSANDRA-6016)
2522  * Disallow empty column names in cql (CASSANDRA-6136)
2523  * Use Java7 file-handling APIs and fix file moving on Windows (CASSANDRA-5383)
2524  * Save compaction history to system keyspace (CASSANDRA-5078)
2525  * Fix NPE if StorageService.getOperationMode() is executed before full startup (CASSANDRA-6166)
2526  * CQL3: support pre-epoch longs for TimestampType (CASSANDRA-6212)
2527  * Add reloadtriggers command to nodetool (CASSANDRA-4949)
2528  * cqlsh: ignore empty 'value alias' in DESCRIBE (CASSANDRA-6139)
2529  * Fix sstable loader (CASSANDRA-6205)
2530  * Reject bootstrapping if the node already exists in gossip (CASSANDRA-5571)
2531  * Fix NPE while loading paxos state (CASSANDRA-6211)
2532  * cqlsh: add SHOW SESSION <tracing-session> command (CASSANDRA-6228)
2533 Merged from 1.2:
2534  * (Hadoop) Require CFRR batchSize to be at least 2 (CASSANDRA-6114)
2535  * Add a warning for small LCS sstable size (CASSANDRA-6191)
2536  * Add ability to list specific KS/CF combinations in nodetool cfstats (CASSANDRA-4191)
2537  * Mark CF clean if a mutation raced the drop and got it marked dirty (CASSANDRA-5946)
2538  * Add a LOCAL_ONE consistency level (CASSANDRA-6202)
2539  * Limit CQL prepared statement cache by size instead of count (CASSANDRA-6107)
2540  * Tracing should log write failure rather than raw exceptions (CASSANDRA-6133)
2541  * lock access to TM.endpointToHostIdMap (CASSANDRA-6103)
2542  * Allow estimated memtable size to exceed slab allocator size (CASSANDRA-6078)
2543  * Start MeteredFlusher earlier to prevent OOM during CL replay (CASSANDRA-6087)
2544  * Avoid sending Truncate command to fat clients (CASSANDRA-6088)
2545  * Allow where clause conditions to be in parenthesis (CASSANDRA-6037)
2546  * Do not open non-ssl storage port if encryption option is all (CASSANDRA-3916)
2547  * Move batchlog replay to its own executor (CASSANDRA-6079)
2548  * Add tombstone debug threshold and histogram (CASSANDRA-6042, 6057)
2549  * Enable tcp keepalive on incoming connections (CASSANDRA-4053)
2550  * Fix fat client schema pull NPE (CASSANDRA-6089)
2551  * Fix memtable flushing for indexed tables (CASSANDRA-6112)
2552  * Fix skipping columns with multiple slices (CASSANDRA-6119)
2553  * Expose connected thrift + native client counts (CASSANDRA-5084)
2554  * Optimize auth setup (CASSANDRA-6122)
2555  * Trace index selection (CASSANDRA-6001)
2556  * Update sstablesPerReadHistogram to use biased sampling (CASSANDRA-6164)
2557  * Log UnknownColumnfamilyException when closing socket (CASSANDRA-5725)
2558  * Properly error out on CREATE INDEX for counters table (CASSANDRA-6160)
2559  * Handle JMX notification failure for repair (CASSANDRA-6097)
2560  * (Hadoop) Fetch no more than 128 splits in parallel (CASSANDRA-6169)
2561  * stress: add username/password authentication support (CASSANDRA-6068)
2562  * Fix indexed queries with row cache enabled on parent table (CASSANDRA-5732)
2563  * Fix compaction race during columnfamily drop (CASSANDRA-5957)
2564  * Fix validation of empty column names for compact tables (CASSANDRA-6152)
2565  * Skip replaying mutations that pass CRC but fail to deserialize (CASSANDRA-6183)
2566  * Rework token replacement to use replace_address (CASSANDRA-5916)
2567  * Fix altering column types (CASSANDRA-6185)
2568  * cqlsh: fix CREATE/ALTER WITH completion (CASSANDRA-6196)
2569  * add windows bat files for shell commands (CASSANDRA-6145)
2570  * Fix potential stack overflow during range tombstones insertion (CASSANDRA-6181)
2571  * (Hadoop) Make LOCAL_ONE the default consistency level (CASSANDRA-6214)
2572
2573
2574 2.0.1
2575  * Fix bug that could allow reading deleted data temporarily (CASSANDRA-6025)
2576  * Improve memory use defaults (CASSANDRA-6059)
2577  * Make ThriftServer more easlly extensible (CASSANDRA-6058)
2578  * Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062)
2579  * add file_cache_size_in_mb setting (CASSANDRA-5661)
2580  * Improve error message when yaml contains invalid properties (CASSANDRA-5958)
2581  * Improve leveled compaction's ability to find non-overlapping L0 compactions
2582    to work on concurrently (CASSANDRA-5921)
2583  * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
2584  * Log Merkle tree stats (CASSANDRA-2698)
2585  * Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862)
2586  * Improve offheap memcpy performance (CASSANDRA-5884)
2587  * Use a range aware scanner for cleanup (CASSANDRA-2524)
2588  * Cleanup doesn't need to inspect sstables that contain only local data
2589    (CASSANDRA-5722)
2590  * Add ability for CQL3 to list partition keys (CASSANDRA-4536)
2591  * Improve native protocol serialization (CASSANDRA-5664)
2592  * Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
2593  * Require superuser status for adding triggers (CASSANDRA-5963)
2594  * Make standalone scrubber handle old and new style leveled manifest
2595    (CASSANDRA-6005)
2596  * Fix paxos bugs (CASSANDRA-6012, 6013, 6023)
2597  * Fix paged ranges with multiple replicas (CASSANDRA-6004)
2598  * Fix potential AssertionError during tracing (CASSANDRA-6041)
2599  * Fix NPE in sstablesplit (CASSANDRA-6027)
2600  * Migrate pre-2.0 key/value/column aliases to system.schema_columns
2601    (CASSANDRA-6009)
2602  * Paging filter empty rows too agressively (CASSANDRA-6040)
2603  * Support variadic parameters for IN clauses (CASSANDRA-4210)
2604  * cqlsh: return the result of CAS writes (CASSANDRA-5796)
2605  * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
2606  * Support named bind variables in CQL (CASSANDRA-6033)
2607 Merged from 1.2:
2608  * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
2609  * Avoid second-guessing out-of-space state (CASSANDRA-5605)
2610  * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)
2611  * (Hadoop) Fix CQLRW for thrift tables (CASSANDRA-6002)
2612  * Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
2613  * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
2614  * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)
2615  * Fix CqlRecordWriter with composite keys (CASSANDRA-5949)
2616  * Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881)
2617  * Allow disabling SlabAllocator (CASSANDRA-5935)
2618  * Make user-defined compaction JMX blocking (CASSANDRA-4952)
2619  * Fix streaming does not transfer wrapped range (CASSANDRA-5948)
2620  * Fix loading index summary containing empty key (CASSANDRA-5965)
2621  * Correctly handle limits in CompositesSearcher (CASSANDRA-5975)
2622  * Pig: handle CQL collections (CASSANDRA-5867)
2623  * Pass the updated cf to the PRSI index() method (CASSANDRA-5999)
2624  * Allow empty CQL3 batches (as no-op) (CASSANDRA-5994)
2625  * Support null in CQL3 functions (CASSANDRA-5910)
2626  * Replace the deprecated MapMaker with CacheLoader (CASSANDRA-6007)
2627  * Add SSTableDeletingNotification to DataTracker (CASSANDRA-6010)
2628  * Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011)
2629  * Move hints and exception count to o.a.c.metrics (CASSANDRA-6017)
2630  * Fix memory leak in snapshot repair (CASSANDRA-6047)
2631  * Fix sstable2sjon for CQL3 tables (CASSANDRA-5852)
2632
2633
2634 2.0.0
2635  * Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138)
2636  * Fix periodic memtable flushing behavior with clean memtables (CASSANDRA-5931)
2637  * Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928)
2638  * Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938)
2639  * Add stream session progress to JMX (CASSANDRA-4757)
2640  * Fix NPE during CAS operation (CASSANDRA-5925)
2641 Merged from 1.2:
2642  * Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900)
2643  * Don't announce schema version until we've loaded the changes locally
2644    (CASSANDRA-5904)
2645  * Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903)
2646  * Properly handle parsing huge map and set literals (CASSANDRA-5893)
2647
2648
2649 2.0.0-rc2
2650  * enable vnodes by default (CASSANDRA-5869)
2651  * fix CAS contention timeout (CASSANDRA-5830)
2652  * fix HsHa to respect max frame size (CASSANDRA-4573)
2653  * Fix (some) 2i on composite components omissions (CASSANDRA-5851)
2654  * cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880)
2655 Merged from 1.2:
2656  * Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
2657  * Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868)
2658  * cqlsh: add support for multiline comments (CASSANDRA-5798)
2659  * Handle CQL3 SELECT duplicate IN restrictions on clustering columns
2660    (CASSANDRA-5856)
2661
2662
2663 2.0.0-rc1
2664  * improve DecimalSerializer performance (CASSANDRA-5837)
2665  * fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690)
2666  * fix schema-related trigger issues (CASSANDRA-5774)
2667  * Better validation when accessing CQL3 table from thrift (CASSANDRA-5138)
2668  * Fix assertion error during repair (CASSANDRA-5801)
2669  * Fix range tombstone bug (CASSANDRA-5805)
2670  * DC-local CAS (CASSANDRA-5797)
2671  * Add a native_protocol_version column to the system.local table (CASSANRDA-5819)
2672  * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822)
2673  * Fix buffer underflow on socket close (CASSANDRA-5792)
2674 Merged from 1.2:
2675  * Fix reading DeletionTime from 1.1-format sstables (CASSANDRA-5814)
2676  * cqlsh: add collections support to COPY (CASSANDRA-5698)
2677  * retry important messages for any IOException (CASSANDRA-5804)
2678  * Allow empty IN relations in SELECT/UPDATE/DELETE statements (CASSANDRA-5626)
2679  * cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812)
2680  * fix bulk-loading compressed sstables (CASSANDRA-5820)
2681  * (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter
2682    (CASSANDRA-5824)
2683  * update default LCS sstable size to 160MB (CASSANDRA-5727)
2684  * Allow compacting 2Is via nodetool (CASSANDRA-5670)
2685  * Hex-encode non-String keys in OPP (CASSANDRA-5793)
2686  * nodetool history logging (CASSANDRA-5823)
2687  * (Hadoop) fix support for Thrift tables in CqlPagingRecordReader
2688    (CASSANDRA-5752)
2689  * add "all time blocked" to StatusLogger output (CASSANDRA-5825)
2690  * Future-proof inter-major-version schema migrations (CASSANDRA-5845)
2691  * (Hadoop) add CqlPagingRecordReader support for ReversedType in Thrift table
2692    (CASSANDRA-5718)
2693  * Add -no-snapshot option to scrub (CASSANDRA-5891)
2694  * Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903)
2695  * Properly handle parsing huge map and set literals (CASSANDRA-5893)
2696  * Fix LCS L0 compaction may overlap in L1 (CASSANDRA-5907)
2697  * New sstablesplit tool to split large sstables offline (CASSANDRA-4766)
2698  * Fix potential deadlock in native protocol server (CASSANDRA-5926)
2699  * Disallow incompatible type change in CQL3 (CASSANDRA-5882)
2700 Merged from 1.1:
2701  * Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
2702
2703
2704 2.0.0-beta2
2705  * Replace countPendingHints with Hints Created metric (CASSANDRA-5746)
2706  * Allow nodetool with no args, and with help to run without a server (CASSANDRA-5734)
2707  * Cleanup AbstractType/TypeSerializer classes (CASSANDRA-5744)
2708  * Remove unimplemented cli option schema-mwt (CASSANDRA-5754)
2709  * Support range tombstones in thrift (CASSANDRA-5435)
2710  * Normalize table-manipulating CQL3 statements' class names (CASSANDRA-5759)
2711  * cqlsh: add missing table options to DESCRIBE output (CASSANDRA-5749)
2712  * Fix assertion error during repair (CASSANDRA-5757)
2713  * Fix bulkloader (CASSANDRA-5542)
2714  * Add LZ4 compression to the native protocol (CASSANDRA-5765)
2715  * Fix bugs in the native protocol v2 (CASSANDRA-5770)
2716  * CAS on 'primary key only' table (CASSANDRA-5715)
2717  * Support streaming SSTables of old versions (CASSANDRA-5772)
2718  * Always respect protocol version in native protocol (CASSANDRA-5778)
2719  * Fix ConcurrentModificationException during streaming (CASSANDRA-5782)
2720  * Update deletion timestamp in Commit#updatesWithPaxosTime (CASSANDRA-5787)
2721  * Thrift cas() method crashes if input columns are not sorted (CASSANDRA-5786)
2722  * Order columns names correctly when querying for CAS (CASSANDRA-5788)
2723  * Fix streaming retry (CASSANDRA-5775)
2724 Merged from 1.2:
2725  * if no seeds can be a reached a node won't start in a ring by itself (CASSANDRA-5768)
2726  * add cassandra.unsafesystem property (CASSANDRA-5704)
2727  * (Hadoop) quote identifiers in CqlPagingRecordReader (CASSANDRA-5763)
2728  * Add replace_node functionality for vnodes (CASSANDRA-5337)
2729  * Add timeout events to query traces (CASSANDRA-5520)
2730  * Fix serialization of the LEFT gossip value (CASSANDRA-5696)
2731  * Pig: support for cql3 tables (CASSANDRA-5234)
2732  * Fix skipping range tombstones with reverse queries (CASSANDRA-5712)
2733  * Expire entries out of ThriftSessionManager (CASSANDRA-5719)
2734  * Don't keep ancestor information in memory (CASSANDRA-5342)
2735  * Expose native protocol server status in nodetool info (CASSANDRA-5735)
2736  * Fix pathetic performance of range tombstones (CASSANDRA-5677)
2737  * Fix querying with an empty (impossible) range (CASSANDRA-5573)
2738  * cqlsh: handle CUSTOM 2i in DESCRIBE output (CASSANDRA-5760)
2739  * Fix minor bug in Range.intersects(Bound) (CASSANDRA-5771)
2740  * cqlsh: handle disabled compression in DESCRIBE output (CASSANDRA-5766)
2741  * Ensure all UP events are notified on the native protocol (CASSANDRA-5769)
2742  * Fix formatting of sstable2json with multiple -k arguments (CASSANDRA-5781)
2743  * Don't rely on row marker for queries in general to hide lost markers
2744    after TTL expires (CASSANDRA-5762)
2745  * Sort nodetool help output (CASSANDRA-5776)
2746  * Fix column expiring during 2 phases compaction (CASSANDRA-5799)
2747  * now() is being rejected in INSERTs when inside collections (CASSANDRA-5795)
2748
2749
2750 2.0.0-beta1
2751  * Add support for indexing clustered columns (CASSANDRA-5125)
2752  * Removed on-heap row cache (CASSANDRA-5348)
2753  * use nanotime consistently for node-local timeouts (CASSANDRA-5581)
2754  * Avoid unnecessary second pass on name-based queries (CASSANDRA-5577)
2755  * Experimental triggers (CASSANDRA-1311)
2756  * JEMalloc support for off-heap allocation (CASSANDRA-3997)
2757  * Single-pass compaction (CASSANDRA-4180)
2758  * Removed token range bisection (CASSANDRA-5518)
2759  * Removed compatibility with pre-1.2.5 sstables and network messages
2760    (CASSANDRA-5511)
2761  * removed PBSPredictor (CASSANDRA-5455)
2762  * CAS support (CASSANDRA-5062, 5441, 5442, 5443, 5619, 5667)
2763  * Leveled compaction performs size-tiered compactions in L0
2764    (CASSANDRA-5371, 5439)
2765  * Add yaml network topology snitch for mixed ec2/other envs (CASSANDRA-5339)
2766  * Log when a node is down longer than the hint window (CASSANDRA-4554)
2767  * Optimize tombstone creation for ExpiringColumns (CASSANDRA-4917)
2768  * Improve LeveledScanner work estimation (CASSANDRA-5250, 5407)
2769  * Replace compaction lock with runWithCompactionsDisabled (CASSANDRA-3430)
2770  * Change Message IDs to ints (CASSANDRA-5307)
2771  * Move sstable level information into the Stats component, removing the
2772    need for a separate Manifest file (CASSANDRA-4872)
2773  * avoid serializing to byte[] on commitlog append (CASSANDRA-5199)
2774  * make index_interval configurable per columnfamily (CASSANDRA-3961, CASSANDRA-5650)
2775  * add default_time_to_live (CASSANDRA-3974)
2776  * add memtable_flush_period_in_ms (CASSANDRA-4237)
2777  * replace supercolumns internally by composites (CASSANDRA-3237, 5123)
2778  * upgrade thrift to 0.9.0 (CASSANDRA-3719)
2779  * drop unnecessary keyspace parameter from user-defined compaction API
2780    (CASSANDRA-5139)
2781  * more robust solution to incomplete compactions + counters (CASSANDRA-5151)
2782  * Change order of directory searching for c*.in.sh (CASSANDRA-3983)
2783  * Add tool to reset SSTable compaction level for LCS (CASSANDRA-5271)
2784  * Allow custom configuration loader (CASSANDRA-5045)
2785  * Remove memory emergency pressure valve logic (CASSANDRA-3534)
2786  * Reduce request latency with eager retry (CASSANDRA-4705)
2787  * cqlsh: Remove ASSUME command (CASSANDRA-5331)
2788  * Rebuild BF when loading sstables if bloom_filter_fp_chance
2789    has changed since compaction (CASSANDRA-5015)
2790  * remove row-level bloom filters (CASSANDRA-4885)
2791  * Change Kernel Page Cache skipping into row preheating (disabled by default)
2792    (CASSANDRA-4937)
2793  * Improve repair by deciding on a gcBefore before sending
2794    out TreeRequests (CASSANDRA-4932)
2795  * Add an official way to disable compactions (CASSANDRA-5074)
2796  * Reenable ALTER TABLE DROP with new semantics (CASSANDRA-3919)
2797  * Add binary protocol versioning (CASSANDRA-5436)
2798  * Swap THshaServer for TThreadedSelectorServer (CASSANDRA-5530)
2799  * Add alias support to SELECT statement (CASSANDRA-5075)
2800  * Don't create empty RowMutations in CommitLogReplayer (CASSANDRA-5541)
2801  * Use range tombstones when dropping cfs/columns from schema (CASSANDRA-5579)
2802  * cqlsh: drop CQL2/CQL3-beta support (CASSANDRA-5585)
2803  * Track max/min column names in sstables to be able to optimize slice
2804    queries (CASSANDRA-5514, CASSANDRA-5595, CASSANDRA-5600)
2805  * Binary protocol: allow batching already prepared statements (CASSANDRA-4693)
2806  * Allow preparing timestamp, ttl and limit in CQL3 queries (CASSANDRA-4450)
2807  * Support native link w/o JNA in Java7 (CASSANDRA-3734)
2808  * Use SASL authentication in binary protocol v2 (CASSANDRA-5545)
2809  * Replace Thrift HsHa with LMAX Disruptor based implementation (CASSANDRA-5582)
2810  * cqlsh: Add row count to SELECT output (CASSANDRA-5636)
2811  * Include a timestamp with all read commands to determine column expiration
2812    (CASSANDRA-5149)
2813  * Streaming 2.0 (CASSANDRA-5286, 5699)
2814  * Conditional create/drop ks/table/index statements in CQL3 (CASSANDRA-2737)
2815  * more pre-table creation property validation (CASSANDRA-5693)
2816  * Redesign repair messages (CASSANDRA-5426)
2817  * Fix ALTER RENAME post-5125 (CASSANDRA-5702)
2818  * Disallow renaming a 2ndary indexed column (CASSANDRA-5705)
2819  * Rename Table to Keyspace (CASSANDRA-5613)
2820  * Ensure changing column_index_size_in_kb on different nodes don't corrupt the
2821    sstable (CASSANDRA-5454)
2822  * Move resultset type information into prepare, not execute (CASSANDRA-5649)
2823  * Auto paging in binary protocol (CASSANDRA-4415, 5714)
2824  * Don't tie client side use of AbstractType to JDBC (CASSANDRA-4495)
2825  * Adds new TimestampType to replace DateType (CASSANDRA-5723, CASSANDRA-5729)
2826 Merged from 1.2:
2827  * make starting native protocol server idempotent (CASSANDRA-5728)
2828  * Fix loading key cache when a saved entry is no longer valid (CASSANDRA-5706)
2829  * Fix serialization of the LEFT gossip value (CASSANDRA-5696)
2830  * cqlsh: Don't show 'null' in place of empty values (CASSANDRA-5675)
2831  * Race condition in detecting version on a mixed 1.1/1.2 cluster
2832    (CASSANDRA-5692)
2833  * Fix skipping range tombstones with reverse queries (CASSANDRA-5712)
2834  * Expire entries out of ThriftSessionManager (CASSANRDA-5719)
2835  * Don't keep ancestor information in memory (CASSANDRA-5342)
2836  * cqlsh: fix handling of semicolons inside BATCH queries (CASSANDRA-5697)
2837
2838
2839 1.2.6
2840  * Fix tracing when operation completes before all responses arrive
2841    (CASSANDRA-5668)
2842  * Fix cross-DC mutation forwarding (CASSANDRA-5632)
2843  * Reduce SSTableLoader memory usage (CASSANDRA-5555)
2844  * Scale hinted_handoff_throttle_in_kb to cluster size (CASSANDRA-5272)
2845  * (Hadoop) Add CQL3 input/output formats (CASSANDRA-4421, 5622)
2846  * (Hadoop) Fix InputKeyRange in CFIF (CASSANDRA-5536)
2847  * Fix dealing with ridiculously large max sstable sizes in LCS (CASSANDRA-5589)
2848  * Ignore pre-truncate hints (CASSANDRA-4655)
2849  * Move System.exit on OOM into a separate thread (CASSANDRA-5273)
2850  * Write row markers when serializing schema (CASSANDRA-5572)
2851  * Check only SSTables for the requested range when streaming (CASSANDRA-5569)
2852  * Improve batchlog replay behavior and hint ttl handling (CASSANDRA-5314)
2853  * Exclude localTimestamp from validation for tombstones (CASSANDRA-5398)
2854  * cqlsh: add custom prompt support (CASSANDRA-5539)
2855  * Reuse prepared statements in hot auth queries (CASSANDRA-5594)
2856  * cqlsh: add vertical output option (see EXPAND) (CASSANDRA-5597)
2857  * Add a rate limit option to stress (CASSANDRA-5004)
2858  * have BulkLoader ignore snapshots directories (CASSANDRA-5587)
2859  * fix SnitchProperties logging context (CASSANDRA-5602)
2860  * Expose whether jna is enabled and memory is locked via JMX (CASSANDRA-5508)
2861  * cqlsh: fix COPY FROM with ReversedType (CASSANDRA-5610)
2862  * Allow creating CUSTOM indexes on collections (CASSANDRA-5615)
2863  * Evaluate now() function at execution time (CASSANDRA-5616)
2864  * Expose detailed read repair metrics (CASSANDRA-5618)
2865  * Correct blob literal + ReversedType parsing (CASSANDRA-5629)
2866  * Allow GPFS to prefer the internal IP like EC2MRS (CASSANDRA-5630)
2867  * fix help text for -tspw cassandra-cli (CASSANDRA-5643)
2868  * don't throw away initial causes exceptions for internode encryption issues
2869    (CASSANDRA-5644)
2870  * Fix message spelling errors for cql select statements (CASSANDRA-5647)
2871  * Suppress custom exceptions thru jmx (CASSANDRA-5652)
2872  * Update CREATE CUSTOM INDEX syntax (CASSANDRA-5639)
2873  * Fix PermissionDetails.equals() method (CASSANDRA-5655)
2874  * Never allow partition key ranges in CQL3 without token() (CASSANDRA-5666)
2875  * Gossiper incorrectly drops AppState for an upgrading node (CASSANDRA-5660)
2876  * Connection thrashing during multi-region ec2 during upgrade, due to
2877    messaging version (CASSANDRA-5669)
2878  * Avoid over reconnecting in EC2MRS (CASSANDRA-5678)
2879  * Fix ReadResponseSerializer.serializedSize() for digest reads (CASSANDRA-5476)
2880  * allow sstable2json on 2i CFs (CASSANDRA-5694)
2881 Merged from 1.1:
2882  * Remove buggy thrift max message length option (CASSANDRA-5529)
2883  * Fix NPE in Pig's widerow mode (CASSANDRA-5488)
2884  * Add split size parameter to Pig and disable split combination (CASSANDRA-5544)
2885
2886
2887 1.2.5
2888  * make BytesToken.toString only return hex bytes (CASSANDRA-5566)
2889  * Ensure that submitBackground enqueues at least one task (CASSANDRA-5554)
2890  * fix 2i updates with identical values and timestamps (CASSANDRA-5540)
2891  * fix compaction throttling bursty-ness (CASSANDRA-4316)
2892  * reduce memory consumption of IndexSummary (CASSANDRA-5506)
2893  * remove per-row column name bloom filters (CASSANDRA-5492)
2894  * Include fatal errors in trace events (CASSANDRA-5447)
2895  * Ensure that PerRowSecondaryIndex is notified of row-level deletes
2896    (CASSANDRA-5445)
2897  * Allow empty blob literals in CQL3 (CASSANDRA-5452)
2898  * Fix streaming RangeTombstones at column index boundary (CASSANDRA-5418)
2899  * Fix preparing statements when current keyspace is not set (CASSANDRA-5468)
2900  * Fix SemanticVersion.isSupportedBy minor/patch handling (CASSANDRA-5496)
2901  * Don't provide oldCfId for post-1.1 system cfs (CASSANDRA-5490)
2902  * Fix primary range ignores replication strategy (CASSANDRA-5424)
2903  * Fix shutdown of binary protocol server (CASSANDRA-5507)
2904  * Fix repair -snapshot not working (CASSANDRA-5512)
2905  * Set isRunning flag later in binary protocol server (CASSANDRA-5467)
2906  * Fix use of CQL3 functions with descending clustering order (CASSANDRA-5472)
2907  * Disallow renaming columns one at a time for thrift table in CQL3
2908    (CASSANDRA-5531)
2909  * cqlsh: add CLUSTERING ORDER BY support to DESCRIBE (CASSANDRA-5528)
2910  * Add custom secondary index support to CQL3 (CASSANDRA-5484)
2911  * Fix repair hanging silently on unexpected error (CASSANDRA-5229)
2912  * Fix Ec2Snitch regression introduced by CASSANDRA-5171 (CASSANDRA-5432)
2913  * Add nodetool enablebackup/disablebackup (CASSANDRA-5556)
2914  * cqlsh: fix DESCRIBE after case insensitive USE (CASSANDRA-5567)
2915 Merged from 1.1
2916  * Add retry mechanism to OTC for non-droppable_verbs (CASSANDRA-5393)
2917  * Use allocator information to improve memtable memory usage estimate
2918    (CASSANDRA-5497)
2919  * Fix trying to load deleted row into row cache on startup (CASSANDRA-4463)
2920  * fsync leveled manifest to avoid corruption (CASSANDRA-5535)
2921  * Fix Bound intersection computation (CASSANDRA-5551)
2922  * sstablescrub now respects max memory size in cassandra.in.sh (CASSANDRA-5562)
2923
2924
2925 1.2.4
2926  * Ensure that PerRowSecondaryIndex updates see the most recent values
2927    (CASSANDRA-5397)
2928  * avoid duplicate index entries ind PrecompactedRow and
2929    ParallelCompactionIterable (CASSANDRA-5395)
2930  * remove the index entry on oldColumn when new column is a tombstone
2931    (CASSANDRA-5395)
2932  * Change default stream throughput from 400 to 200 mbps (CASSANDRA-5036)
2933  * Gossiper logs DOWN for symmetry with UP (CASSANDRA-5187)
2934  * Fix mixing prepared statements between keyspaces (CASSANDRA-5352)
2935  * Fix consistency level during bootstrap - strike 3 (CASSANDRA-5354)
2936  * Fix transposed arguments in AlreadyExistsException (CASSANDRA-5362)
2937  * Improve asynchronous hint delivery (CASSANDRA-5179)
2938  * Fix Guava dependency version (12.0 -> 13.0.1) for Maven (CASSANDRA-5364)
2939  * Validate that provided CQL3 collection value are < 64K (CASSANDRA-5355)
2940  * Make upgradeSSTable skip current version sstables by default (CASSANDRA-5366)
2941  * Optimize min/max timestamp collection (CASSANDRA-5373)
2942  * Invalid streamId in cql binary protocol when using invalid CL
2943    (CASSANDRA-5164)
2944  * Fix validation for IN where clauses with collections (CASSANDRA-5376)
2945  * Copy resultSet on count query to avoid ConcurrentModificationException
2946    (CASSANDRA-5382)
2947  * Correctly typecheck in CQL3 even with ReversedType (CASSANDRA-5386)
2948  * Fix streaming compressed files when using encryption (CASSANDRA-5391)
2949  * cassandra-all 1.2.0 pom missing netty dependency (CASSANDRA-5392)
2950  * Fix writetime/ttl functions on null values (CASSANDRA-5341)
2951  * Fix NPE during cql3 select with token() (CASSANDRA-5404)
2952  * IndexHelper.skipBloomFilters won't skip non-SHA filters (CASSANDRA-5385)
2953  * cqlsh: Print maps ordered by key, sort sets (CASSANDRA-5413)
2954  * Add null syntax support in CQL3 for inserts (CASSANDRA-3783)
2955  * Allow unauthenticated set_keyspace() calls (CASSANDRA-5423)
2956  * Fix potential incremental backups race (CASSANDRA-5410)
2957  * Fix prepared BATCH statements with batch-level timestamps (CASSANDRA-5415)
2958  * Allow overriding superuser setup delay (CASSANDRA-5430)
2959  * cassandra-shuffle with JMX usernames and passwords (CASSANDRA-5431)
2960 Merged from 1.1:
2961  * cli: Quote ks and cf names in schema output when needed (CASSANDRA-5052)
2962  * Fix bad default for min/max timestamp in SSTableMetadata (CASSANDRA-5372)
2963  * Fix cf name extraction from manifest in Directories.migrateFile()
2964    (CASSANDRA-5242)
2965  * Support pluggable internode authentication (CASSANDRA-5401)
2966
2967
2968 1.2.3
2969  * add check for sstable overlap within a level on startup (CASSANDRA-5327)
2970  * replace ipv6 colons in jmx object names (CASSANDRA-5298, 5328)
2971  * Avoid allocating SSTableBoundedScanner during repair when the range does
2972    not intersect the sstable (CASSANDRA-5249)
2973  * Don't lowercase property map keys (this breaks NTS) (CASSANDRA-5292)
2974  * Fix composite comparator with super columns (CASSANDRA-5287)
2975  * Fix insufficient validation of UPDATE queries against counter cfs
2976    (CASSANDRA-5300)
2977  * Fix PropertyFileSnitch default DC/Rack behavior (CASSANDRA-5285)
2978  * Handle null values when executing prepared statement (CASSANDRA-5081)
2979  * Add netty to pom dependencies (CASSANDRA-5181)
2980  * Include type arguments in Thrift CQLPreparedResult (CASSANDRA-5311)
2981  * Fix compaction not removing columns when bf_fp_ratio is 1 (CASSANDRA-5182)
2982  * cli: Warn about missing CQL3 tables in schema descriptions (CASSANDRA-5309)
2983  * Re-enable unknown option in replication/compaction strategies option for
2984    backward compatibility (CASSANDRA-4795)
2985  * Add binary protocol support to stress (CASSANDRA-4993)
2986  * cqlsh: Fix COPY FROM value quoting and null handling (CASSANDRA-5305)
2987  * Fix repair -pr for vnodes (CASSANDRA-5329)
2988  * Relax CL for auth queries for non-default users (CASSANDRA-5310)
2989  * Fix AssertionError during repair (CASSANDRA-5245)
2990  * Don't announce migrations to pre-1.2 nodes (CASSANDRA-5334)
2991 Merged from 1.1:
2992  * Update offline scrub for 1.0 -> 1.1 directory structure (CASSANDRA-5195)
2993  * add tmp flag to Descriptor hashcode (CASSANDRA-4021)
2994  * fix logging of "Found table data in data directories" when only system tables
2995    are present (CASSANDRA-5289)
2996  * cli: Add JMX authentication support (CASSANDRA-5080)
2997  * nodetool: ability to repair specific range (CASSANDRA-5280)
2998  * Fix possible assertion triggered in SliceFromReadCommand (CASSANDRA-5284)
2999  * cqlsh: Add inet type support on Windows (ipv4-only) (CASSANDRA-4801)
3000  * Fix race when initializing ColumnFamilyStore (CASSANDRA-5350)
3001  * Add UseTLAB JVM flag (CASSANDRA-5361)
3002
3003
3004 1.2.2
3005  * fix potential for multiple concurrent compactions of the same sstables
3006    (CASSANDRA-5256)
3007  * avoid no-op caching of byte[] on commitlog append (CASSANDRA-5199)
3008  * fix symlinks under data dir not working (CASSANDRA-5185)
3009  * fix bug in compact storage metadata handling (CASSANDRA-5189)
3010  * Validate login for USE queries (CASSANDRA-5207)
3011  * cli: remove default username and password (CASSANDRA-5208)
3012  * configure populate_io_cache_on_flush per-CF (CASSANDRA-4694)
3013  * allow configuration of internode socket buffer (CASSANDRA-3378)
3014  * Make sstable directory picking blacklist-aware again (CASSANDRA-5193)
3015  * Correctly expire gossip states for edge cases (CASSANDRA-5216)
3016  * Improve handling of directory creation failures (CASSANDRA-5196)
3017  * Expose secondary indicies to the rest of nodetool (CASSANDRA-4464)
3018  * Binary protocol: avoid sending notification for 0.0.0.0 (CASSANDRA-5227)
3019  * add UseCondCardMark XX jvm settings on jdk 1.7 (CASSANDRA-4366)
3020  * CQL3 refactor to allow conversion function (CASSANDRA-5226)
3021  * Fix drop of sstables in some circumstance (CASSANDRA-5232)
3022  * Implement caching of authorization results (CASSANDRA-4295)
3023  * Add support for LZ4 compression (CASSANDRA-5038)
3024  * Fix missing columns in wide rows queries (CASSANDRA-5225)
3025  * Simplify auth setup and make system_auth ks alterable (CASSANDRA-5112)
3026  * Stop compactions from hanging during bootstrap (CASSANDRA-5244)
3027  * fix compressed streaming sending extra chunk (CASSANDRA-5105)
3028  * Add CQL3-based implementations of IAuthenticator and IAuthorizer
3029    (CASSANDRA-4898)
3030  * Fix timestamp-based tomstone removal logic (CASSANDRA-5248)
3031  * cli: Add JMX authentication support (CASSANDRA-5080)
3032  * Fix forceFlush behavior (CASSANDRA-5241)
3033  * cqlsh: Add username autocompletion (CASSANDRA-5231)
3034  * Fix CQL3 composite partition key error (CASSANDRA-5240)
3035  * Allow IN clause on last clustering key (CASSANDRA-5230)
3036 Merged from 1.1:
3037  * fix start key/end token validation for wide row iteration (CASSANDRA-5168)
3038  * add ConfigHelper support for Thrift frame and max message sizes (CASSANDRA-5188)
3039  * fix nodetool repair not fail on node down (CASSANDRA-5203)
3040  * always collect tombstone hints (CASSANDRA-5068)
3041  * Fix error when sourcing file in cqlsh (CASSANDRA-5235)
3042
3043
3044 1.2.1
3045  * stream undelivered hints on decommission (CASSANDRA-5128)
3046  * GossipingPropertyFileSnitch loads saved dc/rack info if needed (CASSANDRA-5133)
3047  * drain should flush system CFs too (CASSANDRA-4446)
3048  * add inter_dc_tcp_nodelay setting (CASSANDRA-5148)
3049  * re-allow wrapping ranges for start_token/end_token range pairitspwng (CASSANDRA-5106)
3050  * fix validation compaction of empty rows (CASSANDRA-5136)
3051  * nodetool methods to enable/disable hint storage/delivery (CASSANDRA-4750)
3052  * disallow bloom filter false positive chance of 0 (CASSANDRA-5013)
3053  * add threadpool size adjustment methods to JMXEnabledThreadPoolExecutor and
3054    CompactionManagerMBean (CASSANDRA-5044)
3055  * fix hinting for dropped local writes (CASSANDRA-4753)
3056  * off-heap cache doesn't need mutable column container (CASSANDRA-5057)
3057  * apply disk_failure_policy to bad disks on initial directory creation
3058    (CASSANDRA-4847)
3059  * Optimize name-based queries to use ArrayBackedSortedColumns (CASSANDRA-5043)
3060  * Fall back to old manifest if most recent is unparseable (CASSANDRA-5041)
3061  * pool [Compressed]RandomAccessReader objects on the partitioned read path
3062    (CASSANDRA-4942)
3063  * Add debug logging to list filenames processed by Directories.migrateFile
3064    method (CASSANDRA-4939)
3065  * Expose black-listed directories via JMX (CASSANDRA-4848)
3066  * Log compaction merge counts (CASSANDRA-4894)
3067  * Minimize byte array allocation by AbstractData{Input,Output} (CASSANDRA-5090)
3068  * Add SSL support for the binary protocol (CASSANDRA-5031)
3069  * Allow non-schema system ks modification for shuffle to work (CASSANDRA-5097)
3070  * cqlsh: Add default limit to SELECT statements (CASSANDRA-4972)
3071  * cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101)
3072  * Correctly gossip with nodes >= 1.1.7 (CASSANDRA-5102)
3073  * Ensure CL guarantees on digest mismatch (CASSANDRA-5113)
3074  * Validate correctly selects on composite partition key (CASSANDRA-5122)
3075  * Fix exception when adding collection (CASSANDRA-5117)
3076  * Handle states for non-vnode clusters correctly (CASSANDRA-5127)
3077  * Refuse unrecognized replication and compaction strategy options (CASSANDRA-4795)
3078  * Pick the correct value validator in sstable2json for cql3 tables (CASSANDRA-5134)
3079  * Validate login for describe_keyspace, describe_keyspaces and set_keyspace
3080    (CASSANDRA-5144)
3081  * Fix inserting empty maps (CASSANDRA-5141)
3082  * Don't remove tokens from System table for node we know (CASSANDRA-5121)
3083  * fix streaming progress report for compresed files (CASSANDRA-5130)
3084  * Coverage analysis for low-CL queries (CASSANDRA-4858)
3085  * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
3086  * Adds E notation for floating point numbers (CASSANDRA-4927)
3087  * Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was
3088    intended (CASSANDRA-5172)
3089  * cli: Quote ks and cf names in schema output when needed (CASSANDRA-5052)
3090  * Fix cf name extraction from manifest in Directories.migrateFile() (CASSANDRA-5242)
3091  * Replace mistaken usage of commons-logging with slf4j (CASSANDRA-5464)
3092  * Ensure Jackson dependency matches lib (CASSANDRA-5126)
3093  * Expose droppable tombstone ratio stats over JMX (CASSANDRA-5159)
3094 Merged from 1.1:
3095  * Simplify CompressedRandomAccessReader to work around JDK FD bug (CASSANDRA-5088)
3096  * Improve handling a changing target throttle rate mid-compaction (CASSANDRA-5087)
3097  * Pig: correctly decode row keys in widerow mode (CASSANDRA-5098)
3098  * nodetool repair command now prints progress (CASSANDRA-4767)
3099  * fix user defined compaction to run against 1.1 data directory (CASSANDRA-5118)
3100  * Fix CQL3 BATCH authorization caching (CASSANDRA-5145)
3101  * fix get_count returns incorrect value with TTL (CASSANDRA-5099)
3102  * better handling for mid-compaction failure (CASSANDRA-5137)
3103  * convert default marshallers list to map for better readability (CASSANDRA-5109)
3104  * fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170)
3105  * fix sstable maxtimestamp for row deletes and pre-1.1.1 sstables (CASSANDRA-5153)
3106  * Fix thread growth on node removal (CASSANDRA-5175)
3107  * Make Ec2Region's datacenter name configurable (CASSANDRA-5155)
3108
3109
3110 1.2.0
3111  * Disallow counters in collections (CASSANDRA-5082)
3112  * cqlsh: add unit tests (CASSANDRA-3920)
3113  * fix default bloom_filter_fp_chance for LeveledCompactionStrategy (CASSANDRA-5093)
3114 Merged from 1.1:
3115  * add validation for get_range_slices with start_key and end_token (CASSANDRA-5089)
3116
3117
3118 1.2.0-rc2
3119  * fix nodetool ownership display with vnodes (CASSANDRA-5065)
3120  * cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
3121  * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
3122  * Fix SimpleAuthorizer example (CASSANDRA-5072)
3123  * cqlsh: force CL.ONE for tracing and system.schema* queries (CASSANDRA-5070)
3124  * Includes cassandra-shuffle in the debian package (CASSANDRA-5058)
3125 Merged from 1.1:
3126  * fix multithreaded compaction deadlock (CASSANDRA-4492)
3127  * fix temporarily missing schema after upgrade from pre-1.1.5 (CASSANDRA-5061)
3128  * Fix ALTER TABLE overriding compression options with defaults
3129    (CASSANDRA-4996, 5066)
3130  * fix specifying and altering crc_check_chance (CASSANDRA-5053)
3131  * fix Murmur3Partitioner ownership% calculation (CASSANDRA-5076)
3132  * Don't expire columns sooner than they should in 2ndary indexes (CASSANDRA-5079)
3133
3134
3135 1.2-rc1
3136  * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
3137  * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
3138  * Fix preparing insert queries (CASSANDRA-5016)
3139  * Fix preparing queries with counter increment (CASSANDRA-5022)
3140  * Fix preparing updates with collections (CASSANDRA-5017)
3141  * Don't generate UUID based on other node address (CASSANDRA-5002)
3142  * Fix message when trying to alter a clustering key type (CASSANDRA-5012)
3143  * Update IAuthenticator to match the new IAuthorizer (CASSANDRA-5003)
3144  * Fix inserting only a key in CQL3 (CASSANDRA-5040)
3145  * Fix CQL3 token() function when used with strings (CASSANDRA-5050)
3146 Merged from 1.1:
3147  * reduce log spam from invalid counter shards (CASSANDRA-5026)
3148  * Improve schema propagation performance (CASSANDRA-5025)
3149  * Fix for IndexHelper.IndexFor throws OOB Exception (CASSANDRA-5030)
3150  * cqlsh: make it possible to describe thrift CFs (CASSANDRA-4827)
3151  * cqlsh: fix timestamp formatting on some platforms (CASSANDRA-5046)
3152
3153
3154 1.2-beta3
3155  * make consistency level configurable in cqlsh (CASSANDRA-4829)
3156  * fix cqlsh rendering of blob fields (CASSANDRA-4970)
3157  * fix cqlsh DESCRIBE command (CASSANDRA-4913)
3158  * save truncation position in system table (CASSANDRA-4906)
3159  * Move CompressionMetadata off-heap (CASSANDRA-4937)
3160  * allow CLI to GET cql3 columnfamily data (CASSANDRA-4924)
3161  * Fix rare race condition in getExpireTimeForEndpoint (CASSANDRA-4402)
3162  * acquire references to overlapping sstables during compaction so bloom filter
3163    doesn't get free'd prematurely (CASSANDRA-4934)
3164  * Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
3165  * Separate tracing from Log4J (CASSANDRA-4861)
3166  * Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
3167  * Better printing of AbstractBounds for tracing (CASSANDRA-4931)
3168  * Optimize mostRecentTombstone check in CC.collectAllData (CASSANDRA-4883)
3169  * Change stream session ID to UUID to avoid collision from same node (CASSANDRA-4813)
3170  * Use Stats.db when bulk loading if present (CASSANDRA-4957)
3171  * Skip repair on system_trace and keyspaces with RF=1 (CASSANDRA-4956)
3172  * (cql3) Remove arbitrary SELECT limit (CASSANDRA-4918)
3173  * Correctly handle prepared operation on collections (CASSANDRA-4945)
3174  * Fix CQL3 LIMIT (CASSANDRA-4877)
3175  * Fix Stress for CQL3 (CASSANDRA-4979)
3176  * Remove cassandra specific exceptions from JMX interface (CASSANDRA-4893)
3177  * (CQL3) Force using ALLOW FILTERING on potentially inefficient queries (CASSANDRA-4915)
3178  * (cql3) Fix adding column when the table has collections (CASSANDRA-4982)
3179  * (cql3) Fix allowing collections with compact storage (CASSANDRA-4990)
3180  * (cql3) Refuse ttl/writetime function on collections (CASSANDRA-4992)
3181  * Replace IAuthority with new IAuthorizer (CASSANDRA-4874)
3182  * clqsh: fix KEY pseudocolumn escaping when describing Thrift tables
3183    in CQL3 mode (CASSANDRA-4955)
3184  * add basic authentication support for Pig CassandraStorage (CASSANDRA-3042)
3185  * fix CQL2 ALTER TABLE compaction_strategy_class altering (CASSANDRA-4965)
3186 Merged from 1.1:
3187  * Fall back to old describe_splits if d_s_ex is not available (CASSANDRA-4803)
3188  * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
3189  * Fix cqlsh timestamp formatting of timezone info (CASSANDRA-4746)
3190  * Fix assertion failure with leveled compaction (CASSANDRA-4799)
3191  * Check for null end_token in get_range_slice (CASSANDRA-4804)
3192  * Remove all remnants of removed nodes (CASSANDRA-4840)
3193  * Add aut-reloading of the log4j file in debian package (CASSANDRA-4855)
3194  * Fix estimated row cache entry size (CASSANDRA-4860)
3195  * reset getRangeSlice filter after finishing a row for get_paged_slice
3196    (CASSANDRA-4919)
3197  * expunge row cache post-truncate (CASSANDRA-4940)
3198  * Allow static CF definition with compact storage (CASSANDRA-4910)
3199  * Fix endless loop/compaction of schema_* CFs due to broken timestamps (CASSANDRA-4880)
3200  * Fix 'wrong class type' assertion in CounterColumn (CASSANDRA-4976)
3201
3202
3203 1.2-beta2
3204  * fp rate of 1.0 disables BF entirely; LCS defaults to 1.0 (CASSANDRA-4876)
3205  * off-heap bloom filters for row keys (CASSANDRA_4865)
3206  * add extension point for sstable components (CASSANDRA-4049)
3207  * improve tracing output (CASSANDRA-4852, 4862)
3208  * make TRACE verb droppable (CASSANDRA-4672)
3209  * fix BulkLoader recognition of CQL3 columnfamilies (CASSANDRA-4755)
3210  * Sort commitlog segments for replay by id instead of mtime (CASSANDRA-4793)
3211  * Make hint delivery asynchronous (CASSANDRA-4761)
3212  * Pluggable Thrift transport factories for CLI and cqlsh (CASSANDRA-4609, 4610)
3213  * cassandra-cli: allow Double value type to be inserted to a column (CASSANDRA-4661)
3214  * Add ability to use custom TServerFactory implementations (CASSANDRA-4608)
3215  * optimize batchlog flushing to skip successful batches (CASSANDRA-4667)
3216  * include metadata for system keyspace itself in schema tables (CASSANDRA-4416)
3217  * add check to PropertyFileSnitch to verify presence of location for
3218    local node (CASSANDRA-4728)
3219  * add PBSPredictor consistency modeler (CASSANDRA-4261)
3220  * remove vestiges of Thrift unframed mode (CASSANDRA-4729)
3221  * optimize single-row PK lookups (CASSANDRA-4710)
3222  * adjust blockFor calculation to account for pending ranges due to node
3223    movement (CASSANDRA-833)
3224  * Change CQL version to 3.0.0 and stop accepting 3.0.0-beta1 (CASSANDRA-4649)
3225  * (CQL3) Make prepared statement global instead of per connection
3226    (CASSANDRA-4449)
3227  * Fix scrubbing of CQL3 created tables (CASSANDRA-4685)
3228  * (CQL3) Fix validation when using counter and regular columns in the same
3229    table (CASSANDRA-4706)
3230  * Fix bug starting Cassandra with simple authentication (CASSANDRA-4648)
3231  * Add support for batchlog in CQL3 (CASSANDRA-4545, 4738)
3232  * Add support for multiple column family outputs in CFOF (CASSANDRA-4208)
3233  * Support repairing only the local DC nodes (CASSANDRA-4747)
3234  * Use rpc_address for binary protocol and change default port (CASSANDRA-4751)
3235  * Fix use of collections in prepared statements (CASSANDRA-4739)
3236  * Store more information into peers table (CASSANDRA-4351, 4814)
3237  * Configurable bucket size for size tiered compaction (CASSANDRA-4704)
3238  * Run leveled compaction in parallel (CASSANDRA-4310)
3239  * Fix potential NPE during CFS reload (CASSANDRA-4786)
3240  * Composite indexes may miss results (CASSANDRA-4796)
3241  * Move consistency level to the protocol level (CASSANDRA-4734, 4824)
3242  * Fix Subcolumn slice ends not respected (CASSANDRA-4826)
3243  * Fix Assertion error in cql3 select (CASSANDRA-4783)
3244  * Fix list prepend logic (CQL3) (CASSANDRA-4835)
3245  * Add booleans as literals in CQL3 (CASSANDRA-4776)
3246  * Allow renaming PK columns in CQL3 (CASSANDRA-4822)
3247  * Fix binary protocol NEW_NODE event (CASSANDRA-4679)
3248  * Fix potential infinite loop in tombstone compaction (CASSANDRA-4781)
3249  * Remove system tables accounting from schema (CASSANDRA-4850)
3250  * (cql3) Force provided columns in clustering key order in
3251    'CLUSTERING ORDER BY' (CASSANDRA-4881)
3252  * Fix composite index bug (CASSANDRA-4884)
3253  * Fix short read protection for CQL3 (CASSANDRA-4882)
3254  * Add tracing support to the binary protocol (CASSANDRA-4699)
3255  * (cql3) Don't allow prepared marker inside collections (CASSANDRA-4890)
3256  * Re-allow order by on non-selected columns (CASSANDRA-4645)
3257  * Bug when composite index is created in a table having collections (CASSANDRA-4909)
3258  * log index scan subject in CompositesSearcher (CASSANDRA-4904)
3259 Merged from 1.1:
3260  * add get[Row|Key]CacheEntries to CacheServiceMBean (CASSANDRA-4859)
3261  * fix get_paged_slice to wrap to next row correctly (CASSANDRA-4816)
3262  * fix indexing empty column values (CASSANDRA-4832)
3263  * allow JdbcDate to compose null Date objects (CASSANDRA-4830)
3264  * fix possible stackoverflow when compacting 1000s of sstables
3265    (CASSANDRA-4765)
3266  * fix wrong leveled compaction progress calculation (CASSANDRA-4807)
3267  * add a close() method to CRAR to prevent leaking file descriptors (CASSANDRA-4820)
3268  * fix potential infinite loop in get_count (CASSANDRA-4833)
3269  * fix compositeType.{get/from}String methods (CASSANDRA-4842)
3270  * (CQL) fix CREATE COLUMNFAMILY permissions check (CASSANDRA-4864)
3271  * Fix DynamicCompositeType same type comparison (CASSANDRA-4711)
3272  * Fix duplicate SSTable reference when stream session failed (CASSANDRA-3306)
3273  * Allow static CF definition with compact storage (CASSANDRA-4910)
3274  * Fix endless loop/compaction of schema_* CFs due to broken timestamps (CASSANDRA-4880)
3275  * Fix 'wrong class type' assertion in CounterColumn (CASSANDRA-4976)
3276
3277
3278 1.2-beta1
3279  * add atomic_batch_mutate (CASSANDRA-4542, -4635)
3280  * increase default max_hint_window_in_ms to 3h (CASSANDRA-4632)
3281  * include message initiation time to replicas so they can more
3282    accurately drop timed-out requests (CASSANDRA-2858)
3283  * fix clientutil.jar dependencies (CASSANDRA-4566)
3284  * optimize WriteResponse (CASSANDRA-4548)
3285  * new metrics (CASSANDRA-4009)
3286  * redesign KEYS indexes to avoid read-before-write (CASSANDRA-2897)
3287  * debug tracing (CASSANDRA-1123)
3288  * parallelize row cache loading (CASSANDRA-4282)
3289  * Make compaction, flush JBOD-aware (CASSANDRA-4292)
3290  * run local range scans on the read stage (CASSANDRA-3687)
3291  * clean up ioexceptions (CASSANDRA-2116)
3292  * add disk_failure_policy (CASSANDRA-2118)
3293  * Introduce new json format with row level deletion (CASSANDRA-4054)
3294  * remove redundant "name" column from schema_keyspaces (CASSANDRA-4433)
3295  * improve "nodetool ring" handling of multi-dc clusters (CASSANDRA-3047)
3296  * update NTS calculateNaturalEndpoints to be O(N log N) (CASSANDRA-3881)
3297  * split up rpc timeout by operation type (CASSANDRA-2819)
3298  * rewrite key cache save/load to use only sequential i/o (CASSANDRA-3762)
3299  * update MS protocol with a version handshake + broadcast address id
3300    (CASSANDRA-4311)
3301  * multithreaded hint replay (CASSANDRA-4189)
3302  * add inter-node message compression (CASSANDRA-3127)
3303  * remove COPP (CASSANDRA-2479)
3304  * Track tombstone expiration and compact when tombstone content is
3305    higher than a configurable threshold, default 20% (CASSANDRA-3442, 4234)
3306  * update MurmurHash to version 3 (CASSANDRA-2975)
3307  * (CLI) track elapsed time for `delete' operation (CASSANDRA-4060)
3308  * (CLI) jline version is bumped to 1.0 to properly  support
3309    'delete' key function (CASSANDRA-4132)
3310  * Save IndexSummary into new SSTable 'Summary' component (CASSANDRA-2392, 4289)
3311  * Add support for range tombstones (CASSANDRA-3708)
3312  * Improve MessagingService efficiency (CASSANDRA-3617)
3313  * Avoid ID conflicts from concurrent schema changes (CASSANDRA-3794)
3314  * Set thrift HSHA server thread limit to unlimited by default (CASSANDRA-4277)
3315  * Avoids double serialization of CF id in RowMutation messages
3316    (CASSANDRA-4293)
3317  * stream compressed sstables directly with java nio (CASSANDRA-4297)
3318  * Support multiple ranges in SliceQueryFilter (CASSANDRA-3885)
3319  * Add column metadata to system column families (CASSANDRA-4018)
3320  * (cql3) Always use composite types by default (CASSANDRA-4329)
3321  * (cql3) Add support for set, map and list (CASSANDRA-3647)
3322  * Validate date type correctly (CASSANDRA-4441)
3323  * (cql3) Allow definitions with only a PK (CASSANDRA-4361)
3324  * (cql3) Add support for row key composites (CASSANDRA-4179)
3325  * improve DynamicEndpointSnitch by using reservoir sampling (CASSANDRA-4038)
3326  * (cql3) Add support for 2ndary indexes (CASSANDRA-3680)
3327  * (cql3) fix defining more than one PK to be invalid (CASSANDRA-4477)
3328  * remove schema agreement checking from all external APIs (Thrift, CQL and CQL3) (CASSANDRA-4487)
3329  * add Murmur3Partitioner and make it default for new installations (CASSANDRA-3772, 4621)
3330  * (cql3) update pseudo-map syntax to use map syntax (CASSANDRA-4497)
3331  * Finer grained exceptions hierarchy and provides error code with exceptions (CASSANDRA-3979)
3332  * Adds events push to binary protocol (CASSANDRA-4480)
3333  * Rewrite nodetool help (CASSANDRA-2293)
3334  * Make CQL3 the default for CQL (CASSANDRA-4640)
3335  * update stress tool to be able to use CQL3 (CASSANDRA-4406)
3336  * Accept all thrift update on CQL3 cf but don't expose their metadata (CASSANDRA-4377)
3337  * Replace Throttle with Guava's RateLimiter for HintedHandOff (CASSANDRA-4541)
3338  * fix counter add/get using CQL2 and CQL3 in stress tool (CASSANDRA-4633)
3339  * Add sstable count per level to cfstats (CASSANDRA-4537)
3340  * (cql3) Add ALTER KEYSPACE statement (CASSANDRA-4611)
3341  * (cql3) Allow defining default consistency levels (CASSANDRA-4448)
3342  * (cql3) Fix queries using LIMIT missing results (CASSANDRA-4579)
3343  * fix cross-version gossip messaging (CASSANDRA-4576)
3344  * added inet data type (CASSANDRA-4627)
3345
3346
3347 1.1.6
3348  * Wait for writes on synchronous read digest mismatch (CASSANDRA-4792)
3349  * fix commitlog replay for nanotime-infected sstables (CASSANDRA-4782)
3350  * preflight check ttl for maximum of 20 years (CASSANDRA-4771)
3351  * (Pig) fix widerow input with single column rows (CASSANDRA-4789)
3352  * Fix HH to compact with correct gcBefore, which avoids wiping out
3353    undelivered hints (CASSANDRA-4772)
3354  * LCS will merge up to 32 L0 sstables as intended (CASSANDRA-4778)
3355  * NTS will default unconfigured DC replicas to zero (CASSANDRA-4675)
3356  * use default consistency level in counter validation if none is
3357    explicitly provide (CASSANDRA-4700)
3358  * Improve IAuthority interface by introducing fine-grained
3359    access permissions and grant/revoke commands (CASSANDRA-4490, 4644)
3360  * fix assumption error in CLI when updating/describing keyspace
3361    (CASSANDRA-4322)
3362  * Adds offline sstablescrub to debian packaging (CASSANDRA-4642)
3363  * Automatic fixing of overlapping leveled sstables (CASSANDRA-4644)
3364  * fix error when using ORDER BY with extended selections (CASSANDRA-4689)
3365  * (CQL3) Fix validation for IN queries for non-PK cols (CASSANDRA-4709)
3366  * fix re-created keyspace disappering after 1.1.5 upgrade
3367    (CASSANDRA-4698, 4752)
3368  * (CLI) display elapsed time in 2 fraction digits (CASSANDRA-3460)
3369  * add authentication support to sstableloader (CASSANDRA-4712)
3370  * Fix CQL3 'is reversed' logic (CASSANDRA-4716, 4759)
3371  * (CQL3) Don't return ReversedType in result set metadata (CASSANDRA-4717)
3372  * Backport adding AlterKeyspace statement (CASSANDRA-4611)
3373  * (CQL3) Correcty accept upper-case data types (CASSANDRA-4770)
3374  * Add binary protocol events for schema changes (CASSANDRA-4684)
3375 Merged from 1.0:
3376  * Switch from NBHM to CHM in MessagingService's callback map, which
3377    prevents OOM in long-running instances (CASSANDRA-4708)
3378
3379
3380 1.1.5
3381  * add SecondaryIndex.reload API (CASSANDRA-4581)
3382  * use millis + atomicint for commitlog segment creation instead of
3383    nanotime, which has issues under some hypervisors (CASSANDRA-4601)
3384  * fix FD leak in slice queries (CASSANDRA-4571)
3385  * avoid recursion in leveled compaction (CASSANDRA-4587)
3386  * increase stack size under Java7 to 180K
3387  * Log(info) schema changes (CASSANDRA-4547)
3388  * Change nodetool setcachecapcity to manipulate global caches (CASSANDRA-4563)
3389  * (cql3) fix setting compaction strategy (CASSANDRA-4597)
3390  * fix broken system.schema_* timestamps on system startup (CASSANDRA-4561)
3391  * fix wrong skip of cache saving (CASSANDRA-4533)
3392  * Avoid NPE when lost+found is in data dir (CASSANDRA-4572)
3393  * Respect five-minute flush moratorium after initial CL replay (CASSANDRA-4474)
3394  * Adds ntp as recommended in debian packaging (CASSANDRA-4606)
3395  * Configurable transport in CF Record{Reader|Writer} (CASSANDRA-4558)
3396  * (cql3) fix potential NPE with both equal and unequal restriction (CASSANDRA-4532)
3397  * (cql3) improves ORDER BY validation (CASSANDRA-4624)
3398  * Fix potential deadlock during counter writes (CASSANDRA-4578)
3399  * Fix cql error with ORDER BY when using IN (CASSANDRA-4612)
3400 Merged from 1.0:
3401  * increase Xss to 160k to accomodate latest 1.6 JVMs (CASSANDRA-4602)
3402  * fix toString of hint destination tokens (CASSANDRA-4568)
3403  * Fix multiple values for CurrentLocal NodeID (CASSANDRA-4626)
3404
3405
3406 1.1.4
3407  * fix offline scrub to catch >= out of order rows (CASSANDRA-4411)
3408  * fix cassandra-env.sh on RHEL and other non-dash-based systems
3409    (CASSANDRA-4494)
3410 Merged from 1.0:
3411  * (Hadoop) fix setting key length for old-style mapred api (CASSANDRA-4534)
3412  * (Hadoop) fix iterating through a resultset consisting entirely
3413    of tombstoned rows (CASSANDRA-4466)
3414
3415
3416 1.1.3
3417  * (cqlsh) add COPY TO (CASSANDRA-4434)
3418  * munmap commitlog segments before rename (CASSANDRA-4337)
3419  * (JMX) rename getRangeKeySample to sampleKeyRange to avoid returning
3420    multi-MB results as an attribute (CASSANDRA-4452)
3421  * flush based on data size, not throughput; overwritten columns no
3422    longer artificially inflate liveRatio (CASSANDRA-4399)
3423  * update default commitlog segment size to 32MB and total commitlog
3424    size to 32/1024 MB for 32/64 bit JVMs, respectively (CASSANDRA-4422)
3425  * avoid using global partitioner to estimate ranges in index sstables
3426    (CASSANDRA-4403)
3427  * restore pre-CASSANDRA-3862 approach to removing expired tombstones
3428    from row cache during compaction (CASSANDRA-4364)
3429  * (stress) support for CQL prepared statements (CASSANDRA-3633)
3430  * Correctly catch exception when Snappy cannot be loaded (CASSANDRA-4400)
3431  * (cql3) Support ORDER BY when IN condition is given in WHERE clause (CASSANDRA-4327)
3432  * (cql3) delete "component_index" column on DROP TABLE call (CASSANDRA-4420)
3433  * change nanoTime() to currentTimeInMillis() in schema related code (CASSANDRA-4432)
3434  * add a token generation tool (CASSANDRA-3709)
3435  * Fix LCS bug with sstable containing only 1 row (CASSANDRA-4411)
3436  * fix "Can't Modify Index Name" problem on CF update (CASSANDRA-4439)
3437  * Fix assertion error in getOverlappingSSTables during repair (CASSANDRA-4456)
3438  * fix nodetool's setcompactionthreshold command (CASSANDRA-4455)
3439  * Ensure compacted files are never used, to avoid counter overcount (CASSANDRA-4436)
3440 Merged from 1.0:
3441  * Push the validation of secondary index values to the SecondaryIndexManager (CASSANDRA-4240)
3442  * allow dropping columns shadowed by not-yet-expired supercolumn or row
3443    tombstones in PrecompactedRow (CASSANDRA-4396)
3444
3445
3446 1.1.2
3447  * Fix cleanup not deleting index entries (CASSANDRA-4379)
3448  * Use correct partitioner when saving + loading caches (CASSANDRA-4331)
3449  * Check schema before trying to export sstable (CASSANDRA-2760)
3450  * Raise a meaningful exception instead of NPE when PFS encounters
3451    an unconfigured node + no default (CASSANDRA-4349)
3452  * fix bug in sstable blacklisting with LCS (CASSANDRA-4343)
3453  * LCS no longer promotes tiny sstables out of L0 (CASSANDRA-4341)
3454  * skip tombstones during hint replay (CASSANDRA-4320)
3455  * fix NPE in compactionstats (CASSANDRA-4318)
3456  * enforce 1m min keycache for auto (CASSANDRA-4306)
3457  * Have DeletedColumn.isMFD always return true (CASSANDRA-4307)
3458  * (cql3) exeption message for ORDER BY constraints said primary filter can be
3459     an IN clause, which is misleading (CASSANDRA-4319)
3460  * (cql3) Reject (not yet supported) creation of 2ndardy indexes on tables with
3461    composite primary keys (CASSANDRA-4328)
3462  * Set JVM stack size to 160k for java 7 (CASSANDRA-4275)
3463  * cqlsh: add COPY command to load data from CSV flat files (CASSANDRA-4012)
3464  * CFMetaData.fromThrift to throw ConfigurationException upon error (CASSANDRA-4353)
3465  * Use CF comparator to sort indexed columns in SecondaryIndexManager
3466    (CASSANDRA-4365)
3467  * add strategy_options to the KSMetaData.toString() output (CASSANDRA-4248)
3468  * (cql3) fix range queries containing unqueried results (CASSANDRA-4372)
3469  * (cql3) allow updating column_alias types (CASSANDRA-4041)
3470  * (cql3) Fix deletion bug (CASSANDRA-4193)
3471  * Fix computation of overlapping sstable for leveled compaction (CASSANDRA-4321)
3472  * Improve scrub and allow to run it offline (CASSANDRA-4321)
3473  * Fix assertionError in StorageService.bulkLoad (CASSANDRA-4368)
3474  * (cqlsh) add option to authenticate to a keyspace at startup (CASSANDRA-4108)
3475  * (cqlsh) fix ASSUME functionality (CASSANDRA-4352)
3476  * Fix ColumnFamilyRecordReader to not return progress > 100% (CASSANDRA-3942)
3477 Merged from 1.0:
3478  * Set gc_grace on index CF to 0 (CASSANDRA-4314)
3479
3480
3481 1.1.1
3482  * add populate_io_cache_on_flush option (CASSANDRA-2635)
3483  * allow larger cache capacities than 2GB (CASSANDRA-4150)
3484  * add getsstables command to nodetool (CASSANDRA-4199)
3485  * apply parent CF compaction settings to secondary index CFs (CASSANDRA-4280)
3486  * preserve commitlog size cap when recycling segments at startup
3487    (CASSANDRA-4201)
3488  * (Hadoop) fix split generation regression (CASSANDRA-4259)
3489  * ignore min/max compactions settings in LCS, while preserving
3490    behavior that min=max=0 disables autocompaction (CASSANDRA-4233)
3491  * log number of rows read from saved cache (CASSANDRA-4249)
3492  * calculate exact size required for cleanup operations (CASSANDRA-1404)
3493  * avoid blocking additional writes during flush when the commitlog
3494    gets behind temporarily (CASSANDRA-1991)
3495  * enable caching on index CFs based on data CF cache setting (CASSANDRA-4197)
3496  * warn on invalid replication strategy creation options (CASSANDRA-4046)
3497  * remove [Freeable]Memory finalizers (CASSANDRA-4222)
3498  * include tombstone size in ColumnFamily.size, which can prevent OOM
3499    during sudden mass delete operations by yielding a nonzero liveRatio
3500    (CASSANDRA-3741)
3501  * Open 1 sstableScanner per level for leveled compaction (CASSANDRA-4142)
3502  * Optimize reads when row deletion timestamps allow us to restrict
3503    the set of sstables we check (CASSANDRA-4116)
3504  * add support for commitlog archiving and point-in-time recovery
3505    (CASSANDRA-3690)
3506  * avoid generating redundant compaction tasks during streaming
3507    (CASSANDRA-4174)
3508  * add -cf option to nodetool snapshot, and takeColumnFamilySnapshot to
3509    StorageService mbean (CASSANDRA-556)
3510  * optimize cleanup to drop entire sstables where possible (CASSANDRA-4079)
3511  * optimize truncate when autosnapshot is disabled (CASSANDRA-4153)
3512  * update caches to use byte[] keys to reduce memory overhead (CASSANDRA-3966)
3513  * add column limit to cli (CASSANDRA-3012, 4098)
3514  * clean up and optimize DataOutputBuffer, used by CQL compression and
3515    CompositeType (CASSANDRA-4072)
3516  * optimize commitlog checksumming (CASSANDRA-3610)
3517  * identify and blacklist corrupted SSTables from future compactions
3518    (CASSANDRA-2261)
3519  * Move CfDef and KsDef validation out of thrift (CASSANDRA-4037)
3520  * Expose API to repair a user provided range (CASSANDRA-3912)
3521  * Add way to force the cassandra-cli to refresh its schema (CASSANDRA-4052)
3522  * Avoid having replicate on write tasks stacking up at CL.ONE (CASSANDRA-2889)
3523  * (cql3) Backwards compatibility for composite comparators in non-cql3-aware
3524    clients (CASSANDRA-4093)
3525  * (cql3) Fix order by for reversed queries (CASSANDRA-4160)
3526  * (cql3) Add ReversedType support (CASSANDRA-4004)
3527  * (cql3) Add timeuuid type (CASSANDRA-4194)
3528  * (cql3) Minor fixes (CASSANDRA-4185)
3529  * (cql3) Fix prepared statement in BATCH (CASSANDRA-4202)
3530  * (cql3) Reduce the list of reserved keywords (CASSANDRA-4186)
3531  * (cql3) Move max/min compaction thresholds to compaction strategy options
3532    (CASSANDRA-4187)
3533  * Fix exception during move when localhost is the only source (CASSANDRA-4200)
3534  * (cql3) Allow paging through non-ordered partitioner results (CASSANDRA-3771)
3535  * (cql3) Fix drop index (CASSANDRA-4192)
3536  * (cql3) Don't return range ghosts anymore (CASSANDRA-3982)
3537  * fix re-creating Keyspaces/ColumnFamilies with the same name as dropped
3538    ones (CASSANDRA-4219)
3539  * fix SecondaryIndex LeveledManifest save upon snapshot (CASSANDRA-4230)
3540  * fix missing arrayOffset in FBUtilities.hash (CASSANDRA-4250)
3541  * (cql3) Add name of parameters in CqlResultSet (CASSANDRA-4242)
3542  * (cql3) Correctly validate order by queries (CASSANDRA-4246)
3543  * rename stress to cassandra-stress for saner packaging (CASSANDRA-4256)
3544  * Fix exception on colum metadata with non-string comparator (CASSANDRA-4269)
3545  * Check for unknown/invalid compression options (CASSANDRA-4266)
3546  * (cql3) Adds simple access to column timestamp and ttl (CASSANDRA-4217)
3547  * (cql3) Fix range queries with secondary indexes (CASSANDRA-4257)
3548  * Better error messages from improper input in cli (CASSANDRA-3865)
3549  * Try to stop all compaction upon Keyspace or ColumnFamily drop (CASSANDRA-4221)
3550  * (cql3) Allow keyspace properties to contain hyphens (CASSANDRA-4278)
3551  * (cql3) Correctly validate keyspace access in create table (CASSANDRA-4296)
3552  * Avoid deadlock in migration stage (CASSANDRA-3882)
3553  * Take supercolumn names and deletion info into account in memtable throughput
3554    (CASSANDRA-4264)
3555  * Add back backward compatibility for old style replication factor (CASSANDRA-4294)
3556  * Preserve compatibility with pre-1.1 index queries (CASSANDRA-4262)
3557 Merged from 1.0:
3558  * Fix super columns bug where cache is not updated (CASSANDRA-4190)
3559  * fix maxTimestamp to include row tombstones (CASSANDRA-4116)
3560  * (CLI) properly handle quotes in create/update keyspace commands (CASSANDRA-4129)
3561  * Avoids possible deadlock during bootstrap (CASSANDRA-4159)
3562  * fix stress tool that hangs forever on timeout or error (CASSANDRA-4128)
3563  * stress tool to return appropriate exit code on failure (CASSANDRA-4188)
3564  * fix compaction NPE when out of disk space and assertions disabled
3565    (CASSANDRA-3985)
3566  * synchronize LCS getEstimatedTasks to avoid CME (CASSANDRA-4255)
3567  * ensure unique streaming session id's (CASSANDRA-4223)
3568  * kick off background compaction when min/max thresholds change
3569    (CASSANDRA-4279)
3570  * improve ability of STCS.getBuckets to deal with 100s of 1000s of
3571    sstables, such as when convertinb back from LCS (CASSANDRA-4287)
3572  * Oversize integer in CQL throws NumberFormatException (CASSANDRA-4291)
3573  * fix 1.0.x node join to mixed version cluster, other nodes >= 1.1 (CASSANDRA-4195)
3574  * Fix LCS splitting sstable base on uncompressed size (CASSANDRA-4419)
3575  * Push the validation of secondary index values to the SecondaryIndexManager (CASSANDRA-4240)
3576  * Don't purge columns during upgradesstables (CASSANDRA-4462)
3577  * Make cqlsh work with piping (CASSANDRA-4113)
3578  * Validate arguments for nodetool decommission (CASSANDRA-4061)
3579  * Report thrift status in nodetool info (CASSANDRA-4010)
3580
3581
3582 1.1.0-final
3583  * average a reduced liveRatio estimate with the previous one (CASSANDRA-4065)
3584  * Allow KS and CF names up to 48 characters (CASSANDRA-4157)
3585  * fix stress build (CASSANDRA-4140)
3586  * add time remaining estimate to nodetool compactionstats (CASSANDRA-4167)
3587  * (cql) fix NPE in cql3 ALTER TABLE (CASSANDRA-4163)
3588  * (cql) Add support for CL.TWO and CL.THREE in CQL (CASSANDRA-4156)
3589  * (cql) Fix type in CQL3 ALTER TABLE preventing update (CASSANDRA-4170)
3590  * (cql) Throw invalid exception from CQL3 on obsolete options (CASSANDRA-4171)
3591  * (cqlsh) fix recognizing uppercase SELECT keyword (CASSANDRA-4161)
3592  * Pig: wide row support (CASSANDRA-3909)
3593 Merged from 1.0:
3594  * avoid streaming empty files with bulk loader if sstablewriter errors out
3595    (CASSANDRA-3946)
3596
3597
3598 1.1-rc1
3599  * Include stress tool in binary builds (CASSANDRA-4103)
3600  * (Hadoop) fix wide row iteration when last row read was deleted
3601    (CASSANDRA-4154)
3602  * fix read_repair_chance to really default to 0.1 in the cli (CASSANDRA-4114)
3603  * Adds caching and bloomFilterFpChange to CQL options (CASSANDRA-4042)
3604  * Adds posibility to autoconfigure size of the KeyCache (CASSANDRA-4087)
3605  * fix KEYS index from skipping results (CASSANDRA-3996)
3606  * Remove sliced_buffer_size_in_kb dead option (CASSANDRA-4076)
3607  * make loadNewSStable preserve sstable version (CASSANDRA-4077)
3608  * Respect 1.0 cache settings as much as possible when upgrading
3609    (CASSANDRA-4088)
3610  * relax path length requirement for sstable files when upgrading on
3611    non-Windows platforms (CASSANDRA-4110)
3612  * fix terminination of the stress.java when errors were encountered
3613    (CASSANDRA-4128)
3614  * Move CfDef and KsDef validation out of thrift (CASSANDRA-4037)
3615  * Fix get_paged_slice (CASSANDRA-4136)
3616  * CQL3: Support slice with exclusive start and stop (CASSANDRA-3785)
3617 Merged from 1.0:
3618  * support PropertyFileSnitch in bulk loader (CASSANDRA-4145)
3619  * add auto_snapshot option allowing disabling snapshot before drop/truncate
3620    (CASSANDRA-3710)
3621  * allow short snitch names (CASSANDRA-4130)
3622
3623
3624 1.1-beta2
3625  * rename loaded sstables to avoid conflicts with local snapshots
3626    (CASSANDRA-3967)
3627  * start hint replay as soon as FD notifies that the target is back up
3628    (CASSANDRA-3958)
3629  * avoid unproductive deserializing of cached rows during compaction
3630    (CASSANDRA-3921)
3631  * fix concurrency issues with CQL keyspace creation (CASSANDRA-3903)
3632  * Show Effective Owership via Nodetool ring <keyspace> (CASSANDRA-3412)
3633  * Update ORDER BY syntax for CQL3 (CASSANDRA-3925)
3634  * Fix BulkRecordWriter to not throw NPE if reducer gets no map data from Hadoop (CASSANDRA-3944)
3635  * Fix bug with counters in super columns (CASSANDRA-3821)
3636  * Remove deprecated merge_shard_chance (CASSANDRA-3940)
3637  * add a convenient way to reset a node's schema (CASSANDRA-2963)
3638  * fix for intermittent SchemaDisagreementException (CASSANDRA-3884)
3639  * CLI `list <CF>` to limit number of columns and their order (CASSANDRA-3012)
3640  * ignore deprecated KsDef/CfDef/ColumnDef fields in native schema (CASSANDRA-3963)
3641  * CLI to report when unsupported column_metadata pair was given (CASSANDRA-3959)
3642  * reincarnate removed and deprecated KsDef/CfDef attributes (CASSANDRA-3953)
3643  * Fix race between writes and read for cache (CASSANDRA-3862)
3644  * perform static initialization of StorageProxy on start-up (CASSANDRA-3797)
3645  * support trickling fsync() on writes (CASSANDRA-3950)
3646  * expose counters for unavailable/timeout exceptions given to thrift clients (CASSANDRA-3671)
3647  * avoid quadratic startup time in LeveledManifest (CASSANDRA-3952)
3648  * Add type information to new schema_ columnfamilies and remove thrift
3649    serialization for schema (CASSANDRA-3792)
3650  * add missing column validator options to the CLI help (CASSANDRA-3926)
3651  * skip reading saved key cache if CF's caching strategy is NONE or ROWS_ONLY (CASSANDRA-3954)
3652  * Unify migration code (CASSANDRA-4017)
3653 Merged from 1.0:
3654  * cqlsh: guess correct version of Python for Arch Linux (CASSANDRA-4090)
3655  * (CLI) properly handle quotes in create/update keyspace commands (CASSANDRA-4129)
3656  * Avoids possible deadlock during bootstrap (CASSANDRA-4159)
3657  * fix stress tool that hangs forever on timeout or error (CASSANDRA-4128)
3658  * Fix super columns bug where cache is not updated (CASSANDRA-4190)
3659  * stress tool to return appropriate exit code on failure (CASSANDRA-4188)
3660
3661
3662 1.0.9
3663  * improve index sampling performance (CASSANDRA-4023)
3664  * always compact away deleted hints immediately after handoff (CASSANDRA-3955)
3665  * delete hints from dropped ColumnFamilies on handoff instead of
3666    erroring out (CASSANDRA-3975)
3667  * add CompositeType ref to the CLI doc for create/update column family (CASSANDRA-3980)
3668  * Pig: support Counter ColumnFamilies (CASSANDRA-3973)
3669  * Pig: Composite column support (CASSANDRA-3684)
3670  * Avoid NPE during repair when a keyspace has no CFs (CASSANDRA-3988)
3671  * Fix division-by-zero error on get_slice (CASSANDRA-4000)
3672  * don't change manifest level for cleanup, scrub, and upgradesstables
3673    operations under LeveledCompactionStrategy (CASSANDRA-3989, 4112)
3674  * fix race leading to super columns assertion failure (CASSANDRA-3957)
3675  * fix NPE on invalid CQL delete command (CASSANDRA-3755)
3676  * allow custom types in CLI's assume command (CASSANDRA-4081)
3677  * fix totalBytes count for parallel compactions (CASSANDRA-3758)
3678  * fix intermittent NPE in get_slice (CASSANDRA-4095)
3679  * remove unnecessary asserts in native code interfaces (CASSANDRA-4096)
3680  * Validate blank keys in CQL to avoid assertion errors (CASSANDRA-3612)
3681  * cqlsh: fix bad decoding of some column names (CASSANDRA-4003)
3682  * cqlsh: fix incorrect padding with unicode chars (CASSANDRA-4033)
3683  * Fix EC2 snitch incorrectly reporting region (CASSANDRA-4026)
3684  * Shut down thrift during decommission (CASSANDRA-4086)
3685  * Expose nodetool cfhistograms for 2ndary indexes (CASSANDRA-4063)
3686 Merged from 0.8:
3687  * Fix ConcurrentModificationException in gossiper (CASSANDRA-4019)
3688
3689
3690 1.1-beta1
3691  * (cqlsh)
3692    + add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479)
3693    + add ALTER COLUMNFAMILY WITH (CASSANDRA-3523)
3694    + bundle Python dependencies with Cassandra (CASSANDRA-3507)
3695    + added to Debian package (CASSANDRA-3458)
3696    + display byte data instead of erroring out on decode failure
3697      (CASSANDRA-3874)
3698  * add nodetool rebuild_index (CASSANDRA-3583)
3699  * add nodetool rangekeysample (CASSANDRA-2917)
3700  * Fix streaming too much data during move operations (CASSANDRA-3639)
3701  * Nodetool and CLI connect to localhost by default (CASSANDRA-3568)
3702  * Reduce memory used by primary index sample (CASSANDRA-3743)
3703  * (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765)
3704  * avoid returning internal Cassandra classes over JMX (CASSANDRA-2805)
3705  * add row-level isolation via SnapTree (CASSANDRA-2893)
3706  * Optimize key count estimation when opening sstable on startup
3707    (CASSANDRA-2988)
3708  * multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577)
3709  * add command to stop compactions (CASSANDRA-1740, 3566, 3582)
3710  * multithreaded streaming (CASSANDRA-3494)
3711  * removed in-tree redhat spec (CASSANDRA-3567)
3712  * "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503)
3713  * Recycle commitlog segments for improved performance
3714    (CASSANDRA-3411, 3543, 3557, 3615)
3715  * update size-tiered compaction to prioritize small tiers (CASSANDRA-2407)
3716  * add message expiration logic to OutboundTcpConnection (CASSANDRA-3005)
3717  * off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271)
3718  * EACH_QUORUM is only supported for writes (CASSANDRA-3272)
3719  * replace compactionlock use in schema migration by checking CFS.isValid
3720    (CASSANDRA-3116)
3721  * recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445)
3722  * Use faster bytes comparison (CASSANDRA-3434)
3723  * Bulk loader is no longer a fat client, (HADOOP) bulk load output format
3724    (CASSANDRA-3045)
3725  * (Hadoop) add support for KeyRange.filter
3726  * remove assumption that keys and token are in bijection
3727    (CASSANDRA-1034, 3574, 3604)
3728  * always remove endpoints from delevery queue in HH (CASSANDRA-3546)
3729  * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547)
3730  * fix potential race in AES when a repair fails (CASSANDRA-3548)
3731  * Remove columns shadowed by a deleted container even when we cannot purge
3732    (CASSANDRA-3538)
3733  * Improve memtable slice iteration performance (CASSANDRA-3545)
3734  * more efficient allocation of small bloom filters (CASSANDRA-3618)
3735  * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619)
3736  * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250)
3737  * fix minor issues reported by FindBugs (CASSANDRA-3658)
3738  * global key/row caches (CASSANDRA-3143, 3849)
3739  * optimize memtable iteration during range scan (CASSANDRA-3638)
3740  * introduce 'crc_check_chance' in CompressionParameters to support
3741    a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611)
3742  * a way to deactivate global key/row cache on per-CF basis (CASSANDRA-3667)
3743  * fix LeveledCompactionStrategy broken because of generation pre-allocation
3744    in LeveledManifest (CASSANDRA-3691)
3745  * finer-grained control over data directories (CASSANDRA-2749)
3746  * Fix ClassCastException during hinted handoff (CASSANDRA-3694)
3747  * Upgrade Thrift to 0.7 (CASSANDRA-3213)
3748  * Make stress.java insert operation to use microseconds (CASSANDRA-3725)
3749  * Allows (internally) doing a range query with a limit of columns instead of
3750    rows (CASSANDRA-3742)
3751  * Allow rangeSlice queries to be start/end inclusive/exclusive (CASSANDRA-3749)
3752  * Fix BulkLoader to support new SSTable layout and add stream
3753    throttling to prevent an NPE when there is no yaml config (CASSANDRA-3752)
3754  * Allow concurrent schema migrations (CASSANDRA-1391, 3832)
3755  * Add SnapshotCommand to trigger snapshot on remote node (CASSANDRA-3721)
3756  * Make CFMetaData conversions to/from thrift/native schema inverses
3757    (CASSANDRA_3559)
3758  * Add initial code for CQL 3.0-beta (CASSANDRA-2474, 3781, 3753)
3759  * Add wide row support for ColumnFamilyInputFormat (CASSANDRA-3264)
3760  * Allow extending CompositeType comparator (CASSANDRA-3657)
3761  * Avoids over-paging during get_count (CASSANDRA-3798)
3762  * Add new command to rebuild a node without (repair) merkle tree calculations
3763    (CASSANDRA-3483, 3922)
3764  * respect not only row cache capacity but caching mode when
3765    trying to read data (CASSANDRA-3812)
3766  * fix system tests (CASSANDRA-3827)
3767  * CQL support for altering row key type in ALTER TABLE (CASSANDRA-3781)
3768  * turn compression on by default (CASSANDRA-3871)
3769  * make hexToBytes refuse invalid input (CASSANDRA-2851)
3770  * Make secondary indexes CF inherit compression and compaction from their
3771    parent CF (CASSANDRA-3877)
3772  * Finish cleanup up tombstone purge code (CASSANDRA-3872)
3773  * Avoid NPE on aboarted stream-out sessions (CASSANDRA-3904)
3774  * BulkRecordWriter throws NPE for counter columns (CASSANDRA-3906)
3775  * Support compression using BulkWriter (CASSANDRA-3907)
3776
3777
3778 1.0.8
3779  * fix race between cleanup and flush on secondary index CFSes (CASSANDRA-3712)
3780  * avoid including non-queried nodes in rangeslice read repair
3781    (CASSANDRA-3843)
3782  * Only snapshot CF being compacted for snapshot_before_compaction
3783    (CASSANDRA-3803)
3784  * Log active compactions in StatusLogger (CASSANDRA-3703)
3785  * Compute more accurate compaction score per level (CASSANDRA-3790)
3786  * Return InvalidRequest when using a keyspace that doesn't exist
3787    (CASSANDRA-3764)
3788  * disallow user modification of System keyspace (CASSANDRA-3738)
3789  * allow using sstable2json on secondary index data (CASSANDRA-3738)
3790  * (cqlsh) add DESCRIBE COLUMNFAMILIES (CASSANDRA-3586)
3791  * (cqlsh) format blobs correctly and use colors to improve output
3792    readability (CASSANDRA-3726)
3793  * synchronize BiMap of bootstrapping tokens (CASSANDRA-3417)
3794  * show index options in CLI (CASSANDRA-3809)
3795  * add optional socket timeout for streaming (CASSANDRA-3838)
3796  * fix truncate not to leave behind non-CFS backed secondary indexes
3797    (CASSANDRA-3844)
3798  * make CLI `show schema` to use output stream directly instead
3799    of StringBuilder (CASSANDRA-3842)
3800  * remove the wait on hint future during write (CASSANDRA-3870)
3801  * (cqlsh) ignore missing CfDef opts (CASSANDRA-3933)
3802  * (cqlsh) look for cqlshlib relative to realpath (CASSANDRA-3767)
3803  * Fix short read protection (CASSANDRA-3934)
3804  * Make sure infered and actual schema match (CASSANDRA-3371)
3805  * Fix NPE during HH delivery (CASSANDRA-3677)
3806  * Don't put boostrapping node in 'hibernate' status (CASSANDRA-3737)
3807  * Fix double quotes in windows bat files (CASSANDRA-3744)
3808  * Fix bad validator lookup (CASSANDRA-3789)
3809  * Fix soft reset in EC2MultiRegionSnitch (CASSANDRA-3835)
3810  * Don't leave zombie connections with THSHA thrift server (CASSANDRA-3867)
3811  * (cqlsh) fix deserialization of data (CASSANDRA-3874)
3812  * Fix removetoken force causing an inconsistent state (CASSANDRA-3876)
3813  * Fix ahndling of some types with Pig (CASSANDRA-3886)
3814  * Don't allow to drop the system keyspace (CASSANDRA-3759)
3815  * Make Pig deletes disabled by default and configurable (CASSANDRA-3628)
3816 Merged from 0.8:
3817  * (Pig) fix CassandraStorage to use correct comparator in Super ColumnFamily
3818    case (CASSANDRA-3251)
3819  * fix thread safety issues in commitlog replay, primarily affecting
3820    systems with many (100s) of CF definitions (CASSANDRA-3751)
3821  * Fix relevant tombstone ignored with super columns (CASSANDRA-3875)
3822
3823
3824 1.0.7
3825  * fix regression in HH page size calculation (CASSANDRA-3624)
3826  * retry failed stream on IOException (CASSANDRA-3686)
3827  * allow configuring bloom_filter_fp_chance (CASSANDRA-3497)
3828  * attempt hint delivery every ten minutes, or when failure detector
3829    notifies us that a node is back up, whichever comes first.  hint
3830    handoff throttle delay default changed to 1ms, from 50 (CASSANDRA-3554)
3831  * add nodetool setstreamthroughput (CASSANDRA-3571)
3832  * fix assertion when dropping a columnfamily with no sstables (CASSANDRA-3614)
3833  * more efficient allocation of small bloom filters (CASSANDRA-3618)
3834  * CLibrary.createHardLinkWithExec() to check for errors (CASSANDRA-3101)
3835  * Avoid creating empty and non cleaned writer during compaction (CASSANDRA-3616)
3836  * stop thrift service in shutdown hook so we can quiesce MessagingService
3837    (CASSANDRA-3335)
3838  * (CQL) compaction_strategy_options and compression_parameters for
3839    CREATE COLUMNFAMILY statement (CASSANDRA-3374)
3840  * Reset min/max compaction threshold when creating size tiered compaction
3841    strategy (CASSANDRA-3666)
3842  * Don't ignore IOException during compaction (CASSANDRA-3655)
3843  * Fix assertion error for CF with gc_grace=0 (CASSANDRA-3579)
3844  * Shutdown ParallelCompaction reducer executor after use (CASSANDRA-3711)
3845  * Avoid < 0 value for pending tasks in leveled compaction (CASSANDRA-3693)
3846  * (Hadoop) Support TimeUUID in Pig CassandraStorage (CASSANDRA-3327)
3847  * Check schema is ready before continuing boostrapping (CASSANDRA-3629)
3848  * Catch overflows during parsing of chunk_length_kb (CASSANDRA-3644)
3849  * Improve stream protocol mismatch errors (CASSANDRA-3652)
3850  * Avoid multiple thread doing HH to the same target (CASSANDRA-3681)
3851  * Add JMX property for rp_timeout_in_ms (CASSANDRA-2940)
3852  * Allow DynamicCompositeType to compare component of different types
3853    (CASSANDRA-3625)
3854  * Flush non-cfs backed secondary indexes (CASSANDRA-3659)
3855  * Secondary Indexes should report memory consumption (CASSANDRA-3155)
3856  * fix for SelectStatement start/end key are not set correctly
3857    when a key alias is involved (CASSANDRA-3700)
3858  * fix CLI `show schema` command insert of an extra comma in
3859    column_metadata (CASSANDRA-3714)
3860 Merged from 0.8:
3861  * avoid logging (harmless) exception when GC takes < 1ms (CASSANDRA-3656)
3862  * prevent new nodes from thinking down nodes are up forever (CASSANDRA-3626)
3863  * use correct list of replicas for LOCAL_QUORUM reads when read repair
3864    is disabled (CASSANDRA-3696)
3865  * block on flush before compacting hints (may prevent OOM) (CASSANDRA-3733)
3866
3867
3868 1.0.6
3869  * (CQL) fix cqlsh support for replicate_on_write (CASSANDRA-3596)
3870  * fix adding to leveled manifest after streaming (CASSANDRA-3536)
3871  * filter out unavailable cipher suites when using encryption (CASSANDRA-3178)
3872  * (HADOOP) add old-style api support for CFIF and CFRR (CASSANDRA-2799)
3873  * Support TimeUUIDType column names in Stress.java tool (CASSANDRA-3541)
3874  * (CQL) INSERT/UPDATE/DELETE/TRUNCATE commands should allow CF names to
3875    be qualified by keyspace (CASSANDRA-3419)
3876  * always remove endpoints from delevery queue in HH (CASSANDRA-3546)
3877  * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547)
3878  * fix potential race in AES when a repair fails (CASSANDRA-3548)
3879  * fix default value validation usage in CLI SET command (CASSANDRA-3553)
3880  * Optimize componentsFor method for compaction and startup time
3881    (CASSANDRA-3532)
3882  * (CQL) Proper ColumnFamily metadata validation on CREATE COLUMNFAMILY
3883    (CASSANDRA-3565)
3884  * fix compression "chunk_length_kb" option to set correct kb value for
3885    thrift/avro (CASSANDRA-3558)
3886  * fix missing response during range slice repair (CASSANDRA-3551)
3887  * 'describe ring' moved from CLI to nodetool and available through JMX (CASSANDRA-3220)
3888  * add back partitioner to sstable metadata (CASSANDRA-3540)
3889  * fix NPE in get_count for counters (CASSANDRA-3601)
3890 Merged from 0.8:
3891  * remove invalid assertion that table was opened before dropping it
3892    (CASSANDRA-3580)
3893  * range and index scans now only send requests to enough replicas to
3894    satisfy requested CL + RR (CASSANDRA-3598)
3895  * use cannonical host for local node in nodetool info (CASSANDRA-3556)
3896  * remove nonlocal DC write optimization since it only worked with
3897    CL.ONE or CL.LOCAL_QUORUM (CASSANDRA-3577, 3585)
3898  * detect misuses of CounterColumnType (CASSANDRA-3422)
3899  * turn off string interning in json2sstable, take 2 (CASSANDRA-2189)
3900  * validate compression parameters on add/update of the ColumnFamily
3901    (CASSANDRA-3573)
3902  * Check for 0.0.0.0 is incorrect in CFIF (CASSANDRA-3584)
3903  * Increase vm.max_map_count in debian packaging (CASSANDRA-3563)
3904  * gossiper will never add itself to saved endpoints (CASSANDRA-3485)
3905
3906
3907 1.0.5
3908  * revert CASSANDRA-3407 (see CASSANDRA-3540)
3909  * fix assertion error while forwarding writes to local nodes (CASSANDRA-3539)
3910
3911
3912 1.0.4
3913  * fix self-hinting of timed out read repair updates and make hinted handoff
3914    less prone to OOMing a coordinator (CASSANDRA-3440)
3915  * expose bloom filter sizes via JMX (CASSANDRA-3495)
3916  * enforce RP tokens 0..2**127 (CASSANDRA-3501)
3917  * canonicalize paths exposed through JMX (CASSANDRA-3504)
3918  * fix "liveSize" stat when sstables are removed (CASSANDRA-3496)
3919  * add bloom filter FP rates to nodetool cfstats (CASSANDRA-3347)
3920  * record partitioner in sstable metadata component (CASSANDRA-3407)
3921  * add new upgradesstables nodetool command (CASSANDRA-3406)
3922  * skip --debug requirement to see common exceptions in CLI (CASSANDRA-3508)
3923  * fix incorrect query results due to invalid max timestamp (CASSANDRA-3510)
3924  * make sstableloader recognize compressed sstables (CASSANDRA-3521)
3925  * avoids race in OutboundTcpConnection in multi-DC setups (CASSANDRA-3530)
3926  * use SETLOCAL in cassandra.bat (CASSANDRA-3506)
3927  * fix ConcurrentModificationException in Table.all() (CASSANDRA-3529)
3928 Merged from 0.8:
3929  * fix concurrence issue in the FailureDetector (CASSANDRA-3519)
3930  * fix array out of bounds error in counter shard removal (CASSANDRA-3514)
3931  * avoid dropping tombstones when they might still be needed to shadow
3932    data in a different sstable (CASSANDRA-2786)
3933
3934
3935 1.0.3
3936  * revert name-based query defragmentation aka CASSANDRA-2503 (CASSANDRA-3491)
3937  * fix invalidate-related test failures (CASSANDRA-3437)
3938  * add next-gen cqlsh to bin/ (CASSANDRA-3188, 3131, 3493)
3939  * (CQL) fix handling of rows with no columns (CASSANDRA-3424, 3473)
3940  * fix querying supercolumns by name returning only a subset of
3941    subcolumns or old subcolumn versions (CASSANDRA-3446)
3942  * automatically compute sha1 sum for uncompressed data files (CASSANDRA-3456)
3943  * fix reading metadata/statistics component for version < h (CASSANDRA-3474)
3944  * add sstable forward-compatibility (CASSANDRA-3478)
3945  * report compression ratio in CFSMBean (CASSANDRA-3393)
3946  * fix incorrect size exception during streaming of counters (CASSANDRA-3481)
3947  * (CQL) fix for counter decrement syntax (CASSANDRA-3418)
3948  * Fix race introduced by CASSANDRA-2503 (CASSANDRA-3482)
3949  * Fix incomplete deletion of delivered hints (CASSANDRA-3466)
3950  * Avoid rescheduling compactions when no compaction was executed
3951    (CASSANDRA-3484)
3952  * fix handling of the chunk_length_kb compression options (CASSANDRA-3492)
3953 Merged from 0.8:
3954  * fix updating CF row_cache_provider (CASSANDRA-3414)
3955  * CFMetaData.convertToThrift method to set RowCacheProvider (CASSANDRA-3405)
3956  * acquire compactionlock during truncate (CASSANDRA-3399)
3957  * fix displaying cfdef entries for super columnfamilies (CASSANDRA-3415)
3958  * Make counter shard merging thread safe (CASSANDRA-3178)
3959  * Revert CASSANDRA-2855
3960  * Fix bug preventing the use of efficient cross-DC writes (CASSANDRA-3472)
3961  * `describe ring` command for CLI (CASSANDRA-3220)
3962  * (Hadoop) skip empty rows when entire row is requested, redux (CASSANDRA-2855)
3963
3964
3965 1.0.2
3966  * "defragment" rows for name-based queries under STCS (CASSANDRA-2503)
3967  * Add timing information to cassandra-cli GET/SET/LIST queries (CASSANDRA-3326)
3968  * Only create one CompressionMetadata object per sstable (CASSANDRA-3427)
3969  * cleanup usage of StorageService.setMode() (CASSANDRA-3388)
3970  * Avoid large array allocation for compressed chunk offsets (CASSANDRA-3432)
3971  * fix DecimalType bytebuffer marshalling (CASSANDRA-3421)
3972  * fix bug that caused first column in per row indexes to be ignored
3973    (CASSANDRA-3441)
3974  * add JMX call to clean (failed) repair sessions (CASSANDRA-3316)
3975  * fix sstableloader reference acquisition bug (CASSANDRA-3438)
3976  * fix estimated row size regression (CASSANDRA-3451)
3977  * make sure we don't return more columns than asked (CASSANDRA-3303, 3395)
3978 Merged from 0.8:
3979  * acquire compactionlock during truncate (CASSANDRA-3399)
3980  * fix displaying cfdef entries for super columnfamilies (CASSANDRA-3415)
3981
3982
3983 1.0.1
3984  * acquire references during index build to prevent delete problems
3985    on Windows (CASSANDRA-3314)
3986  * describe_ring should include datacenter/topology information (CASSANDRA-2882)
3987  * Thrift sockets are not properly buffered (CASSANDRA-3261)
3988  * performance improvement for bytebufferutil compare function (CASSANDRA-3286)
3989  * add system.versions ColumnFamily (CASSANDRA-3140)
3990  * reduce network copies (CASSANDRA-3333, 3373)
3991  * limit nodetool to 32MB of heap (CASSANDRA-3124)
3992  * (CQL) update parser to accept "timestamp" instead of "date" (CASSANDRA-3149)
3993  * Fix CLI `show schema` to include "compression_options" (CASSANDRA-3368)
3994  * Snapshot to include manifest under LeveledCompactionStrategy (CASSANDRA-3359)
3995  * (CQL) SELECT query should allow CF name to be qualified by keyspace (CASSANDRA-3130)
3996  * (CQL) Fix internal application error specifying 'using consistency ...'
3997    in lower case (CASSANDRA-3366)
3998  * fix Deflate compression when compression actually makes the data bigger
3999    (CASSANDRA-3370)
4000  * optimize UUIDGen to avoid lock contention on InetAddress.getLocalHost
4001    (CASSANDRA-3387)
4002  * tolerate index being dropped mid-mutation (CASSANDRA-3334, 3313)
4003  * CompactionManager is now responsible for checking for new candidates
4004    post-task execution, enabling more consistent leveled compaction
4005    (CASSANDRA-3391)
4006  * Cache HSHA threads (CASSANDRA-3372)
4007  * use CF/KS names as snapshot prefix for drop + truncate operations
4008    (CASSANDRA-2997)
4009  * Break bloom filters up to avoid heap fragmentation (CASSANDRA-2466)
4010  * fix cassandra hanging on jsvc stop (CASSANDRA-3302)
4011  * Avoid leveled compaction getting blocked on errors (CASSANDRA-3408)
4012  * Make reloading the compaction strategy safe (CASSANDRA-3409)
4013  * ignore 0.8 hints even if compaction begins before we try to purge
4014    them (CASSANDRA-3385)
4015  * remove procrun (bin\daemon) from Cassandra source tree and
4016    artifacts (CASSANDRA-3331)
4017  * make cassandra compile under JDK7 (CASSANDRA-3275)
4018  * remove dependency of clientutil.jar to FBUtilities (CASSANDRA-3299)
4019  * avoid truncation errors by using long math on long values (CASSANDRA-3364)
4020  * avoid clock drift on some Windows machine (CASSANDRA-3375)
4021  * display cache provider in cli 'describe keyspace' command (CASSANDRA-3384)
4022  * fix incomplete topology information in describe_ring (CASSANDRA-3403)
4023  * expire dead gossip states based on time (CASSANDRA-2961)
4024  * improve CompactionTask extensibility (CASSANDRA-3330)
4025  * Allow one leveled compaction task to kick off another (CASSANDRA-3363)
4026  * allow encryption only between datacenters (CASSANDRA-2802)
4027 Merged from 0.8:
4028  * fix truncate allowing data to be replayed post-restart (CASSANDRA-3297)
4029  * make iwriter final in IndexWriter to avoid NPE (CASSANDRA-2863)
4030  * (CQL) update grammar to require key clause in DELETE statement
4031    (CASSANDRA-3349)
4032  * (CQL) allow numeric keyspace names in USE statement (CASSANDRA-3350)
4033  * (Hadoop) skip empty rows when slicing the entire row (CASSANDRA-2855)
4034  * Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
4035  * fix ColumnIndexer to use long offsets (CASSANDRA-3358)
4036  * Improved CLI exceptions (CASSANDRA-3312)
4037  * Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
4038  * Only count compaction as active (for throttling) when they have
4039    successfully acquired the compaction lock (CASSANDRA-3344)
4040  * Display CLI version string on startup (CASSANDRA-3196)
4041  * (Hadoop) make CFIF try rpc_address or fallback to listen_address
4042    (CASSANDRA-3214)
4043  * (Hadoop) accept comma delimited lists of initial thrift connections
4044    (CASSANDRA-3185)
4045  * ColumnFamily min_compaction_threshold should be >= 2 (CASSANDRA-3342)
4046  * (Pig) add 0.8+ types and key validation type in schema (CASSANDRA-3280)
4047  * Fix completely removing column metadata using CLI (CASSANDRA-3126)
4048  * CLI `describe cluster;` output should be on separate lines for separate versions
4049    (CASSANDRA-3170)
4050  * fix changing durable_writes keyspace option during CF creation
4051    (CASSANDRA-3292)
4052  * avoid locking on update when no indexes are involved (CASSANDRA-3386)
4053  * fix assertionError during repair with ordered partitioners (CASSANDRA-3369)
4054  * correctly serialize key_validation_class for avro (CASSANDRA-3391)
4055  * don't expire counter tombstone after streaming (CASSANDRA-3394)
4056  * prevent nodes that failed to join from hanging around forever
4057    (CASSANDRA-3351)
4058  * remove incorrect optimization from slice read path (CASSANDRA-3390)
4059  * Fix race in AntiEntropyService (CASSANDRA-3400)
4060
4061
4062 1.0.0-final
4063  * close scrubbed sstable fd before deleting it (CASSANDRA-3318)
4064  * fix bug preventing obsolete commitlog segments from being removed
4065    (CASSANDRA-3269)
4066  * tolerate whitespace in seed CDL (CASSANDRA-3263)
4067  * Change default heap thresholds to max(min(1/2 ram, 1G), min(1/4 ram, 8GB))
4068    (CASSANDRA-3295)
4069  * Fix broken CompressedRandomAccessReaderTest (CASSANDRA-3298)
4070  * (CQL) fix type information returned for wildcard queries (CASSANDRA-3311)
4071  * add estimated tasks to LeveledCompactionStrategy (CASSANDRA-3322)
4072  * avoid including compaction cache-warming in keycache stats (CASSANDRA-3325)
4073  * run compaction and hinted handoff threads at MIN_PRIORITY (CASSANDRA-3308)
4074  * default hsha thrift server to cpu core count in rpc pool (CASSANDRA-3329)
4075  * add bin\daemon to binary tarball for Windows service (CASSANDRA-3331)
4076  * Fix places where uncompressed size of sstables was use in place of the
4077    compressed one (CASSANDRA-3338)
4078  * Fix hsha thrift server (CASSANDRA-3346)
4079  * Make sure repair only stream needed sstables (CASSANDRA-3345)
4080
4081
4082 1.0.0-rc2
4083  * Log a meaningful warning when a node receives a message for a repair session
4084    that doesn't exist anymore (CASSANDRA-3256)
4085  * test for NUMA policy support as well as numactl presence (CASSANDRA-3245)
4086  * Fix FD leak when internode encryption is enabled (CASSANDRA-3257)
4087  * Remove incorrect assertion in mergeIterator (CASSANDRA-3260)
4088  * FBUtilities.hexToBytes(String) to throw NumberFormatException when string
4089    contains non-hex characters (CASSANDRA-3231)
4090  * Keep SimpleSnitch proximity ordering unchanged from what the Strategy
4091    generates, as intended (CASSANDRA-3262)
4092  * remove Scrub from compactionstats when finished (CASSANDRA-3255)
4093  * fix counter entry in jdbc TypesMap (CASSANDRA-3268)
4094  * fix full queue scenario for ParallelCompactionIterator (CASSANDRA-3270)
4095  * fix bootstrap process (CASSANDRA-3285)
4096  * don't try delivering hints if when there isn't any (CASSANDRA-3176)
4097  * CLI documentation change for ColumnFamily `compression_options` (CASSANDRA-3282)
4098  * ignore any CF ids sent by client for adding CF/KS (CASSANDRA-3288)
4099  * remove obsolete hints on first startup (CASSANDRA-3291)
4100  * use correct ISortedColumns for time-optimized reads (CASSANDRA-3289)
4101  * Evict gossip state immediately when a token is taken over by a new IP
4102    (CASSANDRA-3259)
4103
4104
4105 1.0.0-rc1
4106  * Update CQL to generate microsecond timestamps by default (CASSANDRA-3227)
4107  * Fix counting CFMetadata towards Memtable liveRatio (CASSANDRA-3023)
4108  * Kill server on wrapped OOME such as from FileChannel.map (CASSANDRA-3201)
4109  * remove unnecessary copy when adding to row cache (CASSANDRA-3223)
4110  * Log message when a full repair operation completes (CASSANDRA-3207)
4111  * Fix streamOutSession keeping sstables references forever if the remote end
4112    dies (CASSANDRA-3216)
4113  * Remove dynamic_snitch boolean from example configuration (defaulting to
4114    true) and set default badness threshold to 0.1 (CASSANDRA-3229)
4115  * Base choice of random or "balanced" token on bootstrap on whether
4116    schema definitions were found (CASSANDRA-3219)
4117  * Fixes for LeveledCompactionStrategy score computation, prioritization,
4118    scheduling, and performance (CASSANDRA-3224, 3234)
4119  * parallelize sstable open at server startup (CASSANDRA-2988)
4120  * fix handling of exceptions writing to OutboundTcpConnection (CASSANDRA-3235)
4121  * Allow using quotes in "USE <keyspace>;" CLI command (CASSANDRA-3208)
4122  * Don't allow any cache loading exceptions to halt startup (CASSANDRA-3218)
4123  * Fix sstableloader --ignores option (CASSANDRA-3247)
4124  * File descriptor limit increased in packaging (CASSANDRA-3206)
4125  * Fix deadlock in commit log during flush (CASSANDRA-3253)
4126
4127
4128 1.0.0-beta1
4129  * removed binarymemtable (CASSANDRA-2692)
4130  * add commitlog_total_space_in_mb to prevent fragmented logs (CASSANDRA-2427)
4131  * removed commitlog_rotation_threshold_in_mb configuration (CASSANDRA-2771)
4132  * make AbstractBounds.normalize de-overlapp overlapping ranges (CASSANDRA-2641)
4133  * replace CollatingIterator, ReducingIterator with MergeIterator
4134    (CASSANDRA-2062)
4135  * Fixed the ability to set compaction strategy in cli using create column
4136    family command (CASSANDRA-2778)
4137  * clean up tmp files after failed compaction (CASSANDRA-2468)
4138  * restrict repair streaming to specific columnfamilies (CASSANDRA-2280)
4139  * don't bother persisting columns shadowed by a row tombstone (CASSANDRA-2589)
4140  * reset CF and SC deletion times after gc_grace (CASSANDRA-2317)
4141  * optimize away seek when compacting wide rows (CASSANDRA-2879)
4142  * single-pass streaming (CASSANDRA-2677, 2906, 2916, 3003)
4143  * use reference counting for deleting sstables instead of relying on GC
4144    (CASSANDRA-2521, 3179)
4145  * store hints as serialized mutations instead of pointers to data row
4146    (CASSANDRA-2045)
4147  * store hints in the coordinator node instead of in the closest replica
4148    (CASSANDRA-2914)
4149  * add row_cache_keys_to_save CF option (CASSANDRA-1966)
4150  * check column family validity in nodetool repair (CASSANDRA-2933)
4151  * use lazy initialization instead of class initialization in NodeId
4152    (CASSANDRA-2953)
4153  * add paging to get_count (CASSANDRA-2894)
4154  * fix "short reads" in [multi]get (CASSANDRA-2643, 3157, 3192)
4155  * add optional compression for sstables (CASSANDRA-47, 2994, 3001, 3128)
4156  * add scheduler JMX metrics (CASSANDRA-2962)
4157  * add block level checksum for compressed data (CASSANDRA-1717)
4158  * make column family backed column map pluggable and introduce unsynchronized
4159    ArrayList backed one to speedup reads (CASSANDRA-2843, 3165, 3205)
4160  * refactoring of the secondary index api (CASSANDRA-2982)
4161  * make CL > ONE reads wait for digest reconciliation before returning
4162    (CASSANDRA-2494)
4163  * fix missing logging for some exceptions (CASSANDRA-2061)
4164  * refactor and optimize ColumnFamilyStore.files(...) and Descriptor.fromFilename(String)
4165    and few other places responsible for work with SSTable files (CASSANDRA-3040)
4166  * Stop reading from sstables once we know we have the most recent columns,
4167    for query-by-name requests (CASSANDRA-2498)
4168  * Add query-by-column mode to stress.java (CASSANDRA-3064)
4169  * Add "install" command to cassandra.bat (CASSANDRA-292)
4170  * clean up KSMetadata, CFMetadata from unnecessary
4171    Thrift<->Avro conversion methods (CASSANDRA-3032)
4172  * Add timeouts to client request schedulers (CASSANDRA-3079, 3096)
4173  * Cli to use hashes rather than array of hashes for strategy options (CASSANDRA-3081)
4174  * LeveledCompactionStrategy (CASSANDRA-1608, 3085, 3110, 3087, 3145, 3154, 3182)
4175  * Improvements of the CLI `describe` command (CASSANDRA-2630)
4176  * reduce window where dropped CF sstables may not be deleted (CASSANDRA-2942)
4177  * Expose gossip/FD info to JMX (CASSANDRA-2806)
4178  * Fix streaming over SSL when compressed SSTable involved (CASSANDRA-3051)
4179  * Add support for pluggable secondary index implementations (CASSANDRA-3078)
4180  * remove compaction_thread_priority setting (CASSANDRA-3104)
4181  * generate hints for replicas that timeout, not just replicas that are known
4182    to be down before starting (CASSANDRA-2034)
4183  * Add throttling for internode streaming (CASSANDRA-3080)
4184  * make the repair of a range repair all replica (CASSANDRA-2610, 3194)
4185  * expose the ability to repair the first range (as returned by the
4186    partitioner) of a node (CASSANDRA-2606)
4187  * Streams Compression (CASSANDRA-3015)
4188  * add ability to use multiple threads during a single compaction
4189    (CASSANDRA-2901)
4190  * make AbstractBounds.normalize support overlapping ranges (CASSANDRA-2641)
4191  * fix of the CQL count() behavior (CASSANDRA-3068)
4192  * use TreeMap backed column families for the SSTable simple writers
4193    (CASSANDRA-3148)
4194  * fix inconsistency of the CLI syntax when {} should be used instead of [{}]
4195    (CASSANDRA-3119)
4196  * rename CQL type names to match expected SQL behavior (CASSANDRA-3149, 3031)
4197  * Arena-based allocation for memtables (CASSANDRA-2252, 3162, 3163, 3168)
4198  * Default RR chance to 0.1 (CASSANDRA-3169)
4199  * Add RowLevel support to secondary index API (CASSANDRA-3147)
4200  * Make SerializingCacheProvider the default if JNA is available (CASSANDRA-3183)
4201  * Fix backwards compatibilty for CQL memtable properties (CASSANDRA-3190)
4202  * Add five-minute delay before starting compactions on a restarted server
4203    (CASSANDRA-3181)
4204  * Reduce copies done for intra-host messages (CASSANDRA-1788, 3144)
4205  * support of compaction strategy option for stress.java (CASSANDRA-3204)
4206  * make memtable throughput and column count thresholds no-ops (CASSANDRA-2449)
4207  * Return schema information along with the resultSet in CQL (CASSANDRA-2734)
4208  * Add new DecimalType (CASSANDRA-2883)
4209  * Fix assertion error in RowRepairResolver (CASSANDRA-3156)
4210  * Reduce unnecessary high buffer sizes (CASSANDRA-3171)
4211  * Pluggable compaction strategy (CASSANDRA-1610)
4212  * Add new broadcast_address config option (CASSANDRA-2491)
4213
4214
4215 0.8.7
4216  * Kill server on wrapped OOME such as from FileChannel.map (CASSANDRA-3201)
4217  * Allow using quotes in "USE <keyspace>;" CLI command (CASSANDRA-3208)
4218  * Log message when a full repair operation completes (CASSANDRA-3207)
4219  * Don't allow any cache loading exceptions to halt startup (CASSANDRA-3218)
4220  * Fix sstableloader --ignores option (CASSANDRA-3247)
4221  * File descriptor limit increased in packaging (CASSANDRA-3206)
4222  * Log a meaningfull warning when a node receive a message for a repair session
4223    that doesn't exist anymore (CASSANDRA-3256)
4224  * Fix FD leak when internode encryption is enabled (CASSANDRA-3257)
4225  * FBUtilities.hexToBytes(String) to throw NumberFormatException when string
4226    contains non-hex characters (CASSANDRA-3231)
4227  * Keep SimpleSnitch proximity ordering unchanged from what the Strategy
4228    generates, as intended (CASSANDRA-3262)
4229  * remove Scrub from compactionstats when finished (CASSANDRA-3255)
4230  * Fix tool .bat files when CASSANDRA_HOME contains spaces (CASSANDRA-3258)
4231  * Force flush of status table when removing/updating token (CASSANDRA-3243)
4232  * Evict gossip state immediately when a token is taken over by a new IP (CASSANDRA-3259)
4233  * Fix bug where the failure detector can take too long to mark a host
4234    down (CASSANDRA-3273)
4235  * (Hadoop) allow wrapping ranges in queries (CASSANDRA-3137)
4236  * (Hadoop) check all interfaces for a match with split location
4237    before falling back to random replica (CASSANDRA-3211)
4238  * (Hadoop) Make Pig storage handle implements LoadMetadata (CASSANDRA-2777)
4239  * (Hadoop) Fix exception during PIG 'dump' (CASSANDRA-2810)
4240  * Fix stress COUNTER_GET option (CASSANDRA-3301)
4241  * Fix missing fields in CLI `show schema` output (CASSANDRA-3304)
4242  * Nodetool no longer leaks threads and closes JMX connections (CASSANDRA-3309)
4243  * fix truncate allowing data to be replayed post-restart (CASSANDRA-3297)
4244  * Move SimpleAuthority and SimpleAuthenticator to examples (CASSANDRA-2922)
4245  * Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
4246  * Fix transposition in cfHistograms (CASSANDRA-3222)
4247  * Allow using number as DC name when creating keyspace in CQL (CASSANDRA-3239)
4248  * Force flush of system table after updating/removing a token (CASSANDRA-3243)
4249
4250
4251 0.8.6
4252  * revert CASSANDRA-2388
4253  * change TokenRange.endpoints back to listen/broadcast address to match
4254    pre-1777 behavior, and add TokenRange.rpc_endpoints instead (CASSANDRA-3187)
4255  * avoid trying to watch cassandra-topology.properties when loaded from jar
4256    (CASSANDRA-3138)
4257  * prevent users from creating keyspaces with LocalStrategy replication
4258    (CASSANDRA-3139)
4259  * fix CLI `show schema;` to output correct keyspace definition statement
4260    (CASSANDRA-3129)
4261  * CustomTThreadPoolServer to log TTransportException at DEBUG level
4262    (CASSANDRA-3142)
4263  * allow topology sort to work with non-unique rack names between
4264    datacenters (CASSANDRA-3152)
4265  * Improve caching of same-version Messages on digest and repair paths
4266    (CASSANDRA-3158)
4267  * Randomize choice of first replica for counter increment (CASSANDRA-2890)
4268  * Fix using read_repair_chance instead of merge_shard_change (CASSANDRA-3202)
4269  * Avoid streaming data to nodes that already have it, on move as well as
4270    decommission (CASSANDRA-3041)
4271  * Fix divide by zero error in GCInspector (CASSANDRA-3164)
4272  * allow quoting of the ColumnFamily name in CLI `create column family`
4273    statement (CASSANDRA-3195)
4274  * Fix rolling upgrade from 0.7 to 0.8 problem (CASSANDRA-3166)
4275  * Accomodate missing encryption_options in IncomingTcpConnection.stream
4276    (CASSANDRA-3212)
4277
4278
4279 0.8.5
4280  * fix NPE when encryption_options is unspecified (CASSANDRA-3007)
4281  * include column name in validation failure exceptions (CASSANDRA-2849)
4282  * make sure truncate clears out the commitlog so replay won't re-
4283    populate with truncated data (CASSANDRA-2950)
4284  * fix NPE when debug logging is enabled and dropped CF is present
4285    in a commitlog segment (CASSANDRA-3021)
4286  * fix cassandra.bat when CASSANDRA_HOME contains spaces (CASSANDRA-2952)
4287  * fix to SSTableSimpleUnsortedWriter bufferSize calculation (CASSANDRA-3027)
4288  * make cleanup and normal compaction able to skip empty rows
4289    (rows containing nothing but expired tombstones) (CASSANDRA-3039)
4290  * work around native memory leak in com.sun.management.GarbageCollectorMXBean
4291    (CASSANDRA-2868)
4292  * validate that column names in column_metadata are not equal to key_alias
4293    on create/update of the ColumnFamily and CQL 'ALTER' statement (CASSANDRA-3036)
4294  * return an InvalidRequestException if an indexed column is assigned
4295    a value larger than 64KB (CASSANDRA-3057)
4296  * fix of numeric-only and string column names handling in CLI "drop index"
4297    (CASSANDRA-3054)
4298  * prune index scan resultset back to original request for lazy
4299    resultset expansion case (CASSANDRA-2964)
4300  * (Hadoop) fail jobs when Cassandra node has failed but TaskTracker
4301    has not (CASSANDRA-2388)
4302  * fix dynamic snitch ignoring nodes when read_repair_chance is zero
4303    (CASSANDRA-2662)
4304  * avoid retaining references to dropped CFS objects in
4305    CompactionManager.estimatedCompactions (CASSANDRA-2708)
4306  * expose rpc timeouts per host in MessagingServiceMBean (CASSANDRA-2941)
4307  * avoid including cwd in classpath for deb and rpm packages (CASSANDRA-2881)
4308  * remove gossip state when a new IP takes over a token (CASSANDRA-3071)
4309  * allow sstable2json to work on index sstable files (CASSANDRA-3059)
4310  * always hint counters (CASSANDRA-3099)
4311  * fix log4j initialization in EmbeddedCassandraService (CASSANDRA-2857)
4312  * remove gossip state when a new IP takes over a token (CASSANDRA-3071)
4313  * work around native memory leak in com.sun.management.GarbageCollectorMXBean
4314     (CASSANDRA-2868)
4315  * fix UnavailableException with writes at CL.EACH_QUORM (CASSANDRA-3084)
4316  * fix parsing of the Keyspace and ColumnFamily names in numeric
4317    and string representations in CLI (CASSANDRA-3075)
4318  * fix corner cases in Range.differenceToFetch (CASSANDRA-3084)
4319  * fix ip address String representation in the ring cache (CASSANDRA-3044)
4320  * fix ring cache compatibility when mixing pre-0.8.4 nodes with post-
4321    in the same cluster (CASSANDRA-3023)
4322  * make repair report failure when a node participating dies (instead of
4323    hanging forever) (CASSANDRA-2433)
4324  * fix handling of the empty byte buffer by ReversedType (CASSANDRA-3111)
4325  * Add validation that Keyspace names are case-insensitively unique (CASSANDRA-3066)
4326  * catch invalid key_validation_class before instantiating UpdateColumnFamily (CASSANDRA-3102)
4327  * make Range and Bounds objects client-safe (CASSANDRA-3108)
4328  * optionally skip log4j configuration (CASSANDRA-3061)
4329  * bundle sstableloader with the debian package (CASSANDRA-3113)
4330  * don't try to build secondary indexes when there is none (CASSANDRA-3123)
4331  * improve SSTableSimpleUnsortedWriter speed for large rows (CASSANDRA-3122)
4332  * handle keyspace arguments correctly in nodetool snapshot (CASSANDRA-3038)
4333  * Fix SSTableImportTest on windows (CASSANDRA-3043)
4334  * expose compactionThroughputMbPerSec through JMX (CASSANDRA-3117)
4335  * log keyspace and CF of large rows being compacted
4336
4337
4338 0.8.4
4339  * change TokenRing.endpoints to be a list of rpc addresses instead of
4340    listen/broadcast addresses (CASSANDRA-1777)
4341  * include files-to-be-streamed in StreamInSession.getSources (CASSANDRA-2972)
4342  * use JAVA env var in cassandra-env.sh (CASSANDRA-2785, 2992)
4343  * avoid doing read for no-op replicate-on-write at CL=1 (CASSANDRA-2892)
4344  * refuse counter write for CL.ANY (CASSANDRA-2990)
4345  * switch back to only logging recent dropped messages (CASSANDRA-3004)
4346  * always deserialize RowMutation for counters (CASSANDRA-3006)
4347  * ignore saved replication_factor strategy_option for NTS (CASSANDRA-3011)
4348  * make sure pre-truncate CL segments are discarded (CASSANDRA-2950)
4349
4350
4351 0.8.3
4352  * add ability to drop local reads/writes that are going to timeout
4353    (CASSANDRA-2943)
4354  * revamp token removal process, keep gossip states for 3 days (CASSANDRA-2496)
4355  * don't accept extra args for 0-arg nodetool commands (CASSANDRA-2740)
4356  * log unavailableexception details at debug level (CASSANDRA-2856)
4357  * expose data_dir though jmx (CASSANDRA-2770)
4358  * don't include tmp files as sstable when create cfs (CASSANDRA-2929)
4359  * log Java classpath on startup (CASSANDRA-2895)
4360  * keep gossipped version in sync with actual on migration coordinator
4361    (CASSANDRA-2946)
4362  * use lazy initialization instead of class initialization in NodeId
4363    (CASSANDRA-2953)
4364  * check column family validity in nodetool repair (CASSANDRA-2933)
4365  * speedup bytes to hex conversions dramatically (CASSANDRA-2850)
4366  * Flush memtables on shutdown when durable writes are disabled
4367    (CASSANDRA-2958)
4368  * improved POSIX compatibility of start scripts (CASsANDRA-2965)
4369  * add counter support to Hadoop InputFormat (CASSANDRA-2981)
4370  * fix bug where dirty commitlog segments were removed (and avoid keeping
4371    segments with no post-flush activity permanently dirty) (CASSANDRA-2829)
4372  * fix throwing exception with batch mutation of counter super columns
4373    (CASSANDRA-2949)
4374  * ignore system tables during repair (CASSANDRA-2979)
4375  * throw exception when NTS is given replication_factor as an option
4376    (CASSANDRA-2960)
4377  * fix assertion error during compaction of counter CFs (CASSANDRA-2968)
4378  * avoid trying to create index names, when no index exists (CASSANDRA-2867)
4379  * don't sample the system table when choosing a bootstrap token
4380    (CASSANDRA-2825)
4381  * gossiper notifies of local state changes (CASSANDRA-2948)
4382  * add asynchronous and half-sync/half-async (hsha) thrift servers
4383    (CASSANDRA-1405)
4384  * fix potential use of free'd native memory in SerializingCache
4385    (CASSANDRA-2951)
4386  * prune index scan resultset back to original request for lazy
4387    resultset expansion case (CASSANDRA-2964)
4388  * (Hadoop) fail jobs when Cassandra node has failed but TaskTracker
4389     has not (CASSANDRA-2388)
4390
4391
4392 0.8.2
4393  * CQL:
4394    - include only one row per unique key for IN queries (CASSANDRA-2717)
4395    - respect client timestamp on full row deletions (CASSANDRA-2912)
4396  * improve thread-safety in StreamOutSession (CASSANDRA-2792)
4397  * allow deleting a row and updating indexed columns in it in the
4398    same mutation (CASSANDRA-2773)
4399  * Expose number of threads blocked on submitting memtable to flush
4400    in JMX (CASSANDRA-2817)
4401  * add ability to return "endpoints" to nodetool (CASSANDRA-2776)
4402  * Add support for multiple (comma-delimited) coordinator addresses
4403    to ColumnFamilyInputFormat (CASSANDRA-2807)
4404  * fix potential NPE while scheduling read repair for range slice
4405    (CASSANDRA-2823)
4406  * Fix race in SystemTable.getCurrentLocalNodeId (CASSANDRA-2824)
4407  * Correctly set default for replicate_on_write (CASSANDRA-2835)
4408  * improve nodetool compactionstats formatting (CASSANDRA-2844)
4409  * fix index-building status display (CASSANDRA-2853)
4410  * fix CLI perpetuating obsolete KsDef.replication_factor (CASSANDRA-2846)
4411  * improve cli treatment of multiline comments (CASSANDRA-2852)
4412  * handle row tombstones correctly in EchoedRow (CASSANDRA-2786)
4413  * add MessagingService.get[Recently]DroppedMessages and
4414    StorageService.getExceptionCount (CASSANDRA-2804)
4415  * fix possibility of spurious UnavailableException for LOCAL_QUORUM
4416    reads with dynamic snitch + read repair disabled (CASSANDRA-2870)
4417  * add ant-optional as dependence for the debian package (CASSANDRA-2164)
4418  * add option to specify limit for get_slice in the CLI (CASSANDRA-2646)
4419  * decrease HH page size (CASSANDRA-2832)
4420  * reset cli keyspace after dropping the current one (CASSANDRA-2763)
4421  * add KeyRange option to Hadoop inputformat (CASSANDRA-1125)
4422  * fix protocol versioning (CASSANDRA-2818, 2860)
4423  * support spaces in path to log4j configuration (CASSANDRA-2383)
4424  * avoid including inferred types in CF update (CASSANDRA-2809)
4425  * fix JMX bulkload call (CASSANDRA-2908)
4426  * fix updating KS with durable_writes=false (CASSANDRA-2907)
4427  * add simplified facade to SSTableWriter for bulk loading use
4428    (CASSANDRA-2911)
4429  * fix re-using index CF sstable names after drop/recreate (CASSANDRA-2872)
4430  * prepend CF to default index names (CASSANDRA-2903)
4431  * fix hint replay (CASSANDRA-2928)
4432  * Properly synchronize repair's merkle tree computation (CASSANDRA-2816)
4433
4434
4435 0.8.1
4436  * CQL:
4437    - support for insert, delete in BATCH (CASSANDRA-2537)
4438    - support for IN to SELECT, UPDATE (CASSANDRA-2553)
4439    - timestamp support for INSERT, UPDATE, and BATCH (CASSANDRA-2555)
4440    - TTL support (CASSANDRA-2476)
4441    - counter support (CASSANDRA-2473)
4442    - ALTER COLUMNFAMILY (CASSANDRA-1709)
4443    - DROP INDEX (CASSANDRA-2617)
4444    - add SCHEMA/TABLE as aliases for KS/CF (CASSANDRA-2743)
4445    - server handles wait-for-schema-agreement (CASSANDRA-2756)
4446    - key alias support (CASSANDRA-2480)
4447  * add support for comparator parameters and a generic ReverseType
4448    (CASSANDRA-2355)
4449  * add CompositeType and DynamicCompositeType (CASSANDRA-2231)
4450  * optimize batches containing multiple updates to the same row
4451    (CASSANDRA-2583)
4452  * adjust hinted handoff page size to avoid OOM with large columns
4453    (CASSANDRA-2652)
4454  * mark BRAF buffer invalid post-flush so we don't re-flush partial
4455    buffers again, especially on CL writes (CASSANDRA-2660)
4456  * add DROP INDEX support to CLI (CASSANDRA-2616)
4457  * don't perform HH to client-mode [storageproxy] nodes (CASSANDRA-2668)
4458  * Improve forceDeserialize/getCompactedRow encapsulation (CASSANDRA-2659)
4459  * Don't write CounterUpdateColumn to disk in tests (CASSANDRA-2650)
4460  * Add sstable bulk loading utility (CASSANDRA-1278)
4461  * avoid replaying hints to dropped columnfamilies (CASSANDRA-2685)
4462  * add placeholders for missing rows in range query pseudo-RR (CASSANDRA-2680)
4463  * remove no-op HHOM.renameHints (CASSANDRA-2693)
4464  * clone super columns to avoid modifying them during flush (CASSANDRA-2675)
4465  * allow writes to bypass the commitlog for certain keyspaces (CASSANDRA-2683)
4466  * avoid NPE when bypassing commitlog during memtable flush (CASSANDRA-2781)
4467  * Added support for making bootstrap retry if nodes flap (CASSANDRA-2644)
4468  * Added statusthrift to nodetool to report if thrift server is running (CASSANDRA-2722)
4469  * Fixed rows being cached if they do not exist (CASSANDRA-2723)
4470  * Support passing tableName and cfName to RowCacheProviders (CASSANDRA-2702)
4471  * close scrub file handles (CASSANDRA-2669)
4472  * throttle migration replay (CASSANDRA-2714)
4473  * optimize column serializer creation (CASSANDRA-2716)
4474  * Added support for making bootstrap retry if nodes flap (CASSANDRA-2644)
4475  * Added statusthrift to nodetool to report if thrift server is running
4476    (CASSANDRA-2722)
4477  * Fixed rows being cached if they do not exist (CASSANDRA-2723)
4478  * fix truncate/compaction race (CASSANDRA-2673)
4479  * workaround large resultsets causing large allocation retention
4480    by nio sockets (CASSANDRA-2654)
4481  * fix nodetool ring use with Ec2Snitch (CASSANDRA-2733)
4482  * fix removing columns and subcolumns that are supressed by a row or
4483    supercolumn tombstone during replica resolution (CASSANDRA-2590)
4484  * support sstable2json against snapshot sstables (CASSANDRA-2386)
4485  * remove active-pull schema requests (CASSANDRA-2715)
4486  * avoid marking entire list of sstables as actively being compacted
4487    in multithreaded compaction (CASSANDRA-2765)
4488  * seek back after deserializing a row to update cache with (CASSANDRA-2752)
4489  * avoid skipping rows in scrub for counter column family (CASSANDRA-2759)
4490  * fix ConcurrentModificationException in repair when dealing with 0.7 node
4491    (CASSANDRA-2767)
4492  * use threadsafe collections for StreamInSession (CASSANDRA-2766)
4493  * avoid infinite loop when creating merkle tree (CASSANDRA-2758)
4494  * avoids unmarking compacting sstable prematurely in cleanup (CASSANDRA-2769)
4495  * fix NPE when the commit log is bypassed (CASSANDRA-2718)
4496  * don't throw an exception in SS.isRPCServerRunning (CASSANDRA-2721)
4497  * make stress.jar executable (CASSANDRA-2744)
4498  * add daemon mode to java stress (CASSANDRA-2267)
4499  * expose the DC and rack of a node through JMX and nodetool ring (CASSANDRA-2531)
4500  * fix cache mbean getSize (CASSANDRA-2781)