forked from apache/cassandra
/
CHANGES.txt
136 lines (117 loc) · 5.83 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
0.4-dev
* avoid flushing empty binarymemtable (CASSANDRA-532)
* explicitly close bloom filter, index filehandles (CASSANDRA-533)
0.4.2
* Add validation disallowing null keys (CASSANDRA-486)
* Fix race conditions in TCPConnectionManager (CASSANDRA-487)
* Fix using non-utf8-aware comparison as a sanity check.
(CASSANDRA-493)
* Improve default garbage collector options (CASSANDRA-504)
* Add "nodeprobe flush" (CASSANDRA-505)
* remove NotFoundException from get_slice throws list (CASSANDRA-518)
* fix get (not get_slice) of entire supercolumn (CASSANDRA-508)
* fix null token during bootstrap (CASSANDRA-501)
0.4.1
* Fix FlushPeriod columnfamily configuration regression
(CASSANDRA-455)
* Fix long column name support (CASSANDRA-460)
* Fix for serializing a row that only contains tombstones
(CASSANDRA-458)
* Fix for discarding unneeded commitlog segments (CASSANDRA-459)
* Add SnapshotBeforeCompaction configuration option (CASSANDRA-426)
* Fix compaction abort under insufficient disk space (CASSANDRA-473)
* Fix reading subcolumn slice from tombstoned CF (CASSANDRA-484)
* Fix race condition in RVH causing occasional NPE (CASSANDRA-478)
0.4.0
* fix get_key_range problems when a node is down (CASSANDRA-440)
and add UnavailableException to more Thrift methods
* Add example EndPointSnitch contrib code (several tickets)
0.4.0 RC2
* fix SSTable generation clash during compaction (CASSANDRA-418)
* reject method calls with null parameters (CASSANDRA-308)
* properly order ranges in nodeprobe output (CASSANDRA-421)
* fix logging of certain errors on executor threads (CASSANDRA-425)
0.4.0 RC1
* Bootstrap feature is live; use -b on startup (several tickets)
* Added multiget api (CASSANDRA-70)
* fix Deadlock with SelectorManager.doProcess and TcpConnection.write
(CASSANDRA-392)
* remove key cache b/c of concurrency bugs in third-party
CLHM library (CASSANDRA-405)
* update non-major compaction logic to use two threshold values
(CASSANDRA-407)
* add periodic / batch commitlog sync modes (several tickets)
* inline BatchMutation into batch_insert params (CASSANDRA-403)
* allow setting the logging level at runtime via mbean (CASSANDRA-402)
* change default comparator to BytesType (CASSANDRA-400)
* add forwards-compatible ConsistencyLevel parameter to get_key_range
(CASSANDRA-322)
* r/m special case of blocking for local destination when writing with
ConsistencyLevel.ZERO (CASSANDRA-399)
* Fixes to make BinaryMemtable [bulk load interface] useful (CASSANDRA-337);
see contrib/bmt_example for an example of using it.
* More JMX properties added (several tickets)
* Thrift changes (several tickets)
- Merged _super get methods with the normal ones; return values
are now of ColumnOrSuperColumn.
- Similarly, merged batch_insert_super into batch_insert.
0.4.0 beta
* On-disk data format has changed to allow billions of keys/rows per
node instead of only millions
* Multi-keyspace support
* Scan all sstables for all queries to avoid situations where
different types of operation on the same ColumnFamily could
disagree on what data was present
* Snapshot support via JMX
* Thrift API has changed a _lot_:
- removed time-sorted CFs; instead, user-defined comparators
may be defined on the column names, which are now byte arrays.
Default comparators are provided for UTF8, Bytes, Ascii, Long (i64),
and UUID types.
- removed colon-delimited strings in thrift api in favor of explicit
structs such as ColumnPath, ColumnParent, etc. Also normalized
thrift struct and argument naming.
- Added columnFamily argument to get_key_range.
- Change signature of get_slice to accept starting and ending
columns as well as an offset. (This allows use of indexes.)
Added "ascending" flag to allow reasonably-efficient reverse
scans as well. Removed get_slice_by_range as redundant.
- get_key_range operates on one CF at a time
- changed `block` boolean on insert methods to ConsistencyLevel enum,
with options of NONE, ONE, QUORUM, and ALL.
- added similar consistency_level parameter to read methods
- column-name-set slice with no names given now returns zero columns
instead of all of them. ("all" can run your server out of memory.
use a range-based slice with a high max column count instead.)
* Removed the web interface. Node information can now be obtained by
using the newly introduced nodeprobe utility.
* More JMX stats
* Remove magic values from internals (e.g. special key to indicate
when to flush memtables)
* Rename configuration "table" to "keyspace"
* Moved to crash-only design; no more shutdown (just kill the process)
* Lots of bug fixes
Full list of issues resolved in 0.4 is at https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&&pid=12310865&fixfor=12313862&resolution=1&sorter/field=issuekey&sorter/order=DESC
0.3.0 RC3
* Fix potential deadlock under load in TCPConnection.
(CASSANDRA-220)
0.3.0 RC2
* Fix possible data loss when server is stopped after replaying
log but before new inserts force memtable flush.
(CASSANDRA-204)
* Added BUGS file
0.3.0 RC1
* Range queries on keys, including user-defined key collation
* Remove support
* Workarounds for a weird bug in JDK select/register that seems
particularly common on VM environments. Cassandra should deploy
fine on EC2 now
* Much improved infrastructure: the beginnings of a decent test suite
("ant test" for unit tests; "nosetests" for system tests), code
coverage reporting, etc.
* Expanded node status reporting via JMX
* Improved error reporting/logging on both server and client
* Reduced memory footprint in default configuration
* Combined blocking and non-blocking versions of insert APIs
* Added FlushPeriodInMinutes configuration parameter to force
flushing of infrequently-updated ColumnFamilies