Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: trunk
4827 lines (4590 sloc) 272.275 kB
3.2
* Add transparent data encryption core classes (CASSANDRA-9945)
3.0.0-beta2
* Fix columns returned by AbstractBtreePartitions (CASSANDRA-10220)
* Fix backward compatibility issue due to AbstractBounds serialization bug (CASSANDRA-9857)
* Fix startup error when upgrading nodes (CASSANDRA-10136)
* Base table PRIMARY KEY can be assumed to be NOT NULL in MV creation (CASSANDRA-10147)
* Improve batchlog write patch (CASSANDRA-9673)
* Re-apply MaterializedView updates on commitlog replay (CASSANDRA-10164)
* Require AbstractType.isByteOrderComparable declaration in constructor (CASSANDRA-9901)
* Avoid digest mismatch on upgrade to 3.0 (CASSANDRA-9554)
* Fix Materialized View builder when adding multiple MVs (CASSANDRA-10156)
* Choose better poolingOptions for protocol v4 in cassandra-stress (CASSANDRA-10182)
* Fix LWW bug affecting Materialized Views (CASSANDRA-10197)
* Ensures frozen sets and maps are always sorted (CASSANDRA-10162)
* Don't deadlock when flushing CFS backed custom indexes (CASSANDRA-10181)
* Fix double flushing of secondary index tables (CASSANDRA-10180)
* Fix incorrect handling of range tombstones in thrift (CASSANDRA-10046)
* Only use batchlog when paired materialized view replica is remote (CASSANDRA-10061)
* Reuse TemporalRow when updating multiple MaterializedViews (CASSANDRA-10060)
* Validate gc_grace_seconds for batchlog writes and MVs (CASSANDRA-9917)
* Fix sstablerepairedset (CASSANDRA-10132)
Merged from 2.2:
* Retry snapshot deletion after compaction and gc on Windows (CASSANDRA-10222)
* Fix failure to start with space in directory path on Windows (CASSANDRA-10239)
* Fix repair hang when snapshot failed (CASSANDRA-10057)
* Fall back to 1/4 commitlog volume for commitlog_total_space on small disks
(CASSANDRA-10199)
Merged from 2.1:
* Fix handling of streaming EOF (CASSANDRA-10206)
* Only check KeyCache when it is enabled
* Change streaming_socket_timeout_in_ms default to 1 hour (CASSANDRA-8611)
* (cqlsh) update list of CQL keywords (CASSANDRA-9232)
* Add nodetool gettraceprobability command (CASSANDRA-10234)
Merged from 2.0:
* Disallow decommission when node is in drained state (CASSANDRA-8741)
2.2.1
* Fix race during construction of commit log (CASSANDRA-10049)
* Fix LeveledCompactionStrategyTest (CASSANDRA-9757)
* Fix broken UnbufferedDataOutputStreamPlus.writeUTF (CASSANDRA-10203)
* (cqlsh) default load-from-file encoding to utf-8 (CASSANDRA-9898)
* Avoid returning Permission.NONE when failing to query users table (CASSANDRA-10168)
* (cqlsh) add CLEAR command (CASSANDRA-10086)
* Support string literals as Role names for compatibility (CASSANDRA-10135)
Merged from 2.1:
* Only check KeyCache when it is enabled
* Change streaming_socket_timeout_in_ms default to 1 hour (CASSANDRA-8611)
* (cqlsh) update list of CQL keywords (CASSANDRA-9232)
3.0.0-beta1
* Redesign secondary index API (CASSANDRA-9459, 7771, 9041)
* Fix throwing ReadFailure instead of ReadTimeout on range queries (CASSANDRA-10125)
* Rewrite hinted handoff (CASSANDRA-6230)
* Fix query on static compact tables (CASSANDRA-10093)
* Fix race during construction of commit log (CASSANDRA-10049)
* Add option to only purge repaired tombstones (CASSANDRA-6434)
* Change authorization handling for MVs (CASSANDRA-9927)
* Add custom JMX enabled executor for UDF sandbox (CASSANDRA-10026)
* Fix row deletion bug for Materialized Views (CASSANDRA-10014)
* Support mixed-version clusters with Cassandra 2.1 and 2.2 (CASSANDRA-9704)
* Fix multiple slices on RowSearchers (CASSANDRA-10002)
* Fix bug in merging of collections (CASSANDRA-10001)
* Optimize batchlog replay to avoid full scans (CASSANDRA-7237)
* Repair improvements when using vnodes (CASSANDRA-5220)
* Disable scripted UDFs by default (CASSANDRA-9889)
* Bytecode inspection for Java-UDFs (CASSANDRA-9890)
* Use byte to serialize MT hash length (CASSANDRA-9792)
* Replace usage of Adler32 with CRC32 (CASSANDRA-8684)
* Fix migration to new format from 2.1 SSTable (CASSANDRA-10006)
* SequentialWriter should extend BufferedDataOutputStreamPlus (CASSANDRA-9500)
* Use the same repairedAt timestamp within incremental repair session (CASSANDRA-9111)
Merged from 2.2:
* Allow count(*) and count(1) to be use as normal aggregation (CASSANDRA-10114)
* An NPE is thrown if the column name is unknown for an IN relation (CASSANDRA-10043)
* Apply commit_failure_policy to more errors on startup (CASSANDRA-9749)
* Fix histogram overflow exception (CASSANDRA-9973)
* Route gossip messages over dedicated socket (CASSANDRA-9237)
* Add checksum to saved cache files (CASSANDRA-9265)
* Log warning when using an aggregate without partition key (CASSANDRA-9737)
Merged from 2.1:
* (cqlsh) Allow encoding to be set through command line (CASSANDRA-10004)
* Add new JMX methods to change local compaction strategy (CASSANDRA-9965)
* Write hints for paxos commits (CASSANDRA-7342)
* (cqlsh) Fix timestamps before 1970 on Windows, always
use UTC for timestamp display (CASSANDRA-10000)
* (cqlsh) Avoid overwriting new config file with old config
when both exist (CASSANDRA-9777)
* Release snapshot selfRef when doing snapshot repair (CASSANDRA-9998)
* Cannot replace token does not exist - DN node removed as Fat Client (CASSANDRA-9871)
Merged from 2.0:
* Don't cast expected bf size to an int (CASSANDRA-9959)
* Make getFullyExpiredSSTables less expensive (CASSANDRA-9882)
3.0.0-alpha1
* Implement proper sandboxing for UDFs (CASSANDRA-9402)
* Simplify (and unify) cleanup of compaction leftovers (CASSANDRA-7066)
* Allow extra schema definitions in cassandra-stress yaml (CASSANDRA-9850)
* Metrics should use up to date nomenclature (CASSANDRA-9448)
* Change CREATE/ALTER TABLE syntax for compression (CASSANDRA-8384)
* Cleanup crc and adler code for java 8 (CASSANDRA-9650)
* Storage engine refactor (CASSANDRA-8099, 9743, 9746, 9759, 9781, 9808, 9825,
9848, 9705, 9859, 9867, 9874, 9828, 9801)
* Update Guava to 18.0 (CASSANDRA-9653)
* Bloom filter false positive ratio is not honoured (CASSANDRA-8413)
* New option for cassandra-stress to leave a ratio of columns null (CASSANDRA-9522)
* Change hinted_handoff_enabled yaml setting, JMX (CASSANDRA-9035)
* Add algorithmic token allocation (CASSANDRA-7032)
* Add nodetool command to replay batchlog (CASSANDRA-9547)
* Make file buffer cache independent of paths being read (CASSANDRA-8897)
* Remove deprecated legacy Hadoop code (CASSANDRA-9353)
* Decommissioned nodes will not rejoin the cluster (CASSANDRA-8801)
* Change gossip stabilization to use endpoit size (CASSANDRA-9401)
* Change default garbage collector to G1 (CASSANDRA-7486)
* Populate TokenMetadata early during startup (CASSANDRA-9317)
* Undeprecate cache recentHitRate (CASSANDRA-6591)
* Add support for selectively varint encoding fields (CASSANDRA-9499, 9865)
* Materialized Views (CASSANDRA-6477)
Merged from 2.2:
* Avoid grouping sstables for anticompaction with DTCS (CASSANDRA-9900)
* UDF / UDA execution time in trace (CASSANDRA-9723)
* Fix broken internode SSL (CASSANDRA-9884)
Merged from 2.1:
* Add new JMX methods to change local compaction strategy (CASSANDRA-9965)
* Fix handling of enable/disable autocompaction (CASSANDRA-9899)
* Add consistency level to tracing ouput (CASSANDRA-9827)
* Remove repair snapshot leftover on startup (CASSANDRA-7357)
* Use random nodes for batch log when only 2 racks (CASSANDRA-8735)
* Ensure atomicity inside thrift and stream session (CASSANDRA-7757)
* Fix nodetool info error when the node is not joined (CASSANDRA-9031)
Merged from 2.0:
* Log when messages are dropped due to cross_node_timeout (CASSANDRA-9793)
* Don't track hotness when opening from snapshot for validation (CASSANDRA-9382)
2.2.0
* Allow the selection of columns together with aggregates (CASSANDRA-9767)
* Fix cqlsh copy methods and other windows specific issues (CASSANDRA-9795)
* Don't wrap byte arrays in SequentialWriter (CASSANDRA-9797)
* sum() and avg() functions missing for smallint and tinyint types (CASSANDRA-9671)
* Revert CASSANDRA-9542 (allow native functions in UDA) (CASSANDRA-9771)
Merged from 2.1:
* Fix MarshalException when upgrading superColumn family (CASSANDRA-9582)
* Fix broken logging for "empty" flushes in Memtable (CASSANDRA-9837)
* Handle corrupt files on startup (CASSANDRA-9686)
* Fix clientutil jar and tests (CASSANDRA-9760)
* (cqlsh) Allow the SSL protocol version to be specified through the
config file or environment variables (CASSANDRA-9544)
Merged from 2.0:
* Add tool to find why expired sstables are not getting dropped (CASSANDRA-10015)
* Remove erroneous pending HH tasks from tpstats/jmx (CASSANDRA-9129)
* Don't cast expected bf size to an int (CASSANDRA-9959)
* checkForEndpointCollision fails for legitimate collisions (CASSANDRA-9765)
* Complete CASSANDRA-8448 fix (CASSANDRA-9519)
* Don't include auth credentials in debug log (CASSANDRA-9682)
* Can't transition from write survey to normal mode (CASSANDRA-9740)
* Scrub (recover) sstables even when -Index.db is missing (CASSANDRA-9591)
* Fix growing pending background compaction (CASSANDRA-9662)
2.2.0-rc2
* Re-enable memory-mapped I/O on Windows (CASSANDRA-9658)
* Warn when an extra-large partition is compacted (CASSANDRA-9643)
* (cqlsh) Allow setting the initial connection timeout (CASSANDRA-9601)
* BulkLoader has --transport-factory option but does not use it (CASSANDRA-9675)
* Allow JMX over SSL directly from nodetool (CASSANDRA-9090)
* Update cqlsh for UDFs (CASSANDRA-7556)
* Change Windows kernel default timer resolution (CASSANDRA-9634)
* Deprected sstable2json and json2sstable (CASSANDRA-9618)
* Allow native functions in user-defined aggregates (CASSANDRA-9542)
* Don't repair system_distributed by default (CASSANDRA-9621)
* Fix mixing min, max, and count aggregates for blob type (CASSANRA-9622)
* Rename class for DATE type in Java driver (CASSANDRA-9563)
* Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
* Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
* Mlockall before opening system sstables & remove boot_without_jna option (CASSANDRA-9573)
* Add functions to convert timeuuid to date or time, deprecate dateOf and unixTimestampOf (CASSANDRA-9229)
* Make sure we cancel non-compacting sstables from LifecycleTransaction (CASSANDRA-9566)
* Fix deprecated repair JMX API (CASSANDRA-9570)
* Add logback metrics (CASSANDRA-9378)
* Update and refactor ant test/test-compression to run the tests in parallel (CASSANDRA-9583)
* Fix upgrading to new directory for secondary index (CASSANDRA-9687)
Merged from 2.1:
* (cqlsh) Fix bad check for CQL compatibility when DESCRIBE'ing
COMPACT STORAGE tables with no clustering columns
* Eliminate strong self-reference chains in sstable ref tidiers (CASSANDRA-9656)
* Ensure StreamSession uses canonical sstable reader instances (CASSANDRA-9700)
* Ensure memtable book keeping is not corrupted in the event we shrink usage (CASSANDRA-9681)
* Update internal python driver for cqlsh (CASSANDRA-9064)
* Fix IndexOutOfBoundsException when inserting tuple with too many
elements using the string literal notation (CASSANDRA-9559)
* Enable describe on indices (CASSANDRA-7814)
* Fix incorrect result for IN queries where column not found (CASSANDRA-9540)
* ColumnFamilyStore.selectAndReference may block during compaction (CASSANDRA-9637)
* Fix bug in cardinality check when compacting (CASSANDRA-9580)
* Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour (CASSANDRA-9549)
* Make rebuild only run one at a time (CASSANDRA-9119)
Merged from 2.0:
* Avoid NPE in AuthSuccess#decode (CASSANDRA-9727)
* Add listen_address to system.local (CASSANDRA-9603)
* Bug fixes to resultset metadata construction (CASSANDRA-9636)
* Fix setting 'durable_writes' in ALTER KEYSPACE (CASSANDRA-9560)
* Avoids ballot clash in Paxos (CASSANDRA-9649)
* Improve trace messages for RR (CASSANDRA-9479)
* Fix suboptimal secondary index selection when restricted
clustering column is also indexed (CASSANDRA-9631)
* (cqlsh) Add min_threshold to DTCS option autocomplete (CASSANDRA-9385)
* Fix error message when attempting to create an index on a column
in a COMPACT STORAGE table with clustering columns (CASSANDRA-9527)
* 'WITH WITH' in alter keyspace statements causes NPE (CASSANDRA-9565)
* Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
* ArrivalWindow should use primitives (CASSANDRA-9496)
* Periodically submit background compaction tasks (CASSANDRA-9592)
* Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)
2.2.0-rc1
* Compressed commit log should measure compressed space used (CASSANDRA-9095)
* Fix comparison bug in CassandraRoleManager#collectRoles (CASSANDRA-9551)
* Add tinyint,smallint,time,date support for UDFs (CASSANDRA-9400)
* Deprecates SSTableSimpleWriter and SSTableSimpleUnsortedWriter (CASSANDRA-9546)
* Empty INITCOND treated as null in aggregate (CASSANDRA-9457)
* Remove use of Cell in Thrift MapReduce classes (CASSANDRA-8609)
* Integrate pre-release Java Driver 2.2-rc1, custom build (CASSANDRA-9493)
* Clean up gossiper logic for old versions (CASSANDRA-9370)
* Fix custom payload coding/decoding to match the spec (CASSANDRA-9515)
* ant test-all results incomplete when parsed (CASSANDRA-9463)
* Disallow frozen<> types in function arguments and return types for
clarity (CASSANDRA-9411)
* Static Analysis to warn on unsafe use of Autocloseable instances (CASSANDRA-9431)
* Update commitlog archiving examples now that commitlog segments are
not recycled (CASSANDRA-9350)
* Extend Transactional API to sstable lifecycle management (CASSANDRA-8568)
* (cqlsh) Add support for native protocol 4 (CASSANDRA-9399)
* Ensure that UDF and UDAs are keyspace-isolated (CASSANDRA-9409)
* Revert CASSANDRA-7807 (tracing completion client notifications) (CASSANDRA-9429)
* Add ability to stop compaction by ID (CASSANDRA-7207)
* Let CassandraVersion handle SNAPSHOT version (CASSANDRA-9438)
Merged from 2.1:
* (cqlsh) Fix using COPY through SOURCE or -f (CASSANDRA-9083)
* Fix occasional lack of `system` keyspace in schema tables (CASSANDRA-8487)
* Use ProtocolError code instead of ServerError code for native protocol
error responses to unsupported protocol versions (CASSANDRA-9451)
* Default commitlog_sync_batch_window_in_ms changed to 2ms (CASSANDRA-9504)
* Fix empty partition assertion in unsorted sstable writing tools (CASSANDRA-9071)
* Ensure truncate without snapshot cannot produce corrupt responses (CASSANDRA-9388)
* Consistent error message when a table mixes counter and non-counter
columns (CASSANDRA-9492)
* Avoid getting unreadable keys during anticompaction (CASSANDRA-9508)
* (cqlsh) Better float precision by default (CASSANDRA-9224)
* Improve estimated row count (CASSANDRA-9107)
* Optimize range tombstone memory footprint (CASSANDRA-8603)
* Use configured gcgs in anticompaction (CASSANDRA-9397)
Merged from 2.0:
* Don't accumulate more range than necessary in RangeTombstone.Tracker (CASSANDRA-9486)
* Add broadcast and rpc addresses to system.local (CASSANDRA-9436)
* Always mark sstable suspect when corrupted (CASSANDRA-9478)
* Add database users and permissions to CQL3 documentation (CASSANDRA-7558)
* Allow JVM_OPTS to be passed to standalone tools (CASSANDRA-5969)
* Fix bad condition in RangeTombstoneList (CASSANDRA-9485)
* Fix potential StackOverflow when setting CrcCheckChance over JMX (CASSANDRA-9488)
* Fix null static columns in pages after the first, paged reversed
queries (CASSANDRA-8502)
* Fix counting cache serialization in request metrics (CASSANDRA-9466)
* Add option not to validate atoms during scrub (CASSANDRA-9406)
2.2.0-beta1
* Introduce Transactional API for internal state changes (CASSANDRA-8984)
* Add a flag in cassandra.yaml to enable UDFs (CASSANDRA-9404)
* Better support of null for UDF (CASSANDRA-8374)
* Use ecj instead of javassist for UDFs (CASSANDRA-8241)
* faster async logback configuration for tests (CASSANDRA-9376)
* Add `smallint` and `tinyint` data types (CASSANDRA-8951)
* Avoid thrift schema creation when native driver is used in stress tool (CASSANDRA-9374)
* Make Functions.declared thread-safe
* Add client warnings to native protocol v4 (CASSANDRA-8930)
* Allow roles cache to be invalidated (CASSANDRA-8967)
* Upgrade Snappy (CASSANDRA-9063)
* Don't start Thrift rpc by default (CASSANDRA-9319)
* Only stream from unrepaired sstables with incremental repair (CASSANDRA-8267)
* Aggregate UDFs allow SFUNC return type to differ from STYPE if FFUNC specified (CASSANDRA-9321)
* Remove Thrift dependencies in bundled tools (CASSANDRA-8358)
* Disable memory mapping of hsperfdata file for JVM statistics (CASSANDRA-9242)
* Add pre-startup checks to detect potential incompatibilities (CASSANDRA-8049)
* Distinguish between null and unset in protocol v4 (CASSANDRA-7304)
* Add user/role permissions for user-defined functions (CASSANDRA-7557)
* Allow cassandra config to be updated to restart daemon without unloading classes (CASSANDRA-9046)
* Don't initialize compaction writer before checking if iter is empty (CASSANDRA-9117)
* Don't execute any functions at prepare-time (CASSANDRA-9037)
* Share file handles between all instances of a SegmentedFile (CASSANDRA-8893)
* Make it possible to major compact LCS (CASSANDRA-7272)
* Make FunctionExecutionException extend RequestExecutionException
(CASSANDRA-9055)
* Add support for SELECT JSON, INSERT JSON syntax and new toJson(), fromJson()
functions (CASSANDRA-7970)
* Optimise max purgeable timestamp calculation in compaction (CASSANDRA-8920)
* Constrain internode message buffer sizes, and improve IO class hierarchy (CASSANDRA-8670)
* New tool added to validate all sstables in a node (CASSANDRA-5791)
* Push notification when tracing completes for an operation (CASSANDRA-7807)
* Delay "node up" and "node added" notifications until native protocol server is started (CASSANDRA-8236)
* Compressed Commit Log (CASSANDRA-6809)
* Optimise IntervalTree (CASSANDRA-8988)
* Add a key-value payload for third party usage (CASSANDRA-8553, 9212)
* Bump metrics-reporter-config dependency for metrics 3.0 (CASSANDRA-8149)
* Partition intra-cluster message streams by size, not type (CASSANDRA-8789)
* Add WriteFailureException to native protocol, notify coordinator of
write failures (CASSANDRA-8592)
* Convert SequentialWriter to nio (CASSANDRA-8709)
* Add role based access control (CASSANDRA-7653, 8650, 7216, 8760, 8849, 8761, 8850)
* Record client ip address in tracing sessions (CASSANDRA-8162)
* Indicate partition key columns in response metadata for prepared
statements (CASSANDRA-7660)
* Merge UUIDType and TimeUUIDType parse logic (CASSANDRA-8759)
* Avoid memory allocation when searching index summary (CASSANDRA-8793)
* Optimise (Time)?UUIDType Comparisons (CASSANDRA-8730)
* Make CRC32Ex into a separate maven dependency (CASSANDRA-8836)
* Use preloaded jemalloc w/ Unsafe (CASSANDRA-8714, 9197)
* Avoid accessing partitioner through StorageProxy (CASSANDRA-8244, 8268)
* Upgrade Metrics library and remove depricated metrics (CASSANDRA-5657)
* Serializing Row cache alternative, fully off heap (CASSANDRA-7438)
* Duplicate rows returned when in clause has repeated values (CASSANDRA-6707)
* Make CassandraException unchecked, extend RuntimeException (CASSANDRA-8560)
* Support direct buffer decompression for reads (CASSANDRA-8464)
* DirectByteBuffer compatible LZ4 methods (CASSANDRA-7039)
* Group sstables for anticompaction correctly (CASSANDRA-8578)
* Add ReadFailureException to native protocol, respond
immediately when replicas encounter errors while handling
a read request (CASSANDRA-7886)
* Switch CommitLogSegment from RandomAccessFile to nio (CASSANDRA-8308)
* Allow mixing token and partition key restrictions (CASSANDRA-7016)
* Support index key/value entries on map collections (CASSANDRA-8473)
* Modernize schema tables (CASSANDRA-8261)
* Support for user-defined aggregation functions (CASSANDRA-8053)
* Fix NPE in SelectStatement with empty IN values (CASSANDRA-8419)
* Refactor SelectStatement, return IN results in natural order instead
of IN value list order and ignore duplicate values in partition key IN restrictions (CASSANDRA-7981)
* Support UDTs, tuples, and collections in user-defined
functions (CASSANDRA-7563)
* Fix aggregate fn results on empty selection, result column name,
and cqlsh parsing (CASSANDRA-8229)
* Mark sstables as repaired after full repair (CASSANDRA-7586)
* Extend Descriptor to include a format value and refactor reader/writer
APIs (CASSANDRA-7443)
* Integrate JMH for microbenchmarks (CASSANDRA-8151)
* Keep sstable levels when bootstrapping (CASSANDRA-7460)
* Add Sigar library and perform basic OS settings check on startup (CASSANDRA-7838)
* Support for aggregation functions (CASSANDRA-4914)
* Remove cassandra-cli (CASSANDRA-7920)
* Accept dollar quoted strings in CQL (CASSANDRA-7769)
* Make assassinate a first class command (CASSANDRA-7935)
* Support IN clause on any partition key column (CASSANDRA-7855)
* Support IN clause on any clustering column (CASSANDRA-4762)
* Improve compaction logging (CASSANDRA-7818)
* Remove YamlFileNetworkTopologySnitch (CASSANDRA-7917)
* Do anticompaction in groups (CASSANDRA-6851)
* Support user-defined functions (CASSANDRA-7395, 7526, 7562, 7740, 7781, 7929,
7924, 7812, 8063, 7813, 7708)
* Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
* Move sstable RandomAccessReader to nio2, which allows using the
FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
* Remove CQL2 (CASSANDRA-5918)
* Optimize fetching multiple cells by name (CASSANDRA-6933)
* Allow compilation in java 8 (CASSANDRA-7028)
* Make incremental repair default (CASSANDRA-7250)
* Enable code coverage thru JaCoCo (CASSANDRA-7226)
* Switch external naming of 'column families' to 'tables' (CASSANDRA-4369)
* Shorten SSTable path (CASSANDRA-6962)
* Use unsafe mutations for most unit tests (CASSANDRA-6969)
* Fix race condition during calculation of pending ranges (CASSANDRA-7390)
* Fail on very large batch sizes (CASSANDRA-8011)
* Improve concurrency of repair (CASSANDRA-6455, 8208, 9145)
* Select optimal CRC32 implementation at runtime (CASSANDRA-8614)
* Evaluate MurmurHash of Token once per query (CASSANDRA-7096)
* Generalize progress reporting (CASSANDRA-8901)
* Resumable bootstrap streaming (CASSANDRA-8838, CASSANDRA-8942)
* Allow scrub for secondary index (CASSANDRA-5174)
* Save repair data to system table (CASSANDRA-5839)
* fix nodetool names that reference column families (CASSANDRA-8872)
Merged from 2.1:
* Warn on misuse of unlogged batches (CASSANDRA-9282)
* Failure detector detects and ignores local pauses (CASSANDRA-9183)
* Add utility class to support for rate limiting a given log statement (CASSANDRA-9029)
* Add missing consistency levels to cassandra-stess (CASSANDRA-9361)
* Fix commitlog getCompletedTasks to not increment (CASSANDRA-9339)
* Fix for harmless exceptions logged as ERROR (CASSANDRA-8564)
* Delete processed sstables in sstablesplit/sstableupgrade (CASSANDRA-8606)
* Improve sstable exclusion from partition tombstones (CASSANDRA-9298)
* Validate the indexed column rather than the cell's contents for 2i (CASSANDRA-9057)
* Add support for top-k custom 2i queries (CASSANDRA-8717)
* Fix error when dropping table during compaction (CASSANDRA-9251)
* cassandra-stress supports validation operations over user profiles (CASSANDRA-8773)
* Add support for rate limiting log messages (CASSANDRA-9029)
* Log the partition key with tombstone warnings (CASSANDRA-8561)
* Reduce runWithCompactionsDisabled poll interval to 1ms (CASSANDRA-9271)
* Fix PITR commitlog replay (CASSANDRA-9195)
* GCInspector logs very different times (CASSANDRA-9124)
* Fix deleting from an empty list (CASSANDRA-9198)
* Update tuple and collection types that use a user-defined type when that UDT
is modified (CASSANDRA-9148, CASSANDRA-9192)
* Use higher timeout for prepair and snapshot in repair (CASSANDRA-9261)
* Fix anticompaction blocking ANTI_ENTROPY stage (CASSANDRA-9151)
* Repair waits for anticompaction to finish (CASSANDRA-9097)
* Fix streaming not holding ref when stream error (CASSANDRA-9295)
* Fix canonical view returning early opened SSTables (CASSANDRA-9396)
Merged from 2.0:
* (cqlsh) Add LOGIN command to switch users (CASSANDRA-7212)
* Clone SliceQueryFilter in AbstractReadCommand implementations (CASSANDRA-8940)
* Push correct protocol notification for DROP INDEX (CASSANDRA-9310)
* token-generator - generated tokens too long (CASSANDRA-9300)
* Fix counting of tombstones for TombstoneOverwhelmingException (CASSANDRA-9299)
* Fix ReconnectableSnitch reconnecting to peers during upgrade (CASSANDRA-6702)
* Include keyspace and table name in error log for collections over the size
limit (CASSANDRA-9286)
* Avoid potential overlap in LCS with single-partition sstables (CASSANDRA-9322)
* Log warning message when a table is queried before the schema has fully
propagated (CASSANDRA-9136)
* Overload SecondaryIndex#indexes to accept the column definition (CASSANDRA-9314)
* (cqlsh) Add SERIAL and LOCAL_SERIAL consistency levels (CASSANDRA-8051)
* Fix index selection during rebuild with certain table layouts (CASSANDRA-9281)
* Fix partition-level-delete-only workload accounting (CASSANDRA-9194)
* Allow scrub to handle corrupted compressed chunks (CASSANDRA-9140)
* Fix assertion error when resetlocalschema is run during repair (CASSANDRA-9249)
* Disable single sstable tombstone compactions for DTCS by default (CASSANDRA-9234)
* IncomingTcpConnection thread is not named (CASSANDRA-9262)
* Close incoming connections when MessagingService is stopped (CASSANDRA-9238)
* Fix streaming hang when retrying (CASSANDRA-9132)
2.1.5
* Re-add deprecated cold_reads_to_omit param for backwards compat (CASSANDRA-9203)
* Make anticompaction visible in compactionstats (CASSANDRA-9098)
* Improve nodetool getendpoints documentation about the partition
key parameter (CASSANDRA-6458)
* Don't check other keyspaces for schema changes when an user-defined
type is altered (CASSANDRA-9187)
* Add generate-idea-files target to build.xml (CASSANDRA-9123)
* Allow takeColumnFamilySnapshot to take a list of tables (CASSANDRA-8348)
* Limit major sstable operations to their canonical representation (CASSANDRA-8669)
* cqlsh: Add tests for INSERT and UPDATE tab completion (CASSANDRA-9125)
* cqlsh: quote column names when needed in COPY FROM inserts (CASSANDRA-9080)
* Do not load read meter for offline operations (CASSANDRA-9082)
* cqlsh: Make CompositeType data readable (CASSANDRA-8919)
* cqlsh: Fix display of triggers (CASSANDRA-9081)
* Fix NullPointerException when deleting or setting an element by index on
a null list collection (CASSANDRA-9077)
* Buffer bloom filter serialization (CASSANDRA-9066)
* Fix anti-compaction target bloom filter size (CASSANDRA-9060)
* Make FROZEN and TUPLE unreserved keywords in CQL (CASSANDRA-9047)
* Prevent AssertionError from SizeEstimatesRecorder (CASSANDRA-9034)
* Avoid overwriting index summaries for sstables with an older format that
does not support downsampling; rebuild summaries on startup when this
is detected (CASSANDRA-8993)
* Fix potential data loss in CompressedSequentialWriter (CASSANDRA-8949)
* Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
* Fix AssertionError when binding nested collections in DELETE (CASSANDRA-8900)
* Check for overlap with non-early sstables in LCS (CASSANDRA-8739)
* Only calculate max purgable timestamp if we have to (CASSANDRA-8914)
* (cqlsh) Greatly improve performance of COPY FROM (CASSANDRA-8225)
* IndexSummary effectiveIndexInterval is now a guideline, not a rule (CASSANDRA-8993)
* Use correct bounds for page cache eviction of compressed files (CASSANDRA-8746)
* SSTableScanner enforces its bounds (CASSANDRA-8946)
* Cleanup cell equality (CASSANDRA-8947)
* Introduce intra-cluster message coalescing (CASSANDRA-8692)
* DatabaseDescriptor throws NPE when rpc_interface is used (CASSANDRA-8839)
* Don't check if an sstable is live for offline compactions (CASSANDRA-8841)
* Don't set clientMode in SSTableLoader (CASSANDRA-8238)
* Fix SSTableRewriter with disabled early open (CASSANDRA-8535)
* Fix cassandra-stress so it respects the CL passed in user mode (CASSANDRA-8948)
* Fix rare NPE in ColumnDefinition#hasIndexOption() (CASSANDRA-8786)
* cassandra-stress reports per-operation statistics, plus misc (CASSANDRA-8769)
* Add SimpleDate (cql date) and Time (cql time) types (CASSANDRA-7523)
* Use long for key count in cfstats (CASSANDRA-8913)
* Make SSTableRewriter.abort() more robust to failure (CASSANDRA-8832)
* Remove cold_reads_to_omit from STCS (CASSANDRA-8860)
* Make EstimatedHistogram#percentile() use ceil instead of floor (CASSANDRA-8883)
* Fix top partitions reporting wrong cardinality (CASSANDRA-8834)
* Fix rare NPE in KeyCacheSerializer (CASSANDRA-8067)
* Pick sstables for validation as late as possible inc repairs (CASSANDRA-8366)
* Fix commitlog getPendingTasks to not increment (CASSANDRA-8862)
* Fix parallelism adjustment in range and secondary index queries
when the first fetch does not satisfy the limit (CASSANDRA-8856)
* Check if the filtered sstables is non-empty in STCS (CASSANDRA-8843)
* Upgrade java-driver used for cassandra-stress (CASSANDRA-8842)
* Fix CommitLog.forceRecycleAllSegments() memory access error (CASSANDRA-8812)
* Improve assertions in Memory (CASSANDRA-8792)
* Fix SSTableRewriter cleanup (CASSANDRA-8802)
* Introduce SafeMemory for CompressionMetadata.Writer (CASSANDRA-8758)
* 'nodetool info' prints exception against older node (CASSANDRA-8796)
* Ensure SSTableReader.last corresponds exactly with the file end (CASSANDRA-8750)
* Make SSTableWriter.openEarly more robust and obvious (CASSANDRA-8747)
* Enforce SSTableReader.first/last (CASSANDRA-8744)
* Cleanup SegmentedFile API (CASSANDRA-8749)
* Avoid overlap with early compaction replacement (CASSANDRA-8683)
* Safer Resource Management++ (CASSANDRA-8707)
* Write partition size estimates into a system table (CASSANDRA-7688)
* cqlsh: Fix keys() and full() collection indexes in DESCRIBE output
(CASSANDRA-8154)
* Show progress of streaming in nodetool netstats (CASSANDRA-8886)
* IndexSummaryBuilder utilises offheap memory, and shares data between
each IndexSummary opened from it (CASSANDRA-8757)
* markCompacting only succeeds if the exact SSTableReader instances being
marked are in the live set (CASSANDRA-8689)
* cassandra-stress support for varint (CASSANDRA-8882)
* Fix Adler32 digest for compressed sstables (CASSANDRA-8778)
* Add nodetool statushandoff/statusbackup (CASSANDRA-8912)
* Use stdout for progress and stats in sstableloader (CASSANDRA-8982)
* Correctly identify 2i datadir from older versions (CASSANDRA-9116)
Merged from 2.0:
* Ignore gossip SYNs after shutdown (CASSANDRA-9238)
* Avoid overflow when calculating max sstable size in LCS (CASSANDRA-9235)
* Make sstable blacklisting work with compression (CASSANDRA-9138)
* Do not attempt to rebuild indexes if no index accepts any column (CASSANDRA-9196)
* Don't initiate snitch reconnection for dead states (CASSANDRA-7292)
* Fix ArrayIndexOutOfBoundsException in CQLSSTableWriter (CASSANDRA-8978)
* Add shutdown gossip state to prevent timeouts during rolling restarts (CASSANDRA-8336)
* Fix running with java.net.preferIPv6Addresses=true (CASSANDRA-9137)
* Fix failed bootstrap/replace attempts being persisted in system.peers (CASSANDRA-9180)
* Flush system.IndexInfo after marking index built (CASSANDRA-9128)
* Fix updates to min/max_compaction_threshold through cassandra-cli
(CASSANDRA-8102)
* Don't include tmp files when doing offline relevel (CASSANDRA-9088)
* Use the proper CAS WriteType when finishing a previous round during Paxos
preparation (CASSANDRA-8672)
* Avoid race in cancelling compactions (CASSANDRA-9070)
* More aggressive check for expired sstables in DTCS (CASSANDRA-8359)
* Fix ignored index_interval change in ALTER TABLE statements (CASSANDRA-7976)
* Do more aggressive compaction in old time windows in DTCS (CASSANDRA-8360)
* java.lang.AssertionError when reading saved cache (CASSANDRA-8740)
* "disk full" when running cleanup (CASSANDRA-9036)
* Lower logging level from ERROR to DEBUG when a scheduled schema pull
cannot be completed due to a node being down (CASSANDRA-9032)
* Fix MOVED_NODE client event (CASSANDRA-8516)
* Allow overriding MAX_OUTSTANDING_REPLAY_COUNT (CASSANDRA-7533)
* Fix malformed JMX ObjectName containing IPv6 addresses (CASSANDRA-9027)
* (cqlsh) Allow increasing CSV field size limit through
cqlshrc config option (CASSANDRA-8934)
* Stop logging range tombstones when exceeding the threshold
(CASSANDRA-8559)
* Fix NullPointerException when nodetool getendpoints is run
against invalid keyspaces or tables (CASSANDRA-8950)
* Allow specifying the tmp dir (CASSANDRA-7712)
* Improve compaction estimated tasks estimation (CASSANDRA-8904)
* Fix duplicate up/down messages sent to native clients (CASSANDRA-7816)
* Expose commit log archive status via JMX (CASSANDRA-8734)
* Provide better exceptions for invalid replication strategy parameters
(CASSANDRA-8909)
* Fix regression in mixed single and multi-column relation support for
SELECT statements (CASSANDRA-8613)
* Add ability to limit number of native connections (CASSANDRA-8086)
* Fix CQLSSTableWriter throwing exception and spawning threads
(CASSANDRA-8808)
* Fix MT mismatch between empty and GC-able data (CASSANDRA-8979)
* Fix incorrect validation when snapshotting single table (CASSANDRA-8056)
* Add offline tool to relevel sstables (CASSANDRA-8301)
* Preserve stream ID for more protocol errors (CASSANDRA-8848)
* Fix combining token() function with multi-column relations on
clustering columns (CASSANDRA-8797)
* Make CFS.markReferenced() resistant to bad refcounting (CASSANDRA-8829)
* Fix StreamTransferTask abort/complete bad refcounting (CASSANDRA-8815)
* Fix AssertionError when querying a DESC clustering ordered
table with ASC ordering and paging (CASSANDRA-8767)
* AssertionError: "Memory was freed" when running cleanup (CASSANDRA-8716)
* Make it possible to set max_sstable_age to fractional days (CASSANDRA-8406)
* Fix some multi-column relations with indexes on some clustering
columns (CASSANDRA-8275)
* Fix memory leak in SSTableSimple*Writer and SSTableReader.validate()
(CASSANDRA-8748)
* Throw OOM if allocating memory fails to return a valid pointer (CASSANDRA-8726)
* Fix SSTableSimpleUnsortedWriter ConcurrentModificationException (CASSANDRA-8619)
* 'nodetool info' prints exception against older node (CASSANDRA-8796)
* Ensure SSTableSimpleUnsortedWriter.close() terminates if
disk writer has crashed (CASSANDRA-8807)
2.1.4
* Bind JMX to localhost unless explicitly configured otherwise (CASSANDRA-9085)
2.1.3
* Fix HSHA/offheap_objects corruption (CASSANDRA-8719)
* Upgrade libthrift to 0.9.2 (CASSANDRA-8685)
* Don't use the shared ref in sstableloader (CASSANDRA-8704)
* Purge internal prepared statements if related tables or
keyspaces are dropped (CASSANDRA-8693)
* (cqlsh) Handle unicode BOM at start of files (CASSANDRA-8638)
* Stop compactions before exiting offline tools (CASSANDRA-8623)
* Update tools/stress/README.txt to match current behaviour (CASSANDRA-7933)
* Fix schema from Thrift conversion with empty metadata (CASSANDRA-8695)
* Safer Resource Management (CASSANDRA-7705)
* Make sure we compact highly overlapping cold sstables with
STCS (CASSANDRA-8635)
* rpc_interface and listen_interface generate NPE on startup when specified
interface doesn't exist (CASSANDRA-8677)
* Fix ArrayIndexOutOfBoundsException in nodetool cfhistograms (CASSANDRA-8514)
* Switch from yammer metrics for nodetool cf/proxy histograms (CASSANDRA-8662)
* Make sure we don't add tmplink files to the compaction
strategy (CASSANDRA-8580)
* (cqlsh) Handle maps with blob keys (CASSANDRA-8372)
* (cqlsh) Handle DynamicCompositeType schemas correctly (CASSANDRA-8563)
* Duplicate rows returned when in clause has repeated values (CASSANDRA-6706)
* Add tooling to detect hot partitions (CASSANDRA-7974)
* Fix cassandra-stress user-mode truncation of partition generation (CASSANDRA-8608)
* Only stream from unrepaired sstables during inc repair (CASSANDRA-8267)
* Don't allow starting multiple inc repairs on the same sstables (CASSANDRA-8316)
* Invalidate prepared BATCH statements when related tables
or keyspaces are dropped (CASSANDRA-8652)
* Fix missing results in secondary index queries on collections
with ALLOW FILTERING (CASSANDRA-8421)
* Expose EstimatedHistogram metrics for range slices (CASSANDRA-8627)
* (cqlsh) Escape clqshrc passwords properly (CASSANDRA-8618)
* Fix NPE when passing wrong argument in ALTER TABLE statement (CASSANDRA-8355)
* Pig: Refactor and deprecate CqlStorage (CASSANDRA-8599)
* Don't reuse the same cleanup strategy for all sstables (CASSANDRA-8537)
* Fix case-sensitivity of index name on CREATE and DROP INDEX
statements (CASSANDRA-8365)
* Better detection/logging for corruption in compressed sstables (CASSANDRA-8192)
* Use the correct repairedAt value when closing writer (CASSANDRA-8570)
* (cqlsh) Handle a schema mismatch being detected on startup (CASSANDRA-8512)
* Properly calculate expected write size during compaction (CASSANDRA-8532)
* Invalidate affected prepared statements when a table's columns
are altered (CASSANDRA-7910)
* Stress - user defined writes should populate sequentally (CASSANDRA-8524)
* Fix regression in SSTableRewriter causing some rows to become unreadable
during compaction (CASSANDRA-8429)
* Run major compactions for repaired/unrepaired in parallel (CASSANDRA-8510)
* (cqlsh) Fix compression options in DESCRIBE TABLE output when compression
is disabled (CASSANDRA-8288)
* (cqlsh) Fix DESCRIBE output after keyspaces are altered (CASSANDRA-7623)
* Make sure we set lastCompactedKey correctly (CASSANDRA-8463)
* (cqlsh) Fix output of CONSISTENCY command (CASSANDRA-8507)
* (cqlsh) Fixed the handling of LIST statements (CASSANDRA-8370)
* Make sstablescrub check leveled manifest again (CASSANDRA-8432)
* Check first/last keys in sstable when giving out positions (CASSANDRA-8458)
* Disable mmap on Windows (CASSANDRA-6993)
* Add missing ConsistencyLevels to cassandra-stress (CASSANDRA-8253)
* Add auth support to cassandra-stress (CASSANDRA-7985)
* Fix ArrayIndexOutOfBoundsException when generating error message
for some CQL syntax errors (CASSANDRA-8455)
* Scale memtable slab allocation logarithmically (CASSANDRA-7882)
* cassandra-stress simultaneous inserts over same seed (CASSANDRA-7964)
* Reduce cassandra-stress sampling memory requirements (CASSANDRA-7926)
* Ensure memtable flush cannot expire commit log entries from its future (CASSANDRA-8383)
* Make read "defrag" async to reclaim memtables (CASSANDRA-8459)
* Remove tmplink files for offline compactions (CASSANDRA-8321)
* Reduce maxHintsInProgress (CASSANDRA-8415)
* BTree updates may call provided update function twice (CASSANDRA-8018)
* Release sstable references after anticompaction (CASSANDRA-8386)
* Handle abort() in SSTableRewriter properly (CASSANDRA-8320)
* Centralize shared executors (CASSANDRA-8055)
* Fix filtering for CONTAINS (KEY) relations on frozen collection
clustering columns when the query is restricted to a single
partition (CASSANDRA-8203)
* Do more aggressive entire-sstable TTL expiry checks (CASSANDRA-8243)
* Add more log info if readMeter is null (CASSANDRA-8238)
* add check of the system wall clock time at startup (CASSANDRA-8305)
* Support for frozen collections (CASSANDRA-7859)
* Fix overflow on histogram computation (CASSANDRA-8028)
* Have paxos reuse the timestamp generation of normal queries (CASSANDRA-7801)
* Fix incremental repair not remove parent session on remote (CASSANDRA-8291)
* Improve JBOD disk utilization (CASSANDRA-7386)
* Log failed host when preparing incremental repair (CASSANDRA-8228)
* Force config client mode in CQLSSTableWriter (CASSANDRA-8281)
* Fix sstableupgrade throws exception (CASSANDRA-8688)
* Fix hang when repairing empty keyspace (CASSANDRA-8694)
Merged from 2.0:
* Fix IllegalArgumentException in dynamic snitch (CASSANDRA-8448)
* Add support for UPDATE ... IF EXISTS (CASSANDRA-8610)
* Fix reversal of list prepends (CASSANDRA-8733)
* Prevent non-zero default_time_to_live on tables with counters
(CASSANDRA-8678)
* Fix SSTableSimpleUnsortedWriter ConcurrentModificationException
(CASSANDRA-8619)
* Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
* Add batch remove iterator to ABSC (CASSANDRA-8414, 8666)
* Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
* Fix isClientMode check in Keyspace (CASSANDRA-8687)
* Use more efficient slice size for querying internal secondary
index tables (CASSANDRA-8550)
* Fix potentially returning deleted rows with range tombstone (CASSANDRA-8558)
* Check for available disk space before starting a compaction (CASSANDRA-8562)
* Fix DISTINCT queries with LIMITs or paging when some partitions
contain only tombstones (CASSANDRA-8490)
* Introduce background cache refreshing to permissions cache
(CASSANDRA-8194)
* Fix race condition in StreamTransferTask that could lead to
infinite loops and premature sstable deletion (CASSANDRA-7704)
* Add an extra version check to MigrationTask (CASSANDRA-8462)
* Ensure SSTableWriter cleans up properly after failure (CASSANDRA-8499)
* Increase bf true positive count on key cache hit (CASSANDRA-8525)
* Move MeteredFlusher to its own thread (CASSANDRA-8485)
* Fix non-distinct results in DISTNCT queries on static columns when
paging is enabled (CASSANDRA-8087)
* Move all hints related tasks to hints internal executor (CASSANDRA-8285)
* Fix paging for multi-partition IN queries (CASSANDRA-8408)
* Fix MOVED_NODE topology event never being emitted when a node
moves its token (CASSANDRA-8373)
* Fix validation of indexes in COMPACT tables (CASSANDRA-8156)
* Avoid StackOverflowError when a large list of IN values
is used for a clustering column (CASSANDRA-8410)
* Fix NPE when writetime() or ttl() calls are wrapped by
another function call (CASSANDRA-8451)
* Fix NPE after dropping a keyspace (CASSANDRA-8332)
* Fix error message on read repair timeouts (CASSANDRA-7947)
* Default DTCS base_time_seconds changed to 60 (CASSANDRA-8417)
* Refuse Paxos operation with more than one pending endpoint (CASSANDRA-8346, 8640)
* Throw correct exception when trying to bind a keyspace or table
name (CASSANDRA-6952)
* Make HHOM.compact synchronized (CASSANDRA-8416)
* cancel latency-sampling task when CF is dropped (CASSANDRA-8401)
* don't block SocketThread for MessagingService (CASSANDRA-8188)
* Increase quarantine delay on replacement (CASSANDRA-8260)
* Expose off-heap memory usage stats (CASSANDRA-7897)
* Ignore Paxos commits for truncated tables (CASSANDRA-7538)
* Validate size of indexed column values (CASSANDRA-8280)
* Make LCS split compaction results over all data directories (CASSANDRA-8329)
* Fix some failing queries that use multi-column relations
on COMPACT STORAGE tables (CASSANDRA-8264)
* Fix InvalidRequestException with ORDER BY (CASSANDRA-8286)
* Disable SSLv3 for POODLE (CASSANDRA-8265)
* Fix millisecond timestamps in Tracing (CASSANDRA-8297)
* Include keyspace name in error message when there are insufficient
live nodes to stream from (CASSANDRA-8221)
* Avoid overlap in L1 when L0 contains many nonoverlapping
sstables (CASSANDRA-8211)
* Improve PropertyFileSnitch logging (CASSANDRA-8183)
* Add DC-aware sequential repair (CASSANDRA-8193)
* Use live sstables in snapshot repair if possible (CASSANDRA-8312)
* Fix hints serialized size calculation (CASSANDRA-8587)
2.1.2
* (cqlsh) parse_for_table_meta errors out on queries with undefined
grammars (CASSANDRA-8262)
* (cqlsh) Fix SELECT ... TOKEN() function broken in C* 2.1.1 (CASSANDRA-8258)
* Fix Cassandra crash when running on JDK8 update 40 (CASSANDRA-8209)
* Optimize partitioner tokens (CASSANDRA-8230)
* Improve compaction of repaired/unrepaired sstables (CASSANDRA-8004)
* Make cache serializers pluggable (CASSANDRA-8096)
* Fix issues with CONTAINS (KEY) queries on secondary indexes
(CASSANDRA-8147)
* Fix read-rate tracking of sstables for some queries (CASSANDRA-8239)
* Fix default timestamp in QueryOptions (CASSANDRA-8246)
* Set socket timeout when reading remote version (CASSANDRA-8188)
* Refactor how we track live size (CASSANDRA-7852)
* Make sure unfinished compaction files are removed (CASSANDRA-8124)
* Fix shutdown when run as Windows service (CASSANDRA-8136)
* Fix DESCRIBE TABLE with custom indexes (CASSANDRA-8031)
* Fix race in RecoveryManagerTest (CASSANDRA-8176)
* Avoid IllegalArgumentException while sorting sstables in
IndexSummaryManager (CASSANDRA-8182)
* Shutdown JVM on file descriptor exhaustion (CASSANDRA-7579)
* Add 'die' policy for commit log and disk failure (CASSANDRA-7927)
* Fix installing as service on Windows (CASSANDRA-8115)
* Fix CREATE TABLE for CQL2 (CASSANDRA-8144)
* Avoid boxing in ColumnStats min/max trackers (CASSANDRA-8109)
Merged from 2.0:
* Correctly handle non-text column names in cql3 (CASSANDRA-8178)
* Fix deletion for indexes on primary key columns (CASSANDRA-8206)
* Add 'nodetool statusgossip' (CASSANDRA-8125)
* Improve client notification that nodes are ready for requests (CASSANDRA-7510)
* Handle negative timestamp in writetime method (CASSANDRA-8139)
* Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)
* Throw ConfigurationException when hsha is used with the default
rpc_max_threads setting of 'unlimited' (CASSANDRA-8116)
* Allow concurrent writing of the same table in the same JVM using
CQLSSTableWriter (CASSANDRA-7463)
* Fix totalDiskSpaceUsed calculation (CASSANDRA-8205)
2.1.1
* Fix spin loop in AtomicSortedColumns (CASSANDRA-7546)
* Dont notify when replacing tmplink files (CASSANDRA-8157)
* Fix validation with multiple CONTAINS clause (CASSANDRA-8131)
* Fix validation of collections in TriggerExecutor (CASSANDRA-8146)
* Fix IllegalArgumentException when a list of IN values containing tuples
is passed as a single arg to a prepared statement with the v1 or v2
protocol (CASSANDRA-8062)
* Fix ClassCastException in DISTINCT query on static columns with
query paging (CASSANDRA-8108)
* Fix NPE on null nested UDT inside a set (CASSANDRA-8105)
* Fix exception when querying secondary index on set items or map keys
when some clustering columns are specified (CASSANDRA-8073)
* Send proper error response when there is an error during native
protocol message decode (CASSANDRA-8118)
* Gossip should ignore generation numbers too far in the future (CASSANDRA-8113)
* Fix NPE when creating a table with frozen sets, lists (CASSANDRA-8104)
* Fix high memory use due to tracking reads on incrementally opened sstable
readers (CASSANDRA-8066)
* Fix EXECUTE request with skipMetadata=false returning no metadata
(CASSANDRA-8054)
* Allow concurrent use of CQLBulkOutputFormat (CASSANDRA-7776)
* Shutdown JVM on OOM (CASSANDRA-7507)
* Upgrade netty version and enable epoll event loop (CASSANDRA-7761)
* Don't duplicate sstables smaller than split size when using
the sstablesplitter tool (CASSANDRA-7616)
* Avoid re-parsing already prepared statements (CASSANDRA-7923)
* Fix some Thrift slice deletions and updates of COMPACT STORAGE
tables with some clustering columns omitted (CASSANDRA-7990)
* Fix filtering for CONTAINS on sets (CASSANDRA-8033)
* Properly track added size (CASSANDRA-7239)
* Allow compilation in java 8 (CASSANDRA-7208)
* Fix Assertion error on RangeTombstoneList diff (CASSANDRA-8013)
* Release references to overlapping sstables during compaction (CASSANDRA-7819)
* Send notification when opening compaction results early (CASSANDRA-8034)
* Make native server start block until properly bound (CASSANDRA-7885)
* (cqlsh) Fix IPv6 support (CASSANDRA-7988)
* Ignore fat clients when checking for endpoint collision (CASSANDRA-7939)
* Make sstablerepairedset take a list of files (CASSANDRA-7995)
* (cqlsh) Tab completeion for indexes on map keys (CASSANDRA-7972)
* (cqlsh) Fix UDT field selection in select clause (CASSANDRA-7891)
* Fix resource leak in event of corrupt sstable
* (cqlsh) Add command line option for cqlshrc file path (CASSANDRA-7131)
* Provide visibility into prepared statements churn (CASSANDRA-7921, CASSANDRA-7930)
* Invalidate prepared statements when their keyspace or table is
dropped (CASSANDRA-7566)
* cassandra-stress: fix support for NetworkTopologyStrategy (CASSANDRA-7945)
* Fix saving caches when a table is dropped (CASSANDRA-7784)
* Add better error checking of new stress profile (CASSANDRA-7716)
* Use ThreadLocalRandom and remove FBUtilities.threadLocalRandom (CASSANDRA-7934)
* Prevent operator mistakes due to simultaneous bootstrap (CASSANDRA-7069)
* cassandra-stress supports whitelist mode for node config (CASSANDRA-7658)
* GCInspector more closely tracks GC; cassandra-stress and nodetool report it (CASSANDRA-7916)
* nodetool won't output bogus ownership info without a keyspace (CASSANDRA-7173)
* Add human readable option to nodetool commands (CASSANDRA-5433)
* Don't try to set repairedAt on old sstables (CASSANDRA-7913)
* Add metrics for tracking PreparedStatement use (CASSANDRA-7719)
* (cqlsh) tab-completion for triggers (CASSANDRA-7824)
* (cqlsh) Support for query paging (CASSANDRA-7514)
* (cqlsh) Show progress of COPY operations (CASSANDRA-7789)
* Add syntax to remove multiple elements from a map (CASSANDRA-6599)
* Support non-equals conditions in lightweight transactions (CASSANDRA-6839)
* Add IF [NOT] EXISTS to create/drop triggers (CASSANDRA-7606)
* (cqlsh) Display the current logged-in user (CASSANDRA-7785)
* (cqlsh) Don't ignore CTRL-C during COPY FROM execution (CASSANDRA-7815)
* (cqlsh) Order UDTs according to cross-type dependencies in DESCRIBE
output (CASSANDRA-7659)
* (cqlsh) Fix handling of CAS statement results (CASSANDRA-7671)
* (cqlsh) COPY TO/FROM improvements (CASSANDRA-7405)
* Support list index operations with conditions (CASSANDRA-7499)
* Add max live/tombstoned cells to nodetool cfstats output (CASSANDRA-7731)
* Validate IPv6 wildcard addresses properly (CASSANDRA-7680)
* (cqlsh) Error when tracing query (CASSANDRA-7613)
* Avoid IOOBE when building SyntaxError message snippet (CASSANDRA-7569)
* SSTableExport uses correct validator to create string representation of partition
keys (CASSANDRA-7498)
* Avoid NPEs when receiving type changes for an unknown keyspace (CASSANDRA-7689)
* Add support for custom 2i validation (CASSANDRA-7575)
* Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
* Add duration mode to cassandra-stress (CASSANDRA-7468)
* Add listen_interface and rpc_interface options (CASSANDRA-7417)
* Improve schema merge performance (CASSANDRA-7444)
* Adjust MT depth based on # of partition validating (CASSANDRA-5263)
* Optimise NativeCell comparisons (CASSANDRA-6755)
* Configurable client timeout for cqlsh (CASSANDRA-7516)
* Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
* Make repair -pr work with -local (CASSANDRA-7450)
* Fix error in sstableloader with -cph > 1 (CASSANDRA-8007)
* Fix snapshot repair error on indexed tables (CASSANDRA-8020)
* Do not exit nodetool repair when receiving JMX NOTIF_LOST (CASSANDRA-7909)
* Stream to private IP when available (CASSANDRA-8084)
Merged from 2.0:
* Reject conditions on DELETE unless full PK is given (CASSANDRA-6430)
* Properly reject the token function DELETE (CASSANDRA-7747)
* Force batchlog replay before decommissioning a node (CASSANDRA-7446)
* Fix hint replay with many accumulated expired hints (CASSANDRA-6998)
* Fix duplicate results in DISTINCT queries on static columns with query
paging (CASSANDRA-8108)
* Add DateTieredCompactionStrategy (CASSANDRA-6602)
* Properly validate ascii and utf8 string literals in CQL queries (CASSANDRA-8101)
* (cqlsh) Fix autocompletion for alter keyspace (CASSANDRA-8021)
* Create backup directories for commitlog archiving during startup (CASSANDRA-8111)
* Reduce totalBlockFor() for LOCAL_* consistency levels (CASSANDRA-8058)
* Fix merging schemas with re-dropped keyspaces (CASSANDRA-7256)
* Fix counters in supercolumns during live upgrades from 1.2 (CASSANDRA-7188)
* Notify DT subscribers when a column family is truncated (CASSANDRA-8088)
* Add sanity check of $JAVA on startup (CASSANDRA-7676)
* Schedule fat client schema pull on join (CASSANDRA-7993)
* Don't reset nodes' versions when closing IncomingTcpConnections
(CASSANDRA-7734)
* Record the real messaging version in all cases in OutboundTcpConnection
(CASSANDRA-8057)
* SSL does not work in cassandra-cli (CASSANDRA-7899)
* Fix potential exception when using ReversedType in DynamicCompositeType
(CASSANDRA-7898)
* Better validation of collection values (CASSANDRA-7833)
* Track min/max timestamps correctly (CASSANDRA-7969)
* Fix possible overflow while sorting CL segments for replay (CASSANDRA-7992)
* Increase nodetool Xmx (CASSANDRA-7956)
* Archive any commitlog segments present at startup (CASSANDRA-6904)
* CrcCheckChance should adjust based on live CFMetadata not
sstable metadata (CASSANDRA-7978)
* token() should only accept columns in the partitioning
key order (CASSANDRA-6075)
* Add method to invalidate permission cache via JMX (CASSANDRA-7977)
* Allow propagating multiple gossip states atomically (CASSANDRA-6125)
* Log exceptions related to unclean native protocol client disconnects
at DEBUG or INFO (CASSANDRA-7849)
* Allow permissions cache to be set via JMX (CASSANDRA-7698)
* Include schema_triggers CF in readable system resources (CASSANDRA-7967)
* Fix RowIndexEntry to report correct serializedSize (CASSANDRA-7948)
* Make CQLSSTableWriter sync within partitions (CASSANDRA-7360)
* Potentially use non-local replicas in CqlConfigHelper (CASSANDRA-7906)
* Explicitly disallow mixing multi-column and single-column
relations on clustering columns (CASSANDRA-7711)
* Better error message when condition is set on PK column (CASSANDRA-7804)
* Don't send schema change responses and events for no-op DDL
statements (CASSANDRA-7600)
* (Hadoop) fix cluster initialisation for a split fetching (CASSANDRA-7774)
* Throw InvalidRequestException when queries contain relations on entire
collection columns (CASSANDRA-7506)
* (cqlsh) enable CTRL-R history search with libedit (CASSANDRA-7577)
* (Hadoop) allow ACFRW to limit nodes to local DC (CASSANDRA-7252)
* (cqlsh) cqlsh should automatically disable tracing when selecting
from system_traces (CASSANDRA-7641)
* (Hadoop) Add CqlOutputFormat (CASSANDRA-6927)
* Don't depend on cassandra config for nodetool ring (CASSANDRA-7508)
* (cqlsh) Fix failing cqlsh formatting tests (CASSANDRA-7703)
* Fix IncompatibleClassChangeError from hadoop2 (CASSANDRA-7229)
* Add 'nodetool sethintedhandoffthrottlekb' (CASSANDRA-7635)
* (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS (CASSANDRA-7611)
* Catch errors when the JVM pulls the rug out from GCInspector (CASSANDRA-5345)
* cqlsh fails when version number parts are not int (CASSANDRA-7524)
* Fix NPE when table dropped during streaming (CASSANDRA-7946)
* Fix wrong progress when streaming uncompressed (CASSANDRA-7878)
* Fix possible infinite loop in creating repair range (CASSANDRA-7983)
* Fix unit in nodetool for streaming throughput (CASSANDRA-7375)
Merged from 1.2:
* Don't index tombstones (CASSANDRA-7828)
* Improve PasswordAuthenticator default super user setup (CASSANDRA-7788)
2.1.0
* (cqlsh) Removed "ALTER TYPE <name> RENAME TO <name>" from tab-completion
(CASSANDRA-7895)
* Fixed IllegalStateException in anticompaction (CASSANDRA-7892)
* cqlsh: DESCRIBE support for frozen UDTs, tuples (CASSANDRA-7863)
* Avoid exposing internal classes over JMX (CASSANDRA-7879)
* Add null check for keys when freezing collection (CASSANDRA-7869)
* Improve stress workload realism (CASSANDRA-7519)
Merged from 2.0:
* Configure system.paxos with LeveledCompactionStrategy (CASSANDRA-7753)
* Fix ALTER clustering column type from DateType to TimestampType when
using DESC clustering order (CASSANRDA-7797)
* Throw EOFException if we run out of chunks in compressed datafile
(CASSANDRA-7664)
* Fix PRSI handling of CQL3 row markers for row cleanup (CASSANDRA-7787)
* Fix dropping collection when it's the last regular column (CASSANDRA-7744)
* Make StreamReceiveTask thread safe and gc friendly (CASSANDRA-7795)
* Validate empty cell names from counter updates (CASSANDRA-7798)
Merged from 1.2:
* Don't allow compacted sstables to be marked as compacting (CASSANDRA-7145)
* Track expired tombstones (CASSANDRA-7810)
2.1.0-rc7
* Add frozen keyword and require UDT to be frozen (CASSANDRA-7857)
* Track added sstable size correctly (CASSANDRA-7239)
* (cqlsh) Fix case insensitivity (CASSANDRA-7834)
* Fix failure to stream ranges when moving (CASSANDRA-7836)
* Correctly remove tmplink files (CASSANDRA-7803)
* (cqlsh) Fix column name formatting for functions, CAS operations,
and UDT field selections (CASSANDRA-7806)
* (cqlsh) Fix COPY FROM handling of null/empty primary key
values (CASSANDRA-7792)
* Fix ordering of static cells (CASSANDRA-7763)
Merged from 2.0:
* Forbid re-adding dropped counter columns (CASSANDRA-7831)
* Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832)
* Always reject inequality on the partition key without token()
(CASSANDRA-7722)
* Always send Paxos commit to all replicas (CASSANDRA-7479)
* Make disruptor_thrift_server invocation pool configurable (CASSANDRA-7594)
* Make repair no-op when RF=1 (CASSANDRA-7864)
2.1.0-rc6
* Fix OOM issue from netty caching over time (CASSANDRA-7743)
* json2sstable couldn't import JSON for CQL table (CASSANDRA-7477)
* Invalidate all caches on table drop (CASSANDRA-7561)
* Skip strict endpoint selection for ranges if RF == nodes (CASSANRA-7765)
* Fix Thrift range filtering without 2ary index lookups (CASSANDRA-7741)
* Add tracing entries about concurrent range requests (CASSANDRA-7599)
* (cqlsh) Fix DESCRIBE for NTS keyspaces (CASSANDRA-7729)
* Remove netty buffer ref-counting (CASSANDRA-7735)
* Pass mutated cf to index updater for use by PRSI (CASSANDRA-7742)
* Include stress yaml example in release and deb (CASSANDRA-7717)
* workaround for netty issue causing corrupted data off the wire (CASSANDRA-7695)
* cqlsh DESC CLUSTER fails retrieving ring information (CASSANDRA-7687)
* Fix binding null values inside UDT (CASSANDRA-7685)
* Fix UDT field selection with empty fields (CASSANDRA-7670)
* Bogus deserialization of static cells from sstable (CASSANDRA-7684)
* Fix NPE on compaction leftover cleanup for dropped table (CASSANDRA-7770)
Merged from 2.0:
* Fix race condition in StreamTransferTask that could lead to
infinite loops and premature sstable deletion (CASSANDRA-7704)
* (cqlsh) Wait up to 10 sec for a tracing session (CASSANDRA-7222)
* Fix NPE in FileCacheService.sizeInBytes (CASSANDRA-7756)
* Remove duplicates from StorageService.getJoiningNodes (CASSANDRA-7478)
* Clone token map outside of hot gossip loops (CASSANDRA-7758)
* Fix MS expiring map timeout for Paxos messages (CASSANDRA-7752)
* Do not flush on truncate if durable_writes is false (CASSANDRA-7750)
* Give CRR a default input_cql Statement (CASSANDRA-7226)
* Better error message when adding a collection with the same name
than a previously dropped one (CASSANDRA-6276)
* Fix validation when adding static columns (CASSANDRA-7730)
* (Thrift) fix range deletion of supercolumns (CASSANDRA-7733)
* Fix potential AssertionError in RangeTombstoneList (CASSANDRA-7700)
* Validate arguments of blobAs* functions (CASSANDRA-7707)
* Fix potential AssertionError with 2ndary indexes (CASSANDRA-6612)
* Avoid logging CompactionInterrupted at ERROR (CASSANDRA-7694)
* Minor leak in sstable2jon (CASSANDRA-7709)
* Add cassandra.auto_bootstrap system property (CASSANDRA-7650)
* Update java driver (for hadoop) (CASSANDRA-7618)
* Remove CqlPagingRecordReader/CqlPagingInputFormat (CASSANDRA-7570)
* Support connecting to ipv6 jmx with nodetool (CASSANDRA-7669)
2.1.0-rc5
* Reject counters inside user types (CASSANDRA-7672)
* Switch to notification-based GCInspector (CASSANDRA-7638)
* (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
* Don't use strict consistency when replacing (CASSANDRA-7568)
* Fix min/max cell name collection on 2.0 SSTables with range
tombstones (CASSANDRA-7593)
* Tolerate min/max cell names of different lengths (CASSANDRA-7651)
* Filter cached results correctly (CASSANDRA-7636)
* Fix tracing on the new SEPExecutor (CASSANDRA-7644)
* Remove shuffle and taketoken (CASSANDRA-7601)
* Clean up Windows batch scripts (CASSANDRA-7619)
* Fix native protocol drop user type notification (CASSANDRA-7571)
* Give read access to system.schema_usertypes to all authenticated users
(CASSANDRA-7578)
* (cqlsh) Fix cqlsh display when zero rows are returned (CASSANDRA-7580)
* Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572)
* Fix NPE when dropping index from non-existent keyspace, AssertionError when
dropping non-existent index with IF EXISTS (CASSANDRA-7590)
* Fix sstablelevelresetter hang (CASSANDRA-7614)
* (cqlsh) Fix deserialization of blobs (CASSANDRA-7603)
* Use "keyspace updated" schema change message for UDT changes in v1 and
v2 protocols (CASSANDRA-7617)
* Fix tracing of range slices and secondary index lookups that are local
to the coordinator (CASSANDRA-7599)
* Set -Dcassandra.storagedir for all tool shell scripts (CASSANDRA-7587)
* Don't swap max/min col names when mutating sstable metadata (CASSANDRA-7596)
* (cqlsh) Correctly handle paged result sets (CASSANDRA-7625)
* (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626)
* Fix tracing of concurrent range slices and 2ary index queries (CASSANDRA-7626)
* Fix scrub against collection type (CASSANDRA-7665)
Merged from 2.0:
* Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
* SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
* Always flush on truncate (CASSANDRA-7511)
* Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
* Always merge ranges owned by a single node (CASSANDRA-6930)
* Track max/min timestamps for range tombstones (CASSANDRA-7647)
* Fix NPE when listing saved caches dir (CASSANDRA-7632)
2.1.0-rc4
* Fix word count hadoop example (CASSANDRA-7200)
* Updated memtable_cleanup_threshold and memtable_flush_writers defaults
(CASSANDRA-7551)
* (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
* Anti-compaction proceeds if any part of the repair failed (CASSANDRA-7521)
* Add missing table name to DROP INDEX responses and notifications (CASSANDRA-7539)
* Bump CQL version to 3.2.0 and update CQL documentation (CASSANDRA-7527)
* Fix configuration error message when running nodetool ring (CASSANDRA-7508)
* Support conditional updates, tuple type, and the v3 protocol in cqlsh (CASSANDRA-7509)
* Handle queries on multiple secondary index types (CASSANDRA-7525)
* Fix cqlsh authentication with v3 native protocol (CASSANDRA-7564)
* Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454)
Merged from 2.0:
* (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541)
* Fix range merging when DES scores are zero (CASSANDRA-7535)
* Warn when SSL certificates have expired (CASSANDRA-7528)
* Fix error when doing reversed queries with static columns (CASSANDRA-7490)
Merged from 1.2:
* Set correct stream ID on responses when non-Exception Throwables
are thrown while handling native protocol messages (CASSANDRA-7470)
2.1.0-rc3
* Consider expiry when reconciling otherwise equal cells (CASSANDRA-7403)
* Introduce CQL support for stress tool (CASSANDRA-6146)
* Fix ClassCastException processing expired messages (CASSANDRA-7496)
* Fix prepared marker for collections inside UDT (CASSANDRA-7472)
* Remove left-over populate_io_cache_on_flush and replicate_on_write
uses (CASSANDRA-7493)
* (Windows) handle spaces in path names (CASSANDRA-7451)
* Ensure writes have completed after dropping a table, before recycling
commit log segments (CASSANDRA-7437)
* Remove left-over rows_per_partition_to_cache (CASSANDRA-7493)
* Fix error when CONTAINS is used with a bind marker (CASSANDRA-7502)
* Properly reject unknown UDT field (CASSANDRA-7484)
Merged from 2.0:
* Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
* Support DISTINCT for static columns and fix behaviour when DISTINC is
not use (CASSANDRA-7305).
* Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
* Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
* Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
operations to incorrect become full QUORUM (CASSANDRA-7345)
* Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
* (Hadoop) close CqlRecordWriter clients when finished (CASSANDRA-7459)
* Commit disk failure policy (CASSANDRA-7429)
* Make sure high level sstables get compacted (CASSANDRA-7414)
* Fix AssertionError when using empty clustering columns and static columns
(CASSANDRA-7455)
* Add option to disable STCS in L0 (CASSANDRA-6621)
* Upgrade to snappy-java 1.0.5.2 (CASSANDRA-7476)
2.1.0-rc2
* Fix heap size calculation for CompoundSparseCellName and
CompoundSparseCellName.WithCollection (CASSANDRA-7421)
* Allow counter mutations in UNLOGGED batches (CASSANDRA-7351)
* Modify reconcile logic to always pick a tombstone over a counter cell
(CASSANDRA-7346)
* Avoid incremental compaction on Windows (CASSANDRA-7365)
* Fix exception when querying a composite-keyed table with a collection index
(CASSANDRA-7372)
* Use node's host id in place of counter ids (CASSANDRA-7366)
* Fix error when doing reversed queries with static columns (CASSANDRA-7490)
* Backport CASSANDRA-6747 (CASSANDRA-7560)
* Track max/min timestamps for range tombstones (CASSANDRA-7647)
* Fix NPE when listing saved caches dir (CASSANDRA-7632)
* Fix sstableloader unable to connect encrypted node (CASSANDRA-7585)
Merged from 1.2:
* Clone token map outside of hot gossip loops (CASSANDRA-7758)
* Add stop method to EmbeddedCassandraService (CASSANDRA-7595)
* Support connecting to ipv6 jmx with nodetool (CASSANDRA-7669)
* Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
* SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
* Set correct stream ID on responses when non-Exception Throwables
are thrown while handling native protocol messages (CASSANDRA-7470)
* Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543)
* Fix race in background compaction check (CASSANDRA-7745)
* Don't clear out range tombstones during compaction (CASSANDRA-7808)
2.1.0-rc1
* Revert flush directory (CASSANDRA-6357)
* More efficient executor service for fast operations (CASSANDRA-4718)
* Move less common tools into a new cassandra-tools package (CASSANDRA-7160)
* Support more concurrent requests in native protocol (CASSANDRA-7231)
* Add tab-completion to debian nodetool packaging (CASSANDRA-6421)
* Change concurrent_compactors defaults (CASSANDRA-7139)
* Add PowerShell Windows launch scripts (CASSANDRA-7001)
* Make commitlog archive+restore more robust (CASSANDRA-6974)
* Fix marking commitlogsegments clean (CASSANDRA-6959)
* Add snapshot "manifest" describing files included (CASSANDRA-6326)
* Parallel streaming for sstableloader (CASSANDRA-3668)
* Fix bugs in supercolumns handling (CASSANDRA-7138)
* Fix ClassClassException on composite dense tables (CASSANDRA-7112)
* Cleanup and optimize collation and slice iterators (CASSANDRA-7107)
* Upgrade NBHM lib (CASSANDRA-7128)
* Optimize netty server (CASSANDRA-6861)
* Fix repair hang when given CF does not exist (CASSANDRA-7189)
* Allow c* to be shutdown in an embedded mode (CASSANDRA-5635)
* Add server side batching to native transport (CASSANDRA-5663)
* Make batchlog replay asynchronous (CASSANDRA-6134)
* remove unused classes (CASSANDRA-7197)
* Limit user types to the keyspace they are defined in (CASSANDRA-6643)
* Add validate method to CollectionType (CASSANDRA-7208)
* New serialization format for UDT values (CASSANDRA-7209, CASSANDRA-7261)
* Fix nodetool netstats (CASSANDRA-7270)
* Fix potential ClassCastException in HintedHandoffManager (CASSANDRA-7284)
* Use prepared statements internally (CASSANDRA-6975)
* Fix broken paging state with prepared statement (CASSANDRA-7120)
* Fix IllegalArgumentException in CqlStorage (CASSANDRA-7287)
* Allow nulls/non-existant fields in UDT (CASSANDRA-7206)
* Add Thrift MultiSliceRequest (CASSANDRA-6757, CASSANDRA-7027)
* Handle overlapping MultiSlices (CASSANDRA-7279)
* Fix DataOutputTest on Windows (CASSANDRA-7265)
* Embedded sets in user defined data-types are not updating (CASSANDRA-7267)
* Add tuple type to CQL/native protocol (CASSANDRA-7248)
* Fix CqlPagingRecordReader on tables with few rows (CASSANDRA-7322)
Merged from 2.0:
* Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
* Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
* Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
* Always reallocate buffers in HSHA (CASSANDRA-6285)
* (Hadoop) support authentication in CqlRecordReader (CASSANDRA-7221)
* (Hadoop) Close java driver Cluster in CQLRR.close (CASSANDRA-7228)
* Warn when 'USING TIMESTAMP' is used on a CAS BATCH (CASSANDRA-7067)
* return all cpu values from BackgroundActivityMonitor.readAndCompute (CASSANDRA-7183)
* Correctly delete scheduled range xfers (CASSANDRA-7143)
* return all cpu values from BackgroundActivityMonitor.readAndCompute (CASSANDRA-7183)
* reduce garbage creation in calculatePendingRanges (CASSANDRA-7191)
* fix c* launch issues on Russian os's due to output of linux 'free' cmd (CASSANDRA-6162)
* Fix disabling autocompaction (CASSANDRA-7187)
* Fix potential NumberFormatException when deserializing IntegerType (CASSANDRA-7088)
* cqlsh can't tab-complete disabling compaction (CASSANDRA-7185)
* cqlsh: Accept and execute CQL statement(s) from command-line parameter (CASSANDRA-7172)
* Fix IllegalStateException in CqlPagingRecordReader (CASSANDRA-7198)
* Fix the InvertedIndex trigger example (CASSANDRA-7211)
* Add --resolve-ip option to 'nodetool ring' (CASSANDRA-7210)
* reduce garbage on codec flag deserialization (CASSANDRA-7244)
* Fix duplicated error messages on directory creation error at startup (CASSANDRA-5818)
* Proper null handle for IF with map element access (CASSANDRA-7155)
* Improve compaction visibility (CASSANDRA-7242)
* Correctly delete scheduled range xfers (CASSANDRA-7143)
* Make batchlog replica selection rack-aware (CASSANDRA-6551)
* Fix CFMetaData#getColumnDefinitionFromColumnName() (CASSANDRA-7074)
* Fix writetime/ttl functions for static columns (CASSANDRA-7081)
* Suggest CTRL-C or semicolon after three blank lines in cqlsh (CASSANDRA-7142)
* Fix 2ndary index queries with DESC clustering order (CASSANDRA-6950)
* Invalid key cache entries on DROP (CASSANDRA-6525)
* Fix flapping RecoveryManagerTest (CASSANDRA-7084)
* Add missing iso8601 patterns for date strings (CASSANDRA-6973)
* Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
* Add authentication support to shuffle (CASSANDRA-6484)
* Swap local and global default read repair chances (CASSANDRA-7320)
* Add conditional CREATE/DROP USER support (CASSANDRA-7264)
* Cqlsh counts non-empty lines for "Blank lines" warning (CASSANDRA-7325)
Merged from 1.2:
* Add Cloudstack snitch (CASSANDRA-7147)
* Update system.peers correctly when relocating tokens (CASSANDRA-7126)
* Add Google Compute Engine snitch (CASSANDRA-7132)
* remove duplicate query for local tokens (CASSANDRA-7182)
* exit CQLSH with error status code if script fails (CASSANDRA-6344)
* Fix bug with some IN queries missig results (CASSANDRA-7105)
* Fix availability validation for LOCAL_ONE CL (CASSANDRA-7319)
* Hint streaming can cause decommission to fail (CASSANDRA-7219)
2.1.0-beta2
* Increase default CL space to 8GB (CASSANDRA-7031)
* Add range tombstones to read repair digests (CASSANDRA-6863)
* Fix BTree.clear for large updates (CASSANDRA-6943)
* Fail write instead of logging a warning when unable to append to CL
(CASSANDRA-6764)
* Eliminate possibility of CL segment appearing twice in active list
(CASSANDRA-6557)
* Apply DONTNEED fadvise to commitlog segments (CASSANDRA-6759)
* Switch CRC component to Adler and include it for compressed sstables
(CASSANDRA-4165)
* Allow cassandra-stress to set compaction strategy options (CASSANDRA-6451)
* Add broadcast_rpc_address option to cassandra.yaml (CASSANDRA-5899)
* Auto reload GossipingPropertyFileSnitch config (CASSANDRA-5897)
* Fix overflow of memtable_total_space_in_mb (CASSANDRA-6573)
* Fix ABTC NPE and apply update function correctly (CASSANDRA-6692)
* Allow nodetool to use a file or prompt for password (CASSANDRA-6660)
* Fix AIOOBE when concurrently accessing ABSC (CASSANDRA-6742)
* Fix assertion error in ALTER TYPE RENAME (CASSANDRA-6705)
* Scrub should not always clear out repaired status (CASSANDRA-5351)
* Improve handling of range tombstone for wide partitions (CASSANDRA-6446)
* Fix ClassCastException for compact table with composites (CASSANDRA-6738)
* Fix potentially repairing with wrong nodes (CASSANDRA-6808)
* Change caching option syntax (CASSANDRA-6745)
* Fix stress to do proper counter reads (CASSANDRA-6835)
* Fix help message for stress counter_write (CASSANDRA-6824)
* Fix stress smart Thrift client to pick servers correctly (CASSANDRA-6848)
* Add logging levels (minimal, normal or verbose) to stress tool (CASSANDRA-6849)
* Fix race condition in Batch CLE (CASSANDRA-6860)
* Improve cleanup/scrub/upgradesstables failure handling (CASSANDRA-6774)
* ByteBuffer write() methods for serializing sstables (CASSANDRA-6781)
* Proper compare function for CollectionType (CASSANDRA-6783)
* Update native server to Netty 4 (CASSANDRA-6236)
* Fix off-by-one error in stress (CASSANDRA-6883)
* Make OpOrder AutoCloseable (CASSANDRA-6901)
* Remove sync repair JMX interface (CASSANDRA-6900)
* Add multiple memory allocation options for memtables (CASSANDRA-6689, 6694)
* Remove adjusted op rate from stress output (CASSANDRA-6921)
* Add optimized CF.hasColumns() implementations (CASSANDRA-6941)
* Serialize batchlog mutations with the version of the target node
(CASSANDRA-6931)
* Optimize CounterColumn#reconcile() (CASSANDRA-6953)
* Properly remove 1.2 sstable support in 2.1 (CASSANDRA-6869)
* Lock counter cells, not partitions (CASSANDRA-6880)
* Track presence of legacy counter shards in sstables (CASSANDRA-6888)
* Ensure safe resource cleanup when replacing sstables (CASSANDRA-6912)
* Add failure handler to async callback (CASSANDRA-6747)
* Fix AE when closing SSTable without releasing reference (CASSANDRA-7000)
* Clean up IndexInfo on keyspace/table drops (CASSANDRA-6924)
* Only snapshot relative SSTables when sequential repair (CASSANDRA-7024)
* Require nodetool rebuild_index to specify index names (CASSANDRA-7038)
* fix cassandra stress errors on reads with native protocol (CASSANDRA-7033)
* Use OpOrder to guard sstable references for reads (CASSANDRA-6919)
* Preemptive opening of compaction result (CASSANDRA-6916)
* Multi-threaded scrub/cleanup/upgradesstables (CASSANDRA-5547)
* Optimize cellname comparison (CASSANDRA-6934)
* Native protocol v3 (CASSANDRA-6855)
* Optimize Cell liveness checks and clean up Cell (CASSANDRA-7119)
* Support consistent range movements (CASSANDRA-2434)
* Display min timestamp in sstablemetadata viewer (CASSANDRA-6767)
Merged from 2.0:
* Avoid race-prone second "scrub" of system keyspace (CASSANDRA-6797)
* Pool CqlRecordWriter clients by inetaddress rather than Range
(CASSANDRA-6665)
* Fix compaction_history timestamps (CASSANDRA-6784)
* Compare scores of full replica ordering in DES (CASSANDRA-6683)
* fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577)
* Allow repairing between specific replicas (CASSANDRA-6440)
* Allow per-dc enabling of hints (CASSANDRA-6157)
* Add compatibility for Hadoop 0.2.x (CASSANDRA-5201)
* Fix EstimatedHistogram races (CASSANDRA-6682)
* Failure detector correctly converts initial value to nanos (CASSANDRA-6658)
* Add nodetool taketoken to relocate vnodes (CASSANDRA-4445)
* Expose bulk loading progress over JMX (CASSANDRA-4757)
* Correctly handle null with IF conditions and TTL (CASSANDRA-6623)
* Account for range/row tombstones in tombstone drop
time histogram (CASSANDRA-6522)
* Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652)
* Make commitlog failure handling configurable (CASSANDRA-6364)
* Avoid overlaps in LCS (CASSANDRA-6688)
* Improve support for paginating over composites (CASSANDRA-4851)
* Fix count(*) queries in a mixed cluster (CASSANDRA-6707)
* Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566)
* Fix replaying pre-2.0 commit logs (CASSANDRA-6714)
* Add static columns to CQL3 (CASSANDRA-6561)
* Optimize single partition batch statements (CASSANDRA-6737)
* Disallow post-query re-ordering when paging (CASSANDRA-6722)
* Fix potential paging bug with deleted columns (CASSANDRA-6748)
* Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636)
* Fix truncating compression metadata (CASSANDRA-6791)
* Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541)
* Catch memtable flush exceptions during shutdown (CASSANDRA-6735)
* Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
* Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782)
* Fix IllegalArgumentException when updating from 1.2 with SuperColumns
(CASSANDRA-6733)
* FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778)
* Fix CQLSStableWriter.addRow(Map<String, Object>) (CASSANDRA-6526)
* Fix HSHA server introducing corrupt data (CASSANDRA-6285)
* Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813)
* Starting threads in OutboundTcpConnectionPool constructor causes race conditions (CASSANDRA-7177)
* Allow overriding cassandra-rackdc.properties file (CASSANDRA-7072)
* Set JMX RMI port to 7199 (CASSANDRA-7087)
* Use LOCAL_QUORUM for data reads at LOCAL_SERIAL (CASSANDRA-6939)
* Log a warning for large batches (CASSANDRA-6487)
* Put nodes in hibernate when join_ring is false (CASSANDRA-6961)
* Avoid early loading of non-system keyspaces before compaction-leftovers
cleanup at startup (CASSANDRA-6913)
* Restrict Windows to parallel repairs (CASSANDRA-6907)
* (Hadoop) Allow manually specifying start/end tokens in CFIF (CASSANDRA-6436)
* Fix NPE in MeteredFlusher (CASSANDRA-6820)
* Fix race processing range scan responses (CASSANDRA-6820)
* Allow deleting snapshots from dropped keyspaces (CASSANDRA-6821)
* Add uuid() function (CASSANDRA-6473)
* Omit tombstones from schema digests (CASSANDRA-6862)
* Include correct consistencyLevel in LWT timeout (CASSANDRA-6884)
* Lower chances for losing new SSTables during nodetool refresh and
ColumnFamilyStore.loadNewSSTables (CASSANDRA-6514)
* Add support for DELETE ... IF EXISTS to CQL3 (CASSANDRA-5708)
* Update hadoop_cql3_word_count example (CASSANDRA-6793)
* Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788)
* Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865)
* Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864)
* Fix schema concurrency exceptions (CASSANDRA-6841)
* Fix leaking validator FH in StreamWriter (CASSANDRA-6832)
* Fix saving triggers to schema (CASSANDRA-6789)
* Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790)
* Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838)
* Fix static counter columns (CASSANDRA-6827)
* Restore expiring->deleted (cell) compaction optimization (CASSANDRA-6844)
* Fix CompactionManager.needsCleanup (CASSANDRA-6845)
* Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779)
* Read message id as string from earlier versions (CASSANDRA-6840)
* Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837)
* Add paranoid disk failure option (CASSANDRA-6646)
* Improve PerRowSecondaryIndex performance (CASSANDRA-6876)
* Extend triggers to support CAS updates (CASSANDRA-6882)
* Static columns with IF NOT EXISTS don't always work as expected (CASSANDRA-6873)
* Fix paging with SELECT DISTINCT (CASSANDRA-6857)
* Fix UnsupportedOperationException on CAS timeout (CASSANDRA-6923)
* Improve MeteredFlusher handling of MF-unaffected column families
(CASSANDRA-6867)
* Add CqlRecordReader using native pagination (CASSANDRA-6311)
* Add QueryHandler interface (CASSANDRA-6659)
* Track liveRatio per-memtable, not per-CF (CASSANDRA-6945)
* Make sure upgradesstables keeps sstable level (CASSANDRA-6958)
* Fix LIMIT with static columns (CASSANDRA-6956)
* Fix clash with CQL column name in thrift validation (CASSANDRA-6892)
* Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966)
* Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825)
* Fix unintended update with conditional statement (CASSANDRA-6893)
* Fix map element access in IF (CASSANDRA-6914)
* Avoid costly range calculations for range queries on system keyspaces
(CASSANDRA-6906)
* Fix SSTable not released if stream session fails (CASSANDRA-6818)
* Avoid build failure due to ANTLR timeout (CASSANDRA-6991)
* Queries on compact tables can return more rows that requested (CASSANDRA-7052)
* USING TIMESTAMP for batches does not work (CASSANDRA-7053)
* Fix performance regression from CASSANDRA-5614 (CASSANDRA-6949)
* Ensure that batchlog and hint timeouts do not produce hints (CASSANDRA-7058)
* Merge groupable mutations in TriggerExecutor#execute() (CASSANDRA-7047)
* Plug holes in resource release when wiring up StreamSession (CASSANDRA-7073)
* Re-add parameter columns to tracing session (CASSANDRA-6942)
* Preserves CQL metadata when updating table from thrift (CASSANDRA-6831)
Merged from 1.2:
* Fix nodetool display with vnodes (CASSANDRA-7082)
* Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)
* add extra SSL cipher suites (CASSANDRA-6613)
* fix nodetool getsstables for blob PK (CASSANDRA-6803)
* Fix BatchlogManager#deleteBatch() use of millisecond timestamps
(CASSANDRA-6822)
* Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
* Schedule schema pulls on change (CASSANDRA-6971)
* Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
* Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
* Fix batchlog to account for CF truncation records (CASSANDRA-6999)
* Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
* Properly load trustore in the native protocol (CASSANDRA-6847)
* Always clean up references in SerializingCache (CASSANDRA-6994)
* Don't shut MessagingService down when replacing a node (CASSANDRA-6476)
* fix npe when doing -Dcassandra.fd_initial_value_ms (CASSANDRA-6751)
2.1.0-beta1
* Add flush directory distinct from compaction directories (CASSANDRA-6357)
* Require JNA by default (CASSANDRA-6575)
* add listsnapshots command to nodetool (CASSANDRA-5742)
* Introduce AtomicBTreeColumns (CASSANDRA-6271, 6692)
* Multithreaded commitlog (CASSANDRA-3578)
* allocate fixed index summary memory pool and resample cold index summaries
to use less memory (CASSANDRA-5519)
* Removed multithreaded compaction (CASSANDRA-6142)
* Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337)
* change logging from log4j to logback (CASSANDRA-5883)
* switch to LZ4 compression for internode communication (CASSANDRA-5887)
* Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
* Remove 1.2 network compatibility code (CASSANDRA-5960)
* Remove leveled json manifest migration code (CASSANDRA-5996)
* Remove CFDefinition (CASSANDRA-6253)
* Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278)
* User-defined types for CQL3 (CASSANDRA-5590)
* Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406)
* Batch read from OTC's queue and cleanup (CASSANDRA-1632)
* Secondary index support for collections (CASSANDRA-4511, 6383)
* SSTable metadata(Stats.db) format change (CASSANDRA-6356)
* Push composites support in the storage engine
(CASSANDRA-5417, CASSANDRA-6520)
* Add snapshot space used to cfstats (CASSANDRA-6231)
* Add cardinality estimator for key count estimation (CASSANDRA-5906)
* CF id is changed to be non-deterministic. Data dir/key cache are created
uniquely for CF id (CASSANDRA-5202)
* New counters implementation (CASSANDRA-6504)
* Replace UnsortedColumns, EmptyColumns, TreeMapBackedSortedColumns with new
ArrayBackedSortedColumns (CASSANDRA-6630, CASSANDRA-6662, CASSANDRA-6690)
* Add option to use row cache with a given amount of rows (CASSANDRA-5357)
* Avoid repairing already repaired data (CASSANDRA-5351)
* Reject counter updates with USING TTL/TIMESTAMP (CASSANDRA-6649)
* Replace index_interval with min/max_index_interval (CASSANDRA-6379)
* Lift limitation that order by columns must be selected for IN queries (CASSANDRA-4911)
2.0.5
* Reduce garbage generated by bloom filter lookups (CASSANDRA-6609)
* Add ks.cf names to tombstone logging (CASSANDRA-6597)
* Use LOCAL_QUORUM for LWT operations at LOCAL_SERIAL (CASSANDRA-6495)
* Wait for gossip to settle before accepting client connections (CASSANDRA-4288)
* Delete unfinished compaction incrementally (CASSANDRA-6086)
* Allow specifying custom secondary index options in CQL3 (CASSANDRA-6480)
* Improve replica pinning for cache efficiency in DES (CASSANDRA-6485)
* Fix LOCAL_SERIAL from thrift (CASSANDRA-6584)
* Don't special case received counts in CAS timeout exceptions (CASSANDRA-6595)
* Add support for 2.1 global counter shards (CASSANDRA-6505)
* Fix NPE when streaming connection is not yet established (CASSANDRA-6210)
* Avoid rare duplicate read repair triggering (CASSANDRA-6606)
* Fix paging discardFirst (CASSANDRA-6555)
* Fix ArrayIndexOutOfBoundsException in 2ndary index query (CASSANDRA-6470)
* Release sstables upon rebuilding 2i (CASSANDRA-6635)
* Add AbstractCompactionStrategy.startup() method (CASSANDRA-6637)
* SSTableScanner may skip rows during cleanup (CASSANDRA-6638)
* sstables from stalled repair sessions can resurrect deleted data (CASSANDRA-6503)
* Switch stress to use ITransportFactory (CASSANDRA-6641)
* Fix IllegalArgumentException during prepare (CASSANDRA-6592)
* Fix possible loss of 2ndary index entries during compaction (CASSANDRA-6517)
* Fix direct Memory on architectures that do not support unaligned long access
(CASSANDRA-6628)
* Let scrub optionally skip broken counter partitions (CASSANDRA-5930)
Merged from 1.2:
* fsync compression metadata (CASSANDRA-6531)
* Validate CF existence on execution for prepared statement (CASSANDRA-6535)
* Add ability to throttle batchlog replay (CASSANDRA-6550)
* Fix executing LOCAL_QUORUM with SimpleStrategy (CASSANDRA-6545)
* Avoid StackOverflow when using large IN queries (CASSANDRA-6567)
* Nodetool upgradesstables includes secondary indexes (CASSANDRA-6598)
* Paginate batchlog replay (CASSANDRA-6569)
* skip blocking on streaming during drain (CASSANDRA-6603)
* Improve error message when schema doesn't match loaded sstable (CASSANDRA-6262)
* Add properties to adjust FD initial value and max interval (CASSANDRA-4375)
* Fix preparing with batch and delete from collection (CASSANDRA-6607)
* Fix ABSC reverse iterator's remove() method (CASSANDRA-6629)
* Handle host ID conflicts properly (CASSANDRA-6615)
* Move handling of migration event source to solve bootstrap race. (CASSANDRA-6648)
* Make sure compaction throughput value doesn't overflow with int math (CASSANDRA-6647)
2.0.4
* Allow removing snapshots of no-longer-existing CFs (CASSANDRA-6418)
* add StorageService.stopDaemon() (CASSANDRA-4268)
* add IRE for invalid CF supplied to get_count (CASSANDRA-5701)
* add client encryption support to sstableloader (CASSANDRA-6378)
* Fix accept() loop for SSL sockets post-shutdown (CASSANDRA-6468)
* Fix size-tiered compaction in LCS L0 (CASSANDRA-6496)
* Fix assertion failure in filterColdSSTables (CASSANDRA-6483)
* Fix row tombstones in larger-than-memory compactions (CASSANDRA-6008)
* Fix cleanup ClassCastException (CASSANDRA-6462)
* Reduce gossip memory use by interning VersionedValue strings (CASSANDRA-6410)
* Allow specifying datacenters to participate in a repair (CASSANDRA-6218)
* Fix divide-by-zero in PCI (CASSANDRA-6403)
* Fix setting last compacted key in the wrong level for LCS (CASSANDRA-6284)
* Add millisecond precision formats to the timestamp parser (CASSANDRA-6395)
* Expose a total memtable size metric for a CF (CASSANDRA-6391)
* cqlsh: handle symlinks properly (CASSANDRA-6425)
* Fix potential infinite loop when paging query with IN (CASSANDRA-6464)
* Fix assertion error in AbstractQueryPager.discardFirst (CASSANDRA-6447)
* Fix streaming older SSTable yields unnecessary tombstones (CASSANDRA-6527)
Merged from 1.2:
* Improved error message on bad properties in DDL queries (CASSANDRA-6453)
* Randomize batchlog candidates selection (CASSANDRA-6481)
* Fix thundering herd on endpoint cache invalidation (CASSANDRA-6345, 6485)
* Improve batchlog write performance with vnodes (CASSANDRA-6488)
* cqlsh: quote single quotes in strings inside collections (CASSANDRA-6172)
* Improve gossip performance for typical messages (CASSANDRA-6409)
* Throw IRE if a prepared statement has more markers than supported
(CASSANDRA-5598)
* Expose Thread metrics for the native protocol server (CASSANDRA-6234)
* Change snapshot response message verb to INTERNAL to avoid dropping it
(CASSANDRA-6415)
* Warn when collection read has > 65K elements (CASSANDRA-5428)
* Fix cache persistence when both row and key cache are enabled
(CASSANDRA-6413)
* (Hadoop) add describe_local_ring (CASSANDRA-6268)
* Fix handling of concurrent directory creation failure (CASSANDRA-6459)
* Allow executing CREATE statements multiple times (CASSANDRA-6471)
* Don't send confusing info with timeouts (CASSANDRA-6491)
* Don't resubmit counter mutation runnables internally (CASSANDRA-6427)
* Don't drop local mutations without a hint (CASSANDRA-6510)
* Don't allow null max_hint_window_in_ms (CASSANDRA-6419)
* Validate SliceRange start and finish lengths (CASSANDRA-6521)
2.0.3
* Fix FD leak on slice read path (CASSANDRA-6275)
* Cancel read meter task when closing SSTR (CASSANDRA-6358)
* free off-heap IndexSummary during bulk (CASSANDRA-6359)
* Recover from IOException in accept() thread (CASSANDRA-6349)
* Improve Gossip tolerance of abnormally slow tasks (CASSANDRA-6338)
* Fix trying to hint timed out counter writes (CASSANDRA-6322)
* Allow restoring specific columnfamilies from archived CL (CASSANDRA-4809)
* Avoid flushing compaction_history after each operation (CASSANDRA-6287)
* Fix repair assertion error when tombstones expire (CASSANDRA-6277)
* Skip loading corrupt key cache (CASSANDRA-6260)
* Fixes for compacting larger-than-memory rows (CASSANDRA-6274)
* Compact hottest sstables first and optionally omit coldest from
compaction entirely (CASSANDRA-6109)
* Fix modifying column_metadata from thrift (CASSANDRA-6182)
* cqlsh: fix LIST USERS output (CASSANDRA-6242)
* Add IRequestSink interface (CASSANDRA-6248)
* Update memtable size while flushing (CASSANDRA-6249)
* Provide hooks around CQL2/CQL3 statement execution (CASSANDRA-6252)
* Require Permission.SELECT for CAS updates (CASSANDRA-6247)
* New CQL-aware SSTableWriter (CASSANDRA-5894)
* Reject CAS operation when the protocol v1 is used (CASSANDRA-6270)
* Correctly throw error when frame too large (CASSANDRA-5981)
* Fix serialization bug in PagedRange with 2ndary indexes (CASSANDRA-6299)
* Fix CQL3 table validation in Thrift (CASSANDRA-6140)
* Fix bug missing results with IN clauses (CASSANDRA-6327)
* Fix paging with reversed slices (CASSANDRA-6343)
* Set minTimestamp correctly to be able to drop expired sstables (CASSANDRA-6337)
* Support NaN and Infinity as float literals (CASSANDRA-6003)
* Remove RF from nodetool ring output (CASSANDRA-6289)
* Fix attempting to flush empty rows (CASSANDRA-6374)
* Fix potential out of bounds exception when paging (CASSANDRA-6333)
Merged from 1.2:
* Optimize FD phi calculation (CASSANDRA-6386)
* Improve initial FD phi estimate when starting up (CASSANDRA-6385)
* Don't list CQL3 table in CLI describe even if named explicitely
(CASSANDRA-5750)
* Invalidate row cache when dropping CF (CASSANDRA-6351)
* add non-jamm path for cached statements (CASSANDRA-6293)
* add windows bat files for shell commands (CASSANDRA-6145)
* Require logging in for Thrift CQL2/3 statement preparation (CASSANDRA-6254)
* restrict max_num_tokens to 1536 (CASSANDRA-6267)
* Nodetool gets default JMX port from cassandra-env.sh (CASSANDRA-6273)
* make calculatePendingRanges asynchronous (CASSANDRA-6244)
* Remove blocking flushes in gossip thread (CASSANDRA-6297)
* Fix potential socket leak in connectionpool creation (CASSANDRA-6308)
* Allow LOCAL_ONE/LOCAL_QUORUM to work with SimpleStrategy (CASSANDRA-6238)
* cqlsh: handle 'null' as session duration (CASSANDRA-6317)
* Fix json2sstable handling of range tombstones (CASSANDRA-6316)
* Fix missing one row in reverse query (CASSANDRA-6330)
* Fix reading expired row value from row cache (CASSANDRA-6325)
* Fix AssertionError when doing set element deletion (CASSANDRA-6341)
* Make CL code for the native protocol match the one in C* 2.0
(CASSANDRA-6347)
* Disallow altering CQL3 table from thrift (CASSANDRA-6370)
* Fix size computation of prepared statement (CASSANDRA-6369)
2.0.2
* Update FailureDetector to use nanontime (CASSANDRA-4925)
* Fix FileCacheService regressions (CASSANDRA-6149)
* Never return WriteTimeout for CL.ANY (CASSANDRA-6132)
* Fix race conditions in bulk loader (CASSANDRA-6129)
* Add configurable metrics reporting (CASSANDRA-4430)
* drop queries exceeding a configurable number of tombstones (CASSANDRA-6117)
* Track and persist sstable read activity (CASSANDRA-5515)
* Fixes for speculative retry (CASSANDRA-5932, CASSANDRA-6194)
* Improve memory usage of metadata min/max column names (CASSANDRA-6077)
* Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081)
* Fix insertion of collections with CAS (CASSANDRA-6069)
* Correctly send metadata on SELECT COUNT (CASSANDRA-6080)
* Track clients' remote addresses in ClientState (CASSANDRA-6070)
* Create snapshot dir if it does not exist when migrating
leveled manifest (CASSANDRA-6093)
* make sequential nodetool repair the default (CASSANDRA-5950)
* Add more hooks for compaction strategy implementations (CASSANDRA-6111)
* Fix potential NPE on composite 2ndary indexes (CASSANDRA-6098)
* Delete can potentially be skipped in batch (CASSANDRA-6115)
* Allow alter keyspace on system_traces (CASSANDRA-6016)
* Disallow empty column names in cql (CASSANDRA-6136)
* Use Java7 file-handling APIs and fix file moving on Windows (CASSANDRA-5383)
* Save compaction history to system keyspace (CASSANDRA-5078)
* Fix NPE if StorageService.getOperationMode() is executed before full startup (CASSANDRA-6166)
* CQL3: support pre-epoch longs for TimestampType (CASSANDRA-6212)
* Add reloadtriggers command to nodetool (CASSANDRA-4949)
* cqlsh: ignore empty 'value alias' in DESCRIBE (CASSANDRA-6139)
* Fix sstable loader (CASSANDRA-6205)
* Reject bootstrapping if the node already exists in gossip (CASSANDRA-5571)
* Fix NPE while loading paxos state (CASSANDRA-6211)
* cqlsh: add SHOW SESSION <tracing-session> command (CASSANDRA-6228)
Merged from 1.2:
* (Hadoop) Require CFRR batchSize to be at least 2 (CASSANDRA-6114)
* Add a warning for small LCS sstable size (CASSANDRA-6191)
* Add ability to list specific KS/CF combinations in nodetool cfstats (CASSANDRA-4191)
* Mark CF clean if a mutation raced the drop and got it marked dirty (CASSANDRA-5946)
* Add a LOCAL_ONE consistency level (CASSANDRA-6202)
* Limit CQL prepared statement cache by size instead of count (CASSANDRA-6107)
* Tracing should log write failure rather than raw exceptions (CASSANDRA-6133)
* lock access to TM.endpointToHostIdMap (CASSANDRA-6103)
* Allow estimated memtable size to exceed slab allocator size (CASSANDRA-6078)
* Start MeteredFlusher earlier to prevent OOM during CL replay (CASSANDRA-6087)
* Avoid sending Truncate command to fat clients (CASSANDRA-6088)
* Allow where clause conditions to be in parenthesis (CASSANDRA-6037)
* Do not open non-ssl storage port if encryption option is all (CASSANDRA-3916)
* Move batchlog replay to its own executor (CASSANDRA-6079)
* Add tombstone debug threshold and histogram (CASSANDRA-6042, 6057)
* Enable tcp keepalive on incoming connections (CASSANDRA-4053)
* Fix fat client schema pull NPE (CASSANDRA-6089)
* Fix memtable flushing for indexed tables (CASSANDRA-6112)
* Fix skipping columns with multiple slices (CASSANDRA-6119)
* Expose connected thrift + native client counts (CASSANDRA-5084)
* Optimize auth setup (CASSANDRA-6122)
* Trace index selection (CASSANDRA-6001)
* Update sstablesPerReadHistogram to use biased sampling (CASSANDRA-6164)
* Log UnknownColumnfamilyException when closing socket (CASSANDRA-5725)
* Properly error out on CREATE INDEX for counters table (CASSANDRA-6160)
* Handle JMX notification failure for repair (CASSANDRA-6097)
* (Hadoop) Fetch no more than 128 splits in parallel (CASSANDRA-6169)
* stress: add username/password authentication support (CASSANDRA-6068)
* Fix indexed queries with row cache enabled on parent table (CASSANDRA-5732)
* Fix compaction race during columnfamily drop (CASSANDRA-5957)
* Fix validation of empty column names for compact tables (CASSANDRA-6152)
* Skip replaying mutations that pass CRC but fail to deserialize (CASSANDRA-6183)
* Rework token replacement to use replace_address (CASSANDRA-5916)
* Fix altering column types (CASSANDRA-6185)
* cqlsh: fix CREATE/ALTER WITH completion (CASSANDRA-6196)
* add windows bat files for shell commands (CASSANDRA-6145)
* Fix potential stack overflow during range tombstones insertion (CASSANDRA-6181)
* (Hadoop) Make LOCAL_ONE the default consistency level (CASSANDRA-6214)
2.0.1
* Fix bug that could allow reading deleted data temporarily (CASSANDRA-6025)
* Improve memory use defaults (CASSANDRA-6059)
* Make ThriftServer more easlly extensible (CASSANDRA-6058)
* Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062)
* add file_cache_size_in_mb setting (CASSANDRA-5661)
* Improve error message when yaml contains invalid properties (CASSANDRA-5958)
* Improve leveled compaction's ability to find non-overlapping L0 compactions
to work on concurrently (CASSANDRA-5921)
* Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
* Log Merkle tree stats (CASSANDRA-2698)
* Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862)
* Improve offheap memcpy performance (CASSANDRA-5884)
* Use a range aware scanner for cleanup (CASSANDRA-2524)
* Cleanup doesn't need to inspect sstables that contain only local data
(CASSANDRA-5722)
* Add ability for CQL3 to list partition keys (CASSANDRA-4536)
* Improve native protocol serialization (CASSANDRA-5664)
* Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
* Require superuser status for adding triggers (CASSANDRA-5963)
* Make standalone scrubber handle old and new style leveled manifest
(CASSANDRA-6005)
* Fix paxos bugs (CASSANDRA-6012, 6013, 6023)
* Fix paged ranges with multiple replicas (CASSANDRA-6004)
* Fix potential AssertionError during tracing (CASSANDRA-6041)
* Fix NPE in sstablesplit (CASSANDRA-6027)
* Migrate pre-2.0 key/value/column aliases to system.schema_columns
(CASSANDRA-6009)
* Paging filter empty rows too agressively (CASSANDRA-6040)
* Support variadic parameters for IN clauses (CASSANDRA-4210)
* cqlsh: return the result of CAS writes (CASSANDRA-5796)
* Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
* Support named bind variables in CQL (CASSANDRA-6033)
Merged from 1.2:
* Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
* Avoid second-guessing out-of-space state (CASSANDRA-5605)
* Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)
* (Hadoop) Fix CQLRW for thrift tables (CASSANDRA-6002)
* Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
* Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
* Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)
* Fix CqlRecordWriter with composite keys (CASSANDRA-5949)
* Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881)
* Allow disabling SlabAllocator (CASSANDRA-5935)
* Make user-defined compaction JMX blocking (CASSANDRA-4952)
* Fix streaming does not transfer wrapped range (CASSANDRA-5948)
* Fix loading index summary containing empty key (CASSANDRA-5965)
* Correctly handle limits in CompositesSearcher (CASSANDRA-5975)
* Pig: handle CQL collections (CASSANDRA-5867)
* Pass the updated cf to the PRSI index() method (CASSANDRA-5999)
* Allow empty CQL3 batches (as no-op) (CASSANDRA-5994)
* Support null in CQL3 functions (CASSANDRA-5910)
* Replace the deprecated MapMaker with CacheLoader (CASSANDRA-6007)
* Add SSTableDeletingNotification to DataTracker (CASSANDRA-6010)
* Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011)
* Move hints and exception count to o.a.c.metrics (CASSANDRA-6017)
* Fix memory leak in snapshot repair (CASSANDRA-6047)
* Fix sstable2sjon for CQL3 tables (CASSANDRA-5852)
2.0.0
* Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138)
* Fix periodic memtable flushing behavior with clean memtables (CASSANDRA-5931)
* Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928)
* Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938)
* Add stream session progress to JMX (CASSANDRA-4757)
* Fix NPE during CAS operation (CASSANDRA-5925)
Merged from 1.2:
* Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900)
* Don't announce schema version until we've loaded the changes locally
(CASSANDRA-5904)
* Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903)
* Properly handle parsing huge map and set literals (CASSANDRA-5893)
2.0.0-rc2
* enable vnodes by default (CASSANDRA-5869)
* fix CAS contention timeout (CASSANDRA-5830)
* fix HsHa to respect max frame size (CASSANDRA-4573)
* Fix (some) 2i on composite components omissions (CASSANDRA-5851)
* cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880)
Merged from 1.2:
* Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
* Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868)
* cqlsh: add support for multiline comments (CASSANDRA-5798)
* Handle CQL3 SELECT duplicate IN restrictions on clustering columns
(CASSANDRA-5856)
2.0.0-rc1
* improve DecimalSerializer performance (CASSANDRA-5837)
* fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690)
* fix schema-related trigger issues (CASSANDRA-5774)
* Better validation when accessing CQL3 table from thrift (CASSANDRA-5138)
* Fix assertion error during repair (CASSANDRA-5801)
* Fix range tombstone bug (CASSANDRA-5805)
* DC-local CAS (CASSANDRA-5797)
* Add a native_protocol_version column to the system.local table (CASSANRDA-5819)
* Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822)
* Fix buffer underflow on socket close (CASSANDRA-5792)
Merged from 1.2:
* Fix reading DeletionTime from 1.1-format sstables (CASSANDRA-5814)
* cqlsh: add collections support to COPY (CASSANDRA-5698)
* retry important messages for any IOException (CASSANDRA-5804)
* Allow empty IN relations in SELECT/UPDATE/DELETE statements (CASSANDRA-5626)
* cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812)
* fix bulk-loading compressed sstables (CASSANDRA-5820)
* (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter
(CASSANDRA-5824)
* update default LCS sstable size to 160MB (CASSANDRA-5727)
* Allow compacting 2Is via nodetool (CASSANDRA-5670)
* Hex-encode non-String keys in OPP (CASSANDRA-5793)
* nodetool history logging (CASSANDRA-5823)
* (Hadoop) fix support for Thrift tables in CqlPagingRecordReader
(CASSANDRA-5752)
* add "all time blocked" to StatusLogger output (CASSANDRA-5825)
* Future-proof inter-major-version schema migrations (CASSANDRA-5845)
* (Hadoop) add CqlPagingRecordReader support for ReversedType in Thrift table
(CASSANDRA-5718)
* Add -no-snapshot option to scrub (CASSANDRA-5891)
* Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903)
* Properly handle parsing huge map and set literals (CASSANDRA-5893)
* Fix LCS L0 compaction may overlap in L1 (CASSANDRA-5907)
* New sstablesplit tool to split large sstables offline (CASSANDRA-4766)
* Fix potential deadlock in native protocol server (CASSANDRA-5926)
* Disallow incompatible type change in CQL3 (CASSANDRA-5882)
Merged from 1.1:
* Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
2.0.0-beta2
* Replace countPendingHints with Hints Created metric (CASSANDRA-5746)
* Allow nodetool with no args, and with help to run without a server (CASSANDRA-5734)
* Cleanup AbstractType/TypeSerializer classes (CASSANDRA-5744)
* Remove unimplemented cli option schema-mwt (CASSANDRA-5754)
* Support range tombstones in thrift (CASSANDRA-5435)
* Normalize table-manipulating CQL3 statements' class names (CASSANDRA-5759)
* cqlsh: add missing table options to DESCRIBE output (CASSANDRA-5749)
* Fix assertion error during repair (CASSANDRA-5757)
* Fix bulkloader (CASSANDRA-5542)
* Add LZ4 compression to the native protocol (CASSANDRA-5765)
* Fix bugs in the native protocol v2 (CASSANDRA-5770)
* CAS on 'primary key only' table (CASSANDRA-5715)
* Support streaming SSTables of old versions (CASSANDRA-5772)
* Always respect protocol version in native protocol (CASSANDRA-5778)
* Fix ConcurrentModificationException during streaming (CASSANDRA-5782)
* Update deletion timestamp in Commit#updatesWithPaxosTime (CASSANDRA-5787)
* Thrift cas() method crashes if input columns are not sorted (CASSANDRA-5786)
* Order columns names correctly when querying for CAS (CASSANDRA-5788)
* Fix streaming retry (CASSANDRA-5775)
Merged from 1.2:
* if no seeds can be a reached a node won't start in a ring by itself (CASSANDRA-5768)
* add cassandra.unsafesystem property (CASSANDRA-5704)
* (Hadoop) quote identifiers in CqlPagingRecordReader (CASSANDRA-5763)
* Add replace_node functionality for vnodes (CASSANDRA-5337)
* Add timeout events to query traces (CASSANDRA-5520)
* Fix serialization of the LEFT gossip value (CASSANDRA-5696)
* Pig: support for cql3 tables (CASSANDRA-5234)
* Fix skipping range tombstones with reverse queries (CASSANDRA-5712)
* Expire entries out of ThriftSessionManager (CASSANDRA-5719)
* Don't keep ancestor information in memory (CASSANDRA-5342)
* Expose native protocol server status in nodetool info (CASSANDRA-5735)
* Fix pathetic performance of range tombstones (CASSANDRA-5677)
* Fix querying with an empty (impossible) range (CASSANDRA-5573)
* cqlsh: handle CUSTOM 2i in DESCRIBE output (CASSANDRA-5760)
* Fix minor bug in Range.intersects(Bound) (CASSANDRA-5771)
* cqlsh: handle disabled compression in DESCRIBE output (CASSANDRA-5766)
* Ensure all UP events are notified on the native protocol (CASSANDRA-5769)
* Fix formatting of sstable2json with multiple -k arguments (CASSANDRA-5781)
* Don't rely on row marker for queries in general to hide lost markers
after TTL expires (CASSANDRA-5762)
* Sort nodetool help output (CASSANDRA-5776)
* Fix column expiring during 2 phases compaction (CASSANDRA-5799)
* now() is being rejected in INSERTs when inside collections (CASSANDRA-5795)
2.0.0-beta1
* Add support for indexing clustered columns (CASSANDRA-5125)
* Removed on-heap row cache (CASSANDRA-5348)
* use nanotime consistently for node-local timeouts (CASSANDRA-5581)
* Avoid unnecessary second pass on name-based queries (CASSANDRA-5577)
* Experimental triggers (CASSANDRA-1311)
* JEMalloc support for off-heap allocation (CASSANDRA-3997)
* Single-pass compaction (CASSANDRA-4180)
* Removed token range bisection (CASSANDRA-5518)
* Removed compatibility with pre-1.2.5 sstables and network messages
(CASSANDRA-5511)
* removed PBSPredictor (CASSANDRA-5455)
* CAS support (CASSANDRA-5062, 5441, 5442, 5443, 5619, 5667)
* Leveled compaction performs size-tiered compactions in L0
(CASSANDRA-5371, 5439)
* Add yaml network topology snitch for mixed ec2/other envs (CASSANDRA-5339)
* Log when a node is down longer than the hint window (CASSANDRA-4554)
* Optimize tombstone creation for ExpiringColumns (CASSANDRA-4917)
* Improve LeveledScanner work estimation (CASSANDRA-5250, 5407)
* Replace compaction lock with runWithCompactionsDisabled (CASSANDRA-3430)
* Change Message IDs to ints (CASSANDRA-5307)
* Move sstable level information into the Stats component, removing the
need for a separate Manifest file (CASSANDRA-4872)
* avoid serializing to byte[] on commitlog append (CASSANDRA-5199)
* make index_interval configurable per columnfamily (CASSANDRA-3961, CASSANDRA-5650)
* add default_time_to_live (CASSANDRA-3974)
* add memtable_flush_period_in_ms (CASSANDRA-4237)
* replace supercolumns internally by composites (CASSANDRA-3237, 5123)
* upgrade thrift to 0.9.0 (CASSANDRA-3719)
* drop unnecessary keyspace parameter from user-defined compaction API
(CASSANDRA-5139)
* more robust solution to incomplete compactions + counters (CASSANDRA-5151)
* Change order of directory searching for c*.in.sh (CASSANDRA-3983)
* Add tool to reset SSTable compaction level for LCS (CASSANDRA-5271)
* Allow custom configuration loader (CASSANDRA-5045)
* Remove memory emergency pressure valve logic (CASSANDRA-3534)
* Reduce request latency with eager retry (CASSANDRA-4705)
* cqlsh: Remove ASSUME command (CASSANDRA-5331)
* Rebuild BF when loading sstables if bloom_filter_fp_chance
has changed since compaction (CASSANDRA-5015)
* remove row-level bloom filters (CASSANDRA-4885)
* Change Kernel Page Cache skipping into row preheating (disabled by default)
(CASSANDRA-4937)
* Improve repair by deciding on a gcBefore before sending
out TreeRequests (CASSANDRA-4932)
* Add an official way to disable compactions (CASSANDRA-5074)
* Reenable ALTER TABLE DROP with new semantics (CASSANDRA-3919)
* Add binary protocol versioning (CASSANDRA-5436)
* Swap THshaServer for TThreadedSelectorServer (CASSANDRA-5530)
* Add alias support to SELECT statement (CASSANDRA-5075)
* Don't create empty RowMutations in CommitLogReplayer (CASSANDRA-5541)
* Use range tombstones when dropping cfs/columns from schema (CASSANDRA-5579)
* cqlsh: drop CQL2/CQL3-beta support (CASSANDRA-5585)
* Track max/min column names in sstables to be able to optimize slice
queries (CASSANDRA-5514, CASSANDRA-5595, CASSANDRA-5600)
* Binary protocol: allow batching already prepared statements (CASSANDRA-4693)
* Allow preparing timestamp, ttl and limit in CQL3 queries (CASSANDRA-4450)
* Support native link w/o JNA in Java7 (CASSANDRA-3734)
* Use SASL authentication in binary protocol v2 (CASSANDRA-5545)
* Replace Thrift HsHa with LMAX Disruptor based implementation (CASSANDRA-5582)
* cqlsh: Add row count to SELECT output (CASSANDRA-5636)
* Include a timestamp with all read commands to determine column expiration
(CASSANDRA-5149)
* Streaming 2.0 (CASSANDRA-5286, 5699)
* Conditional create/drop ks/table/index statements in CQL3 (CASSANDRA-2737)
* more pre-table creation property validation (CASSANDRA-5693)
* Redesign repair messages (CASSANDRA-5426)
* Fix ALTER RENAME post-5125 (CASSANDRA-5702)
* Disallow renaming a 2ndary indexed column (CASSANDRA-5705)
* Rename Table to Keyspace (CASSANDRA-5613)
* Ensure changing column_index_size_in_kb on different nodes don't corrupt the
sstable (CASSANDRA-5454)
* Move resultset type information into prepare, not execute (CASSANDRA-5649)
* Auto paging in binary protocol (CASSANDRA-4415, 5714)
* Don't tie client side use of AbstractType to JDBC (CASSANDRA-4495)
* Adds new TimestampType to replace DateType (CASSANDRA-5723, CASSANDRA-5729)
Merged from 1.2:
* make starting native protocol server idempotent (CASSANDRA-5728)
* Fix loading key cache when a saved entry is no longer valid (CASSANDRA-5706)
* Fix serialization of the LEFT gossip value (CASSANDRA-5696)
* cqlsh: Don't show 'null' in place of empty values (CASSANDRA-5675)
* Race condition in detecting version on a mixed 1.1/1.2 cluster
(CASSANDRA-5692)
* Fix skipping range tombstones with reverse queries (CASSANDRA-5712)
* Expire entries out of ThriftSessionManager (CASSANRDA-5719)
* Don't keep ancestor information in memory (CASSANDRA-5342)
* cqlsh: fix handling of semicolons inside BATCH queries (CASSANDRA-5697)
1.2.6
* Fix tracing when operation completes before all responses arrive
(CASSANDRA-5668)
* Fix cross-DC mutation forwarding (CASSANDRA-5632)
* Reduce SSTableLoader memory usage (CASSANDRA-5555)
* Scale hinted_handoff_throttle_in_kb to cluster size (CASSANDRA-5272)
* (Hadoop) Add CQL3 input/output formats (CASSANDRA-4421, 5622)
* (Hadoop) Fix InputKeyRange in CFIF (CASSANDRA-5536)
* Fix dealing with ridiculously large max sstable sizes in LCS (CASSANDRA-5589)
* Ignore pre-truncate hints (CASSANDRA-4655)
* Move System.exit on OOM into a separate thread (CASSANDRA-5273)
* Write row markers when serializing schema (CASSANDRA-5572)
* Check only SSTables for the requested range when streaming (CASSANDRA-5569)
* Improve batchlog replay behavior and hint ttl handling (CASSANDRA-5314)
* Exclude localTimestamp from validation for tombstones (CASSANDRA-5398)
* cqlsh: add custom prompt support (CASSANDRA-5539)
* Reuse prepared statements in hot auth queries (CASSANDRA-5594)
* cqlsh: add vertical output option (see EXPAND) (CASSANDRA-5597)
* Add a rate limit option to stress (CASSANDRA-5004)
* have BulkLoader ignore snapshots directories (CASSANDRA-5587)
* fix SnitchProperties logging context (CASSANDRA-5602)
* Expose whether jna is enabled and memory is locked via JMX (CASSANDRA-5508)
* cqlsh: fix COPY FROM with ReversedType (CASSANDRA-5610)
* Allow creating CUSTOM indexes on collections (CASSANDRA-5615)
* Evaluate now() function at execution time (CASSANDRA-5616)
* Expose detailed read repair metrics (CASSANDRA-5618)
* Correct blob literal + ReversedType parsing (CASSANDRA-5629)
* Allow GPFS to prefer the internal IP like EC2MRS (CASSANDRA-5630)
* fix help text for -tspw cassandra-cli (CASSANDRA-5643)
* don't throw away initial causes exceptions for internode encryption issues
(CASSANDRA-5644)
* Fix message spelling errors for cql select statements (CASSANDRA-5647)
* Suppress custom exceptions thru jmx (CASSANDRA-5652)
* Update CREATE CUSTOM INDEX syntax (CASSANDRA-5639)
* Fix PermissionDetails.equals() method (CASSANDRA-5655)
* Never allow partition key ranges in CQL3 without token() (CASSANDRA-5666)
* Gossiper incorrectly drops AppState for an upgrading node (CASSANDRA-5660)
* Connection thrashing during multi-region ec2 during upgrade, due to
messaging version (CASSANDRA-5669)
* Avoid over reconnecting in EC2MRS (CASSANDRA-5678)
* Fix ReadResponseSerializer.serializedSize() for digest reads (CASSANDRA-5476)
* allow sstable2json on 2i CFs (CASSANDRA-5694)
Merged from 1.1:
* Remove buggy thrift max message length option (CASSANDRA-5529)
* Fix NPE in Pig's widerow mode (CASSANDRA-5488)
* Add split size parameter to Pig and disable split combination (CASSANDRA-5544)
1.2.5
* make BytesToken.toString only return hex bytes (CASSANDRA-5566)
* Ensure that submitBackground enqueues at least one task (CASSANDRA-5554)
* fix 2i updates with identical values and timestamps (CASSANDRA-5540)
* fix compaction throttling bursty-ness (CASSANDRA-4316)
* reduce memory consumption of IndexSummary (CASSANDRA-5506)
* remove per-row column name bloom filters (CASSANDRA-5492)
* Include fatal errors in trace events (CASSANDRA-5447)
* Ensure that PerRowSecondaryIndex is notified of row-level deletes
(CASSANDRA-5445)
* Allow empty blob literals in CQL3 (CASSANDRA-5452)
* Fix streaming RangeTombstones at column index boundary (CASSANDRA-5418)
* Fix preparing statements when current keyspace is not set (CASSANDRA-5468)
* Fix SemanticVersion.isSupportedBy minor/patch handling (CASSANDRA-5496)
* Don't provide oldCfId for post-1.1 system cfs (CASSANDRA-5490)
* Fix primary range ignores replication strategy (CASSANDRA-5424)
* Fix shutdown of binary protocol server (CASSANDRA-5507)
* Fix repair -snapshot not working (CASSANDRA-5512)
* Set isRunning flag later in binary protocol server (CASSANDRA-5467)
* Fix use of CQL3 functions with descending clustering order (CASSANDRA-5472)
* Disallow renaming columns one at a time for thrift table in CQL3
(CASSANDRA-5531)
* cqlsh: add CLUSTERING ORDER BY support to DESCRIBE (CASSANDRA-5528)
* Add custom secondary index support to CQL3 (CASSANDRA-5484)
* Fix repair hanging silently on unexpected error (CASSANDRA-5229)
* Fix Ec2Snitch regression introduced by CASSANDRA-5171 (CASSANDRA-5432)
* Add nodetool enablebackup/disablebackup (CASSANDRA-5556)
* cqlsh: fix DESCRIBE after case insensitive USE (CASSANDRA-5567)
Merged from 1.1
* Add retry mechanism to OTC for non-droppable_verbs (CASSANDRA-5393)
* Use allocator information to improve memtable memory usage estimate
(CASSANDRA-5497)
* Fix trying to load deleted row into row cache on startup (CASSANDRA-4463)
* fsync leveled manifest to avoid corruption (CASSANDRA-5535)
* Fix Bound intersection computation (CASSANDRA-5551)
* sstablescrub now respects max memory size in cassandra.in.sh (CASSANDRA-5562)
1.2.4
* Ensure that PerRowSecondaryIndex updates see the most recent values
(CASSANDRA-5397)
* avoid duplicate index entries ind PrecompactedRow and
ParallelCompactionIterable (CASSANDRA-5395)
* remove the index entry on oldColumn when new column is a tombstone
(CASSANDRA-5395)
* Change default stream throughput from 400 to 200 mbps (CASSANDRA-5036)
* Gossiper logs DOWN for symmetry with UP (CASSANDRA-5187)
* Fix mixing prepared statements between keyspaces (CASSANDRA-5352)
* Fix consistency level during bootstrap - strike 3 (CASSANDRA-5354)
* Fix transposed arguments in AlreadyExistsException (CASSANDRA-5362)
* Improve asynchronous hint delivery (CASSANDRA-5179)
* Fix Guava dependency version (12.0 -> 13.0.1) for Maven (CASSANDRA-5364)
* Validate that provided CQL3 collection value are < 64K (CASSANDRA-5355)
* Make upgradeSSTable skip current version sstables by default (CASSANDRA-5366)
* Optimize min/max timestamp collection (CASSANDRA-5373)
* Invalid streamId in cql binary protocol when using invalid CL
(CASSANDRA-5164)
* Fix validation for IN where clauses with collections (CASSANDRA-5376)
* Copy resultSet on count query to avoid ConcurrentModificationException
(CASSANDRA-5382)
* Correctly typecheck in CQL3 even with ReversedType (CASSANDRA-5386)
* Fix streaming compressed files when using encryption (CASSANDRA-5391)
* cassandra-all 1.2.0 pom missing netty dependency (CASSANDRA-5392)
* Fix writetime/ttl functions on null values (CASSANDRA-5341)
* Fix NPE during cql3 select with token() (CASSANDRA-5404)
* IndexHelper.skipBloomFilters won't skip non-SHA filters (CASSANDRA-5385)
* cqlsh: Print maps ordered by key, sort sets (CASSANDRA-5413)
* Add null syntax support in CQL3 for inserts (CASSANDRA-3783)
* Allow unauthenticated set_keyspace() calls (CASSANDRA-5423)
* Fix potential incremental backups race (CASSANDRA-5410)
* Fix prepared BATCH statements with batch-level timestamps (CASSANDRA-5415)
* Allow overriding superuser setup delay (CASSANDRA-5430)
* cassandra-shuffle with JMX usernames and passwords (CASSANDRA-5431)
Merged from 1.1:
* cli: Quote ks and cf names in schema output when needed (CASSANDRA-5052)
* Fix bad default for min/max timestamp in SSTableMetadata (CASSANDRA-5372)
* Fix cf name extraction from manifest in Directories.migrateFile()
(CASSANDRA-5242)
* Support pluggable internode authentication (CASSANDRA-5401)
1.2.3
* add check for sstable overlap within a level on startup (CASSANDRA-5327)
* replace ipv6 colons in jmx object names (CASSANDRA-5298, 5328)
* Avoid allocating SSTableBoundedScanner during repair when the range does
not intersect the sstable (CASSANDRA-5249)
* Don't lowercase property map keys (this breaks NTS) (CASSANDRA-5292)
* Fix composite comparator with super columns (CASSANDRA-5287)
* Fix insufficient validation of UPDATE queries against counter cfs
(CASSANDRA-5300)
* Fix PropertyFileSnitch default DC/Rack behavior (CASSANDRA-5285)
* Handle null values when executing prepared statement (CASSANDRA-5081)
* Add netty to pom dependencies (CASSANDRA-5181)
* Include type arguments in Thrift CQLPreparedResult (CASSANDRA-5311)
* Fix compaction not removing columns when bf_fp_ratio is 1 (CASSANDRA-5182)
* cli: Warn about missing CQL3 tables in schema descriptions (CASSANDRA-5309)
* Re-enable unknown option in replication/compaction strategies option for
backward compatibility (CASSANDRA-4795)
* Add binary protocol support to stress (CASSANDRA-4993)
* cqlsh: Fix COPY FROM value quoting and null handling (CASSANDRA-5305)
* Fix repair -pr for vnodes (CASSANDRA-5329)
* Relax CL for auth queries for non-default users (CASSANDRA-5310)
* Fix AssertionError during repair (CASSANDRA-5245)
* Don't announce migrations to pre-1.2 nodes (CASSANDRA-5334)
Merged from 1.1:
* Update offline scrub for 1.0 -> 1.1 directory structure (CASSANDRA-5195)
* add tmp flag to Descriptor hashcode (CASSANDRA-4021)
* fix logging of "Found table data in data directories" when only system tables
are present (CASSANDRA-5289)
* cli: Add JMX authentication support (CASSANDRA-5080)
* nodetool: ability to repair specific range (CASSANDRA-5280)
* Fix possible assertion triggered in SliceFromReadCommand (CASSANDRA-5284)
* cqlsh: Add inet type support on Windows (ipv4-only) (CASSANDRA-4801)
* Fix race when initializing ColumnFamilyStore (CASSANDRA-5350)
* Add UseTLAB JVM flag (CASSANDRA-5361)
1.2.2
* fix potential for multiple concurrent compactions of the same sstables
(CASSANDRA-5256)
* avoid no-op caching of byte[] on commitlog append (CASSANDRA-5199)
* fix symlinks under data dir not working (CASSANDRA-5185)
* fix bug in compact storage metadata handling (CASSANDRA-5189)
* Validate login for USE queries (CASSANDRA-5207)
* cli: remove default username and password (CASSANDRA-5208)
* configure populate_io_cache_on_flush per-CF (CASSANDRA-4694)
* allow configuration of internode socket buffer (CASSANDRA-3378)
* Make sstable directory picking blacklist-aware again (CASSANDRA-5193)
* Correctly expire gossip states for edge cases (CASSANDRA-5216)
* Improve handling of directory creation failures (CASSANDRA-5196)
* Expose secondary indicies to the rest of nodetool (CASSANDRA-4464)
* Binary protocol: avoid sending notification for 0.0.0.0 (CASSANDRA-5227)
* add UseCondCardMark XX jvm settings on jdk 1.7 (CASSANDRA-4366)
* CQL3 refactor to allow conversion function (CASSANDRA-5226)
* Fix drop of sstables in some circumstance (CASSANDRA-5232)
* Implement caching of authorization results (CASSANDRA-4295)
* Add support for LZ4 compression (CASSANDRA-5038)
* Fix missing columns in wide rows queries (CASSANDRA-5225)
* Simplify auth setup and make system_auth ks alterable (CASSANDRA-5112)
* Stop compactions from hanging during bootstrap (CASSANDRA-5244)
* fix compressed streaming sending extra chunk (CASSANDRA-5105)
* Add CQL3-based implementations of IAuthenticator and IAuthorizer
(CASSANDRA-4898)
* Fix timestamp-based tomstone removal logic (CASSANDRA-5248)
* cli: Add JMX authentication support (CASSANDRA-5080)
* Fix forceFlush behavior (CASSANDRA-5241)
* cqlsh: Add username autocompletion (CASSANDRA-5231)
* Fix CQL3 composite partition key error (CASSANDRA-5240)
* Allow IN clause on last clustering key (CASSANDRA-5230)
Merged from 1.1:
* fix start key/end token validation for wide row iteration (CASSANDRA-5168)
* add ConfigHelper support for Thrift frame and max message sizes (CASSANDRA-5188)
* fix nodetool repair not fail on node down (CASSANDRA-5203)
* always collect tombstone hints (CASSANDRA-5068)
* Fix error when sourcing file in cqlsh (CASSANDRA-5235)
1.2.1
* stream undelivered hints on decommission (CASSANDRA-5128)
* GossipingPropertyFileSnitch loads saved dc/rack info if needed (CASSANDRA-5133)
* drain should flush system CFs too (CASSANDRA-4446)
* add inter_dc_tcp_nodelay setting (CASSANDRA-5148)
* re-allow wrapping ranges for start_token/end_token range pairitspwng (CASSANDRA-5106)
* fix validation compaction of empty rows (CASSANDRA-5136)
* nodetool methods to enable/disable hint storage/delivery (CASSANDRA-4750)
* disallow bloom filter false positive chance of 0 (CASSANDRA-5013)
* add threadpool size adjustment methods to JMXEnabledThreadPoolExecutor and
CompactionManagerMBean (CASSANDRA-5044)
* fix hinting for dropped local writes (CASSANDRA-4753)
* off-heap cache doesn't need mutable column container (CASSANDRA-5057)
* apply disk_failure_policy to bad disks on initial directory creation
(CASSANDRA-4847)
* Optimize name-based queries to use ArrayBackedSortedColumns (CASSANDRA-5043)
* Fall back to old manifest if most recent is unparseable (CASSANDRA-5041)
* pool [Compressed]RandomAccessReader objects on the partitioned read path
(CASSANDRA-4942)
* Add debug logging to list filenames processed by Directories.migrateFile
method (CASSANDRA-4939)
* Expose black-listed directories via JMX (CASSANDRA-4848)
* Log compaction merge counts (CASSANDRA-4894)
* Minimize byte array allocation by AbstractData{Input,Output} (CASSANDRA-5090)
* Add SSL support for the binary protocol (CASSANDRA-5031)
* Allow non-schema system ks modification for shuffle to work (CASSANDRA-5097)
* cqlsh: Add default limit to SELECT statements (CASSANDRA-4972)
* cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101)
* Correctly gossip with nodes >= 1.1.7 (CASSANDRA-5102)
* Ensure CL guarantees on digest mismatch (CASSANDRA-5113)
* Validate correctly selects on composite partition key (CASSANDRA-5122)
* Fix exception when adding collection (CASSANDRA-5117)
* Handle states for non-vnode clusters correctly (CASSANDRA-5127)
* Refuse unrecognized replication and compaction strategy options (CASSANDRA-4795)
* Pick the correct value validator in sstable2json for cql3 tables (CASSANDRA-5134)
* Validate login for describe_keyspace, describe_keyspaces and set_keyspace
(CASSANDRA-5144)
* Fix inserting empty maps (CASSANDRA-5141)
* Don't remove tokens from System table for node we know (CASSANDRA-5121)
* fix streaming progress report for compresed files (CASSANDRA-5130)
* Coverage analysis for low-CL queries (CASSANDRA-4858)
* Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
* Adds E notation for floating point numbers (CASSANDRA-4927)
* Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was
intended (CASSANDRA-5172)
* cli: Quote ks and cf names in schema output when needed (CASSANDRA-5052)
* Fix cf name extraction from manifest in Directories.migrateFile() (CASSANDRA-5242)
* Replace mistaken usage of commons-logging with slf4j (CASSANDRA-5464)
* Ensure Jackson dependency matches lib (CASSANDRA-5126)
* Expose droppable tombstone ratio stats over JMX (CASSANDRA-5159)
Merged from 1.1:
* Simplify CompressedRandomAccessReader to work around JDK FD bug (CASSANDRA-5088)
* Improve handling a changing target throttle rate mid-compaction (CASSANDRA-5087)
* Pig: correctly decode row keys in widerow mode (CASSANDRA-5098)
* nodetool repair command now prints progress (CASSANDRA-4767)
* fix user defined compaction to run against 1.1 data directory (CASSANDRA-5118)
* Fix CQL3 BATCH authorization caching (CASSANDRA-5145)
* fix get_count returns incorrect value with TTL (CASSANDRA-5099)
* better handling for mid-compaction failure (CASSANDRA-5137)
* convert default marshallers list to map for better readability (CASSANDRA-5109)
* fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170)
* fix sstable maxtimestamp for row deletes and pre-1.1.1 sstables (CASSANDRA-5153)
* Fix thread growth on node removal (CASSANDRA-5175)
* Make Ec2Region's datacenter name configurable (CASSANDRA-5155)
1.2.0
* Disallow counters in collections (CASSANDRA-5082)
* cqlsh: add unit tests (CASSANDRA-3920)
* fix default bloom_filter_fp_chance for LeveledCompactionStrategy (CASSANDRA-5093)
Merged from 1.1:
* add validation for get_range_slices with start_key and end_token (CASSANDRA-5089)
1.2.0-rc2
* fix nodetool ownership display with vnodes (CASSANDRA-5065)
* cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
* Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
* Fix SimpleAuthorizer example (CASSANDRA-5072)
* cqlsh: force CL.ONE for tracing and system.schema* queries (CASSANDRA-5070)
* Includes cassandra-shuffle in the debian package (CASSANDRA-5058)
Merged from 1.1:
* fix multithreaded compaction deadlock (CASSANDRA-4492)
* fix temporarily missing schema after upgrade from pre-1.1.5 (CASSANDRA-5061)
* Fix ALTER TABLE overriding compression options with defaults
(CASSANDRA-4996, 5066)
* fix specifying and altering crc_check_chance (CASSANDRA-5053)
* fix Murmur3Partitioner ownership% calculation (CASSANDRA-5076)
* Don't expire columns sooner than they should in 2ndary indexes (CASSANDRA-5079)
1.2-rc1
* rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
* add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
* Fix preparing insert queries (CASSANDRA-5016)
* Fix preparing queries with counter increment (CASSANDRA-5022)
* Fix preparing updates with collections (CASSANDRA-5017)
* Don't generate UUID based on other node address (CASSANDRA-5002)
* Fix message when trying to alter a clustering key type (CASSANDRA-5012)
* Update IAuthenticator to match the new IAuthorizer (CASSANDRA-5003)
* Fix inserting only a key in CQL3 (CASSANDRA-5040)
* Fix CQL3 token() function when used with strings (CASSANDRA-5050)
Merged from 1.1:
* reduce log spam from invalid counter shards (CASSANDRA-5026)
* Improve schema propagation performance (CASSANDRA-5025)
* Fix for IndexHelper.IndexFor throws OOB Exception (CASSANDRA-5030)
* cqlsh: make it possible to describe thrift CFs (CASSANDRA-4827)
* cqlsh: fix timestamp formatting on some platforms (CASSANDRA-5046)
1.2-beta3
* make consistency level configurable in cqlsh (CASSANDRA-4829)
* fix cqlsh rendering of blob fields (CASSANDRA-4970)
* fix cqlsh DESCRIBE command (CASSANDRA-4913)
* save truncation position in system table (CASSANDRA-4906)
* Move CompressionMetadata off-heap (CASSANDRA-4937)
* allow CLI to GET cql3 columnfamily data (CASSANDRA-4924)
* Fix rare race condition in getExpireTimeForEndpoint (CASSANDRA-4402)
* acquire references to overlapping sstables during compaction so bloom filter
doesn't get free'd prematurely (CASSANDRA-4934)
* Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
* Separate tracing from Log4J (CASSANDRA-4861)
* Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
* Better printing of AbstractBounds for tracing (CASSANDRA-4931)
* Optimize mostRecentTombstone check in CC.collectAllData (CASSANDRA-4883)
* Change stream session ID to UUID to avoid collision from same node (CASSANDRA-4813)
* Use Stats.db when bulk loading if present (CASSANDRA-4957)
* Skip repair on system_trace and keyspaces with RF=1 (CASSANDRA-4956)
* (cql3) Remove arbitrary SELECT limit (CASSANDRA-4918)
* Correctly handle prepared operation on collections (CASSANDRA-4945)
* Fix CQL3 LIMIT (CASSANDRA-4877)
* Fix Stress for CQL3 (CASSANDRA-4979)
* Remove cassandra specific exceptions from JMX interface (CASSANDRA-4893)
* (CQL3) Force using ALLOW FILTERING on potentially inefficient queries (CASSANDRA-4915)
* (cql3) Fix adding column when the table has collections (CASSANDRA-4982)
* (cql3) Fix allowing collections with compact storage (CASSANDRA-4990)
* (cql3) Refuse ttl/writetime function on collections (CASSANDRA-4992)
* Replace IAuthority with new IAuthorizer (CASSANDRA-4874)
* clqsh: fix KEY pseudocolumn escaping when describing Thrift tables
in CQL3 mode (CASSANDRA-4955)
* add basic authentication support for Pig CassandraStorage (CASSANDRA-3042)
* fix CQL2 ALTER TABLE compaction_strategy_class altering (CASSANDRA-4965)
Merged from 1.1:
* Fall back to old describe_splits if d_s_ex is not available (CASSANDRA-4803)
* Improve error reporting when streaming ranges fail (CASSANDRA-5009)
* Fix cqlsh timestamp formatting of timezone info (CASSANDRA-4746)
* Fix assertion failure with leveled compaction (CASSANDRA-4799)
* Check for null end_token in get_range_slice (CASSANDRA-4804)
* Remove all remnants of removed nodes (CASSANDRA-4840)
* Add aut-reloading of the log4j file in debian package (CASSANDRA-4855)
* Fix estimated row cache entry size (CASSANDRA-4860)
* reset getRangeSlice filter after finishing a row for get_paged_slice
(CASSANDRA-4919)
* expunge row cache post-truncate (CASSANDRA-4940)
* Allow static CF definition with compact storage (CASSANDRA-4910)
* Fix endless loop/compaction of schema_* CFs due to broken timestamps (CASSANDRA-4880)
* Fix 'wrong class type' assertion in CounterColumn (CASSANDRA-4976)
1.2-beta2
* fp rate of 1.0 disables BF entirely; LCS defaults to 1.0 (CASSANDRA-4876)
* off-heap bloom filters for row keys (CASSANDRA_4865)
* add extension point for sstable components (CASSANDRA-4049)
* improve tracing output (CASSANDRA-4852, 4862)
* make TRACE verb droppable (CASSANDRA-4672)
* fix BulkLoader recognition of CQL3 columnfamilies (CASSANDRA-4755)
* Sort commitlog segments for replay by id instead of mtime (CASSANDRA-4793)
* Make hint delivery asynchronous (CASSANDRA-4761)
* Pluggable Thrift transport factories for CLI and cqlsh (CASSANDRA-4609, 4610)
* cassandra-cli: allow Double value type to be inserted to a column (CASSANDRA-4661)
* Add ability to use custom TServerFactory implementations (CASSANDRA-4608)
* optimize batchlog flushing to skip successful batches (CASSANDRA-4667)
* include metadata for system keyspace itself in schema tables (CASSANDRA-4416)
* add check to PropertyFileSnitch to verify presence of location for
local node (CASSANDRA-4728)
* add PBSPredictor consistency modeler (CASSANDRA-4261)
* remove vestiges of Thrift unframed mode (CASSANDRA-4729)
* optimize single-row PK lookups (CASSANDRA-4710)
* adjust blockFor calculation to account for pending ranges due to node
movement (CASSANDRA-833)
* Change CQL version to 3.0.0 and stop accepting 3.0.0-beta1 (CASSANDRA-4649)
* (CQL3) Make prepared statement global instead of per connection
(CASSANDRA-4449)
* Fix scrubbing of CQL3 created tables (CASSANDRA-4685)
* (CQL3) Fix validation when using counter and regular columns in the same
table (CASSANDRA-4706)
* Fix bug starting Cassandra with simple authentication (CASSANDRA-4648)
* Add support for batchlog in CQL3 (CASSANDRA-4545, 4738)
* Add support for multiple column family outputs in CFOF (CASSANDRA-4208)
* Support repairing only the local DC nodes (CASSANDRA-4747)
* Use rpc_address for binary protocol and change default port (CASSANDRA-4751)
* Fix use of collections in prepared statements (CASSANDRA-4739)
* Store more information into peers table (CASSANDRA-4351, 4814)
* Configurable bucket size for size tiered compaction (CASSANDRA-4704)
* Run leveled compaction in parallel (CASSANDRA-4310)
* Fix potential NPE during CFS reload (CASSANDRA-4786)
* Composite indexes may miss results (CASSANDRA-4796)
* Move consistency level to the protocol level (CASSANDRA-4734, 4824)
* Fix Subcolumn slice ends not respected (CASSANDRA-4826)
* Fix Assertion error in cql3 select (CASSANDRA-4783)
* Fix list prepend logic (CQL3) (CASSANDRA-4835)
* Add booleans as literals in CQL3 (CASSANDRA-4776)
* Allow renaming PK columns in CQL3 (CASSANDRA-4822)
* Fix binary protocol NEW_NODE event (CASSANDRA-4679)
* Fix potential infinite loop in tombstone compaction (CASSANDRA-4781)
* Remove system tables accounting from schema (CASSANDRA-4850)
* (cql3) Force provided columns in clustering key order in
'CLUSTERING ORDER BY' (CASSANDRA-4881)
* Fix composite index bug (CASSANDRA-4884)
* Fix short read protection for CQL3 (CASSANDRA-4882)
* Add tracing support to the binary protocol (CASSANDRA-4699)
* (cql3) Don't allow prepared marker inside collections (CASSANDRA-4890)
* Re-allow order by on non-selected columns (CASSANDRA-4645)
* Bug when composite index is created in a table having collections (CASSANDRA-4909)
* log index scan subject in CompositesSearcher (CASSANDRA-4904)
Merged from 1.1:
* add get[Row|Key]CacheEntries to CacheServiceMBean (CASSANDRA-4859)
* fix get_paged_slice to wrap to next row correctly (CASSANDRA-4816)
* fix indexing empty column values (CASSANDRA-4832)
* allow JdbcDate to compose null Date objects (CASSANDRA-4830)
* fix possible stackoverflow when compacting 1000s of sstables
(CASSANDRA-4765)
* fix wrong leveled compaction progress calculation (CASSANDRA-4807)
* add a close() method to CRAR to prevent leaking file descriptors (CASSANDRA-4820)
* fix potential infinite loop in get_count (CASSANDRA-4833)
* fix compositeType.{get/from}String methods (CASSANDRA-4842)
* (CQL) fix CREATE COLUMNFAMILY permissions check (CASSANDRA-4864)
* Fix DynamicCompositeType same type comparison (CASSANDRA-4711)
* Fix duplicate SSTable reference when stream session failed (CASSANDRA-3306)
* Allow static CF definition with compact storage (CASSANDRA-4910)
* Fix endless loop/compaction of schema_* CFs due to broken timestamps (CASSANDRA-4880)
* Fix 'wrong class type' assertion in CounterColumn (CASSANDRA-4976)
1.2-beta1
* add atomic_batch_mutate (CASSANDRA-4542, -4635)
* increase default max_hint_window_in_ms to 3h (CASSANDRA-4632)
* include message initiation time to replicas so they can more
accurately drop timed-out requests (CASSANDRA-2858)
* fix clientutil.jar dependencies (CASSANDRA-4566)
* optimize WriteResponse (CASSANDRA-4548)
* new metrics (CASSANDRA-4009)
* redesign KEYS indexes to avoid read-before-write (CASSANDRA-2897)
* debug tracing (CASSANDRA-1123)
* parallelize row cache loading (CASSANDRA-4282)
* Make compaction, flush JBOD-aware (CASSANDRA-4292)
* run local range scans on the read stage (CASSANDRA-3687)
* clean up ioexceptions (CASSANDRA-2116)
* add disk_failure_policy (CASSANDRA-2118)
* Introduce new json format with row level deletion (CASSANDRA-4054)
* remove redundant "name" column from schema_keyspaces (CASSANDRA-4433)
* improve "nodetool ring" handling of multi-dc clusters (CASSANDRA-3047)
* update NTS calculateNaturalEndpoints to be O(N log N) (CASSANDRA-3881)
* split up rpc timeout by operation type (CASSANDRA-2819)
* rewrite key cache save/load to use only sequential i/o (CASSANDRA-3762)
* update MS protocol with a version handshake + broadcast address id
(CASSANDRA-4311)
* multithreaded hint replay (CASSANDRA-4189)
* add inter-node message compression (CASSANDRA-3127)
* remove COPP (CASSANDRA-2479)
* Track tombstone expiration and compact when tombstone content is
higher than a configurable threshold, default 20% (CASSANDRA-3442, 4234)
* update MurmurHash to version 3 (CASSANDRA-2975)
* (CLI) track elapsed time for `delete' operation (CASSANDRA-4060)
* (CLI) jline version is bumped to 1.0 to properly support
'delete' key function (CASSANDRA-4132)
* Save IndexSummary into new SSTable 'Summary' component (CASSANDRA-2392, 4289)
* Add support for range tombstones (CASSANDRA-3708)
* Improve MessagingService efficiency (CASSANDRA-3617)
* Avoid ID conflicts from concurrent schema changes (CASSANDRA-3794)
* Set thrift HSHA server thread limit to unlimited by default (CASSANDRA-4277)
* Avoids double serialization of CF id in RowMutation messages
(CASSANDRA-4293)
* stream compressed sstables directly with java nio (CASSANDRA-4297)
* Support multiple ranges in SliceQueryFilter (CASSANDRA-3885)
* Add column metadata to system column families (CASSANDRA-4018)
* (cql3) Always use composite types by default (CASSANDRA-4329)
* (cql3) Add support for set, map and list (CASSANDRA-3647)
* Validate date type correctly (CASSANDRA-4441)
* (cql3) Allow definitions with only a PK (CASSANDRA-4361)
* (cql3) Add support for row key composites (CASSANDRA-4179)
* improve DynamicEndpointSnitch by using reservoir sampling (CASSANDRA-4038)
* (cql3) Add support for 2ndary indexes (CASSANDRA-3680)
* (cql3) fix defining more than one PK to be invalid (CASSANDRA-4477)
* remove schema agreement checking from all external APIs (Thrift, CQL and CQL3) (CASSANDRA-4487)
* add Murmur3Partitioner and make it default for new installations (CASSANDRA-3772, 4621)
* (cql3) update pseudo-map syntax to use map syntax (CASSANDRA-4497)
* Finer grained exceptions hierarchy and provides error code with exceptions (CASSANDRA-3979)
* Adds events push to binary protocol (CASSANDRA-4480)
* Rewrite nodetool help (CASSANDRA-2293)
* Make CQL3 the default for CQL (CASSANDRA-4640)
* update stress tool to be able to use CQL3 (CASSANDRA-4406)
* Accept all thrift update on CQL3 cf but don't expose their metadata (CASSANDRA-4377)
* Replace Throttle with Guava's RateLimiter for HintedHandOff (CASSANDRA-4541)
* fix counter add/get using CQL2 and CQL3 in stress tool (CASSANDRA-4633)
* Add sstable count per level to cfstats (CASSANDRA-4537)
* (cql3) Add ALTER KEYSPACE statement (CASSANDRA-4611)
* (cql3) Allow defining default consistency levels (CASSANDRA-4448)
* (cql3) Fix queries using LIMIT missing results (CASSANDRA-4579)
* fix cross-version gossip messaging (CASSANDRA-4576)
* added inet data type (CASSANDRA-4627)
1.1.6
* Wait for writes on synchronous read digest mismatch (CASSANDRA-4792)
* fix commitlog replay for nanotime-infected sstables (CASSANDRA-4782)
* preflight check ttl for maximum of 20 years (CASSANDRA-4771)
* (Pig) fix widerow input with single column rows (CASSANDRA-4789)
* Fix HH to compact with correct gcBefore, which avoids wiping out
undelivered hints (CASSANDRA-4772)
* LCS will merge up to 32 L0 sstables as intended (CASSANDRA-4778)
* NTS will default unconfigured DC replicas to zero (CASSANDRA-4675)
* use default consistency level in counter validation if none is
explicitly provide (CASSANDRA-4700)
* Improve IAuthority interface by introducing fine-grained
access permissions and grant/revoke commands (CASSANDRA-4490, 4644)
* fix assumption error in CLI when updating/describing keyspace
(CASSANDRA-4322)
* Adds offline sstablescrub to debian packaging (CASSANDRA-4642)
* Automatic fixing of overlapping leveled sstables (CASSANDRA-4644)
* fix error when using ORDER BY with extended selections (CASSANDRA-4689)
* (CQL3) Fix validation for IN queries for non-PK cols (CASSANDRA-4709)
* fix re-created keyspace disappering after 1.1.5 upgrade
(CASSANDRA-4698, 4752)
* (CLI) display elapsed time in 2 fraction digits (CASSANDRA-3460)
* add authentication support to sstableloader (CASSANDRA-4712)
* Fix CQL3 'is reversed' logic (CASSANDRA-4716, 4759)
* (CQL3) Don't return ReversedType in result set metadata (CASSANDRA-4717)
* Backport adding AlterKeyspace statement (CASSANDRA-4611)
* (CQL3) Correcty accept upper-case data types (CASSANDRA-4770)
* Add binary protocol events for schema changes (CASSANDRA-4684)
Merged from 1.0:
* Switch from NBHM to CHM in MessagingService's callback map, which
prevents OOM in long-running instances (CASSANDRA-4708)
1.1.5
* add SecondaryIndex.reload API (CASSANDRA-4581)
* use millis + atomicint for commitlog segment creation instead of
nanotime, which has issues under some hypervisors (CASSANDRA-4601)
* fix FD leak in slice queries (CASSANDRA-4571)
* avoid recursion in leveled compaction (CASSANDRA-4587)
* increase stack size under Java7 to 180K
* Log(info) schema changes (CASSANDRA-4547)
* Change nodetool setcachecapcity to manipulate global caches (CASSANDRA-4563)
* (cql3) fix setting compaction strategy (CASSANDRA-4597)
* fix broken system.schema_* timestamps on system startup (CASSANDRA-4561)
* fix wrong skip of cache saving (CASSANDRA-4533)
* Avoid NPE when lost+found is in data dir (CASSANDRA-4572)
* Respect five-minute flush moratorium after initial CL replay (CASSANDRA-4474)
* Adds ntp as recommended in debian packaging (CASSANDRA-4606)
* Configurable transport in CF Record{Reader|Writer} (CASSANDRA-4558)
* (cql3) fix potential NPE with both equal and unequal restriction (CASSANDRA-4532)
* (cql3) improves ORDER BY validation (CASSANDRA-4624)
* Fix potential deadlock during counter writes (CASSANDRA-4578)
* Fix cql error with ORDER BY when using IN (CASSANDRA-4612)
Merged from 1.0:
* increase Xss to 160k to accomodate latest 1.6 JVMs (CASSANDRA-4602)
* fix toString of hint destination tokens (CASSANDRA-4568)
* Fix multiple values for CurrentLocal NodeID (CASSANDRA-4626)
1.1.4
* fix offline scrub to catch >= out of order rows (CASSANDRA-4411)
* fix cassandra-env.sh on RHEL and other non-dash-based systems
(CASSANDRA-4494)
Merged from 1.0:
* (Hadoop) fix setting key length for old-style mapred api (CASSANDRA-4534)
* (Hadoop) fix iterating through a resultset consisting entirely
of tombstoned rows (CASSANDRA-4466)
1.1.3
* (cqlsh) add COPY TO (CASSANDRA-4434)
* munmap commitlog segments before rename (CASSANDRA-4337)
* (JMX) rename getRangeKeySample to sampleKeyRange to avoid returning
multi-MB results as an attribute (CASSANDRA-4452)
* flush based on data size, not throughput; overwritten columns no
longer artificially inflate liveRatio (CASSANDRA-4399)
* update default commitlog segment size to 32MB and total commitlog
size to 32/1024 MB for 32/64 bit JVMs, respectively (CASSANDRA-4422)
* avoid using global partitioner to estimate ranges in index sstables
(CASSANDRA-4403)
* restore pre-CASSANDRA-3862 approach to removing expired tombstones
from row cache during compaction (CASSANDRA-4364)
* (stress) support for CQL prepared statements (CASSANDRA-3633)
* Correctly catch exception when Snappy cannot be loaded (CASSANDRA-4400)
* (cql3) Support ORDER BY when IN condition is given in WHERE clause (CASSANDRA-4327)
* (cql3) delete "component_index" column on DROP TABLE call (CASSANDRA-4420)
* change nanoTime() to currentTimeInMillis() in schema related code (CASSANDRA-4432)
* add a token generation tool (CASSANDRA-3709)
* Fix LCS bug with sstable containing only 1 row (CASSANDRA-4411)
* fix "Can't Modify Index Name" problem on CF update (CASSANDRA-4439)
* Fix assertion error in getOverlappingSSTables during repair (CASSANDRA-4456)
* fix nodetool's setcompactionthreshold command (CASSANDRA-4455)
* Ensure compacted files are never used, to avoid counter overcount (CASSANDRA-4436)
Merged from 1.0:
* Push the validation of secondary index values to the SecondaryIndexManager (CASSANDRA-4240)
* allow dropping columns shadowed by not-yet-expired supercolumn or row
tombstones in PrecompactedRow (CASSANDRA-4396)
1.1.2
* Fix cleanup not deleting index entries (CASSANDRA-4379)
* Use correct partitioner when saving + loading caches (CASSANDRA-4331)
* Check schema before trying to export sstable (CASSANDRA-2760)
* Raise a meaningful exception instead of NPE when PFS encounters
an unconfigured node + no default (CASSANDRA-4349)
* fix bug in sstable blacklisting with LCS (CASSANDRA-4343)
* LCS no longer promotes tiny sstables out of L0 (CASSANDRA-4341)
* skip tombstones during hint replay (CASSANDRA-4320)
* fix NPE in compactionstats (CASSANDRA-4318)
* enforce 1m min keycache for auto (CASSANDRA-4306)
* Have DeletedColumn.isMFD always return true (CASSANDRA-4307)
* (cql3) exeption message for ORDER BY constraints said primary filter can be
an IN clause, which is misleading (CASSANDRA-4319)
* (cql3) Reject (not yet supported) creation of 2ndardy indexes on tables with
composite primary keys (CASSANDRA-4328)
* Set JVM stack size to 160k for java 7 (CASSANDRA-4275)
* cqlsh: add COPY command to load data from CSV flat files (CASSANDRA-4012)
* CFMetaData.fromThrift to throw ConfigurationException upon error (CASSANDRA-4353)
* Use CF comparator to sort indexed columns in SecondaryIndexManager
(CASSANDRA-4365)
* add strategy_options to the KSMetaData.toString() output (CASSANDRA-4248)
* (cql3) fix range queries containing unqueried results (CASSANDRA-4372)
* (cql3) allow updating column_alias types (CASSANDRA-4041)
* (cql3) Fix deletion bug (CASSANDRA-4193)
* Fix computation of overlapping sstable for leveled compaction (CASSANDRA-4321)
* Improve scrub and allow to run it offline (CASSANDRA-4321)
* Fix assertionError in StorageService.bulkLoad (CASSANDRA-4368)
* (cqlsh) add option to authenticate to a keyspace at startup (CASSANDRA-4108)
* (cqlsh) fix ASSUME functionality (CASSANDRA-4352)
* Fix ColumnFamilyRecordReader to not return progress > 100% (CASSANDRA-3942)
Merged from 1.0:
* Set gc_grace on index CF to 0 (CASSANDRA-4314)
1.1.1
* add populate_io_cache_on_flush option (CASSANDRA-2635)
* allow larger cache capacities than 2GB (CASSANDRA-4150)
* add getsstables command to nodetool (CASSANDRA-4199)
* apply parent CF compaction settings to secondary index CFs (CASSANDRA-4280)
* preserve commitlog size cap when recycling segments at startup
(CASSANDRA-4201)
* (Hadoop) fix split generation regression (CASSANDRA-4259)
* ignore min/max compactions settings in LCS, while preserving
behavior that min=max=0 disables autocompaction (CASSANDRA-4233)
* log number of rows read from saved cache (CASSANDRA-4249)
* calculate exact size required for cleanup operations (CASSANDRA-1404)
* avoid blocking additional writes during flush when the commitlog
gets behind temporarily (CASSANDRA-1991)
* enable caching on index CFs based on data CF cache setting (CASSANDRA-4197)
* warn on invalid replication strategy creation options (CASSANDRA-4046)
* remove [Freeable]Memory finalizers (CASSANDRA-4222)
* include tombstone size in ColumnFamily.size, which can prevent OOM
during sudden mass delete operations by yielding a nonzero liveRatio
(CASSANDRA-3741)
* Open 1 sstableScanner per level for leveled compaction (CASSANDRA-4142)
* Optimize reads when row deletion timestamps allow us to restrict
the set of sstables we check (CASSANDRA-4116)
* add support for commitlog archiving and point-in-time recovery
(CASSANDRA-3690)
* avoid generating redundant compaction tasks during streaming
(CASSANDRA-4174)
* add -cf option to nodetool snapshot, and takeColumnFamilySnapshot to
StorageService mbean (CASSANDRA-556)
* optimize cleanup to drop entire sstables where possible (CASSANDRA-4079)
* optimize truncate when autosnapshot is disabled (CASSANDRA-4153)
* update caches to use byte[] keys to reduce memory overhead (CASSANDRA-3966)
* add column limit to cli (CASSANDRA-3012, 4098)
* clean up and optimize DataOutputBuffer, used by CQL compression and
CompositeType (CASSANDRA-4072)
* optimize commitlog checksumming (CASSANDRA-3610)
* identify and blacklist corrupted SSTables from future compactions
(CASSANDRA-2261)
* Move CfDef and KsDef validation out of thrift (CASSANDRA-4037)
* Expose API to repair a user provided range (CASSANDRA-3912)
* Add way to force the cassandra-cli to refresh its schema (CASSANDRA-4052)
* Avoid having replicate on write tasks stacking up at CL.ONE (CASSANDRA-2889)
* (cql3) Backwards compatibility for composite comparators in non-cql3-aware
clients (CASSANDRA-4093)
* (cql3) Fix order by for reversed queries (CASSANDRA-4160)
* (cql3) Add ReversedType support (CASSANDRA-4004)
* (cql3) Add timeuuid type (CASSANDRA-4194)
* (cql3) Minor fixes (CASSANDRA-4185)
* (cql3) Fix prepared statement in BATCH (CASSANDRA-4202)
* (cql3) Reduce the list of reserved keywords (CASSANDRA-4186)
* (cql3) Move max/min compaction thresholds to compaction strategy options
(CASSANDRA-4187)
* Fix exception during move when localhost is the only source (CASSANDRA-4200)
* (cql3) Allow paging through non-ordered partitioner results (CASSANDRA-3771)
* (cql3) Fix drop index (CASSANDRA-4192)
* (cql3) Don't return range ghosts anymore (CASSANDRA-3982)
* fix re-creating Keyspaces/ColumnFamilies with the same name as dropped
ones (CASSANDRA-4219)
* fix SecondaryIndex LeveledManifest save upon snapshot (CASSANDRA-4230)
* fix missing arrayOffset in FBUtilities.hash (CASSANDRA-4250)
* (cql3) Add name of parameters in CqlResultSet (CASSANDRA-4242)
* (cql3) Correctly validate order by queries (CASSANDRA-4246)
* rename stress to cassandra-stress for saner packaging (CASSANDRA-4256)
* Fix exception on colum metadata with non-string comparator (CASSANDRA-4269)
* Check for unknown/invalid compression options (CASSANDRA-4266)
* (cql3) Adds simple access to column timestamp and ttl (CASSANDRA-4217)
* (cql3) Fix range queries with secondary indexes (CASSANDRA-4257)
* Better error messages from improper input in cli (CASSANDRA-3865)
* Try to stop all compaction upon Keyspace or ColumnFamily drop (CASSANDRA-4221)
* (cql3) Allow keyspace properties to contain hyphens (CASSANDRA-4278)
* (cql3) Correctly validate keyspace access in create table (CASSANDRA-4296)
* Avoid deadlock in migration stage (CASSANDRA-3882)
* Take supercolumn names and deletion info into account in memtable throughput
(CASSANDRA-4264)
* Add back backward compatibility for old style replication factor (CASSANDRA-4294)
* Preserve compatibility with pre-1.1 index queries (CASSANDRA-4262)
Merged from 1.0:
* Fix super columns bug where cache is not updated (CASSANDRA-4190)
* fix maxTimestamp to include row tombstones (CASSANDRA-4116)
* (CLI) properly handle quotes in create/update keyspace commands (CASSANDRA-4129)
* Avoids possible deadlock during bootstrap (CASSANDRA-4159)
* fix stress tool that hangs forever on timeout or error (CASSANDRA-4128)
* stress tool to return appropriate exit code on failure (CASSANDRA-4188)
* fix compaction NPE when out of disk space and assertions disabled
(CASSANDRA-3985)
* synchronize LCS getEstimatedTasks to avoid CME (CASSANDRA-4255)
* ensure unique streaming session id's (CASSANDRA-4223)
* kick off background compaction when min/max thresholds change
(CASSANDRA-4279)
* improve ability of STCS.getBuckets to deal with 100s of 1000s of
sstables, such as when convertinb back from LCS (CASSANDRA-4287)
* Oversize integer in CQL throws NumberFormatException (CASSANDRA-4291)
* fix 1.0.x node join to mixed version cluster, other nodes >= 1.1 (CASSANDRA-4195)
* Fix LCS splitting sstable base on uncompressed size (CASSANDRA-4419)
* Push the validation of secondary index values to the SecondaryIndexManager (CASSANDRA-4240)
* Don't purge columns during upgradesstables (CASSANDRA-4462)
* Make cqlsh work with piping (CASSANDRA-4113)
* Validate arguments for nodetool decommission (CASSANDRA-4061)
* Report thrift status in nodetool info (CASSANDRA-4010)
1.1.0-final
* average a reduced liveRatio estimate with the previous one (CASSANDRA-4065)
* Allow KS and CF names up to 48 characters (CASSANDRA-4157)
* fix stress build (CASSANDRA-4140)
* add time remaining estimate to nodetool compactionstats (CASSANDRA-4167)
* (cql) fix NPE in cql3 ALTER TABLE (CASSANDRA-4163)
* (cql) Add support for CL.TWO and CL.THREE in CQL (CASSANDRA-4156)
* (cql) Fix type in CQL3 ALTER TABLE preventing update (CASSANDRA-4170)
* (cql) Throw invalid exception from CQL3 on obsolete options (CASSANDRA-4171)
* (cqlsh) fix recognizing uppercase SELECT keyword (CASSANDRA-4161)
* Pig: wide row support (CASSANDRA-3909)
Merged from 1.0:
* avoid streaming empty files with bulk loader if sstablewriter errors out
(CASSANDRA-3946)
1.1-rc1
* Include stress tool in binary builds (CASSANDRA-4103)
* (Hadoop) fix wide row iteration when last row read was deleted
(CASSANDRA-4154)
* fix read_repair_chance to really default to 0.1 in the cli (CASSANDRA-4114)
* Adds caching and bloomFilterFpChange to CQL options (CASSANDRA-4042)
* Adds posibility to autoconfigure size of the KeyCache (CASSANDRA-4087)
* fix KEYS index from skipping results (CASSANDRA-3996)
* Remove sliced_buffer_size_in_kb dead option (CASSANDRA-4076)
* make loadNewSStable preserve sstable version (CASSANDRA-4077)
* Respect 1.0 cache settings as much as possible when upgrading
(CASSANDRA-4088)
* relax path length requirement for sstable files when upgrading on
non-Windows platforms (CASSANDRA-4110)
* fix terminination of the stress.java when errors were encountered
(CASSANDRA-4128)
* Move CfDef and KsDef validation out of thrift (CASSANDRA-4037)
* Fix get_paged_slice (CASSANDRA-4136)
* CQL3: Support slice with exclusive start and stop (CASSANDRA-3785)
Merged from 1.0:
* support PropertyFileSnitch in bulk loader (CASSANDRA-4145)
* add auto_snapshot option allowing disabling snapshot before drop/truncate
(CASSANDRA-3710)
* allow short snitch names (CASSANDRA-4130)
1.1-beta2
* rename loaded sstables to avoid conflicts with local snapshots
(CASSANDRA-3967)
* start hint replay as soon as FD notifies that the target is back up
(CASSANDRA-3958)
* avoid unproductive deserializing of cached rows during compaction
(CASSANDRA-3921)
* fix concurrency issues with CQL keyspace creation (CASSANDRA-3903)
* Show Effective Owership via Nodetool ring <keyspace> (CASSANDRA-3412)
* Update ORDER BY syntax for CQL3 (CASSANDRA-3925)
* Fix BulkRecordWriter to not throw NPE if reducer gets no map data from Hadoop (CASSANDRA-3944)
* Fix bug with counters in super columns (CASSANDRA-3821)
* Remove deprecated merge_shard_chance (CASSANDRA-3940)
* add a convenient way to reset a node's schema (CASSANDRA-2963)
* fix for intermittent SchemaDisagreementException (CASSANDRA-3884)
* CLI `list <CF>` to limit number of columns and their order (CASSANDRA-3012)
* ignore deprecated KsDef/CfDef/ColumnDef fields in native schema (CASSANDRA-3963)
* CLI to report when unsupported column_metadata pair was given (CASSANDRA-3959)
* reincarnate removed and deprecated KsDef/CfDef attributes (CASSANDRA-3953)
* Fix race between writes and read for cache (CASSANDRA-3862)
* perform static initialization of StorageProxy on start-up (CASSANDRA-3797)
* support trickling fsync() on writes (CASSANDRA-3950)
* expose counters for unavailable/timeout exceptions given to thrift clients (CASSANDRA-3671)
* avoid quadratic startup time in LeveledManifest (CASSANDRA-3952)
* Add type information to new schema_ columnfamilies and remove thrift
serialization for schema (CASSANDRA-3792)
* add missing column validator options to the CLI help (CASSANDRA-3926)
* skip reading saved key cache if CF's caching strategy is NONE or ROWS_ONLY (CASSANDRA-3954)
* Unify migration code (CASSANDRA-4017)
Merged from 1.0:
* cqlsh: guess correct version of Python for Arch Linux (CASSANDRA-4090)
* (CLI) properly handle quotes in create/update keyspace commands (CASSANDRA-4129)
* Avoids possible deadlock during bootstrap (CASSANDRA-4159)
* fix stress tool that hangs forever on timeout or error (CASSANDRA-4128)
* Fix super columns bug where cache is not updated (CASSANDRA-4190)
* stress tool to return appropriate exit code on failure (CASSANDRA-4188)
1.0.9
* improve index sampling performance (CASSANDRA-4023)
* always compact away deleted hints immediately after handoff (CASSANDRA-3955)
* delete hints from dropped ColumnFamilies on handoff instead of
erroring out (CASSANDRA-3975)
* add CompositeType ref to the CLI doc for create/update column family (CASSANDRA-3980)
* Pig: support Counter ColumnFamilies (CASSANDRA-3973)
* Pig: Composite column support (CASSANDRA-3684)
* Avoid NPE during repair when a keyspace has no CFs (CASSANDRA-3988)
* Fix division-by-zero error on get_slice (CASSANDRA-4000)
* don't change manifest level for cleanup, scrub, and upgradesstables
operations under LeveledCompactionStrategy (CASSANDRA-3989, 4112)
* fix race leading to super columns assertion failure (CASSANDRA-3957)
* fix NPE on invalid CQL delete command (CASSANDRA-3755)
* allow custom types in CLI's assume command (CASSANDRA-4081)
* fix totalBytes count for parallel compactions (CASSANDRA-3758)
* fix intermittent NPE in get_slice (CASSANDRA-4095)
* remove unnecessary asserts in native code interfaces (CASSANDRA-4096)
* Validate blank keys in CQL to avoid assertion errors (CASSANDRA-3612)
* cqlsh: fix bad decoding of some column names (CASSANDRA-4003)
* cqlsh: fix incorrect padding with unicode chars (CASSANDRA-4033)
* Fix EC2 snitch incorrectly reporting region (CASSANDRA-4026)
* Shut down thrift during decommission (CASSANDRA-4086)
* Expose nodetool cfhistograms for 2ndary indexes (CASSANDRA-4063)
Merged from 0.8:
* Fix ConcurrentModificationException in gossiper (CASSANDRA-4019)
1.1-beta1
* (cqlsh)
+ add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479)
+ add ALTER COLUMNFAMILY WITH (CASSANDRA-3523)
+ bundle Python dependencies with Cassandra (CASSANDRA-3507)
+ added to Debian package (CASSANDRA-3458)
+ display byte data instead of erroring out on decode failure
(CASSANDRA-3874)
* add nodetool rebuild_index (CASSANDRA-3583)
* add nodetool rangekeysample (CASSANDRA-2917)
* Fix streaming too much data during move operations (CASSANDRA-3639)
* Nodetool and CLI connect to localhost by default (CASSANDRA-3568)
* Reduce memory used by primary index sample (CASSANDRA-3743)
* (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765)
* avoid returning internal Cassandra classes over JMX (CASSANDRA-2805)
* add row-level isolation via SnapTree (CASSANDRA-2893)
* Optimize key count estimation when opening sstable on startup
(CASSANDRA-2988)
* multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577)
* add command to stop compactions (CASSANDRA-1740, 3566, 3582)
* multithreaded streaming (CASSANDRA-3494)
* removed in-tree redhat spec (CASSANDRA-3567)
* "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503)
* Recycle commitlog segments for improved performance
(CASSANDRA-3411, 3543, 3557, 3615)
* update size-tiered compaction to prioritize small tiers (CASSANDRA-2407)
* add message expiration logic to OutboundTcpConnection (CASSANDRA-3005)
* off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271)
* EACH_QUORUM is only supported for writes (CASSANDRA-3272)
* replace compactionlock use in schema migration by checking CFS.isValid
(CASSANDRA-3116)
* recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445)
* Use faster bytes comparison (CASSANDRA-3434)
* Bulk loader is no longer a fat client, (HADOOP) bulk load output format
(CASSANDRA-3045)
* (Hadoop) add support for KeyRange.filter
* remove assumption that keys and token are in bijection
(CASSANDRA-1034, 3574, 3604)
* always remove endpoints from delevery queue in HH (CASSANDRA-3546)
* fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547)
* fix potential race in AES when a repair fails (CASSANDRA-3548)
* Remove columns shadowed by a deleted container even when we cannot purge
(CASSANDRA-3538)
* Improve memtable slice iteration performance (CASSANDRA-3545)
* more efficient allocation of small bloom filters (CASSANDRA-3618)
* Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619)
* fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250)
* fix minor issues reported by FindBugs (CASSANDRA-3658)
* global key/row caches (CASSANDRA-3143, 3849)
* optimize memtable iteration during range scan (CASSANDRA-3638)
* introduce 'crc_check_chance' in CompressionParameters to support
a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611)
* a way to deactivate global key/row cache on per-CF basis (CASSANDRA-3667)
* fix LeveledCompactionStrategy broken because of generation pre-allocation
in LeveledManifest (CASSANDRA-3691)
* finer-grained control over data directories (CASSANDRA-2749)
* Fix ClassCastException during hinted handoff (CASSANDRA-3694)
* Upgrade Thrift to 0.7 (CASSANDRA-3213)
* Make stress.java insert operation to use microseconds (CASSANDRA-3725)
* Allows (internally) doing a range query with a limit of columns instead of
rows (CASSANDRA-3742)
* Allow rangeSlice queries to be start/end inclusive/exclusive (CASSANDRA-3749)
* Fix BulkLoader to support new SSTable layout and add stream
throttling to prevent an NPE when there is no yaml config (CASSANDRA-3752)
* Allow concurrent schema migrations (CASSANDRA-1391, 3832)
* Add SnapshotCommand to trigger snapshot on remote node (CASSANDRA-3721)
* Make CFMetaData conversions to/from thrift/native schema inverses
(CASSANDRA_3559)
* Add initial code for CQL 3.0-beta (CASSANDRA-2474, 3781, 3753)
* Add wide row support for ColumnFamilyInputFormat (CASSANDRA-3264)
* Allow extending CompositeType comparator (CASSANDRA-3657)
* Avoids over-paging during get_count (CASSANDRA-3798)
* Add new command to rebuild a node without (repair) merkle tree calculations
(CASSANDRA-3483, 3922)
* respect not only row cache capacity but caching mode when
trying to read data (CASSANDRA-3812)
* fix system tests (CASSANDRA-3827)
* CQL support for altering row key type in ALTER TABLE (CASSANDRA-3781)
* turn compression on by default (CASSANDRA-3871)
* make hexToBytes refuse invalid input (CASSANDRA-2851)
* Make secondary indexes CF inherit compression and compaction from their
parent CF (CASSANDRA-3877)
* Finish cleanup up tombstone purge code (CASSANDRA-3872)
* Avoid NPE on aboarted stream-out sessions (CASSANDRA-3904)
* BulkRecordWriter throws NPE for counter columns (CASSANDRA-3906)
* Support compression using BulkWriter (CASSANDRA-3907)
1.0.8
* fix race between cleanup and flush on secondary index CFSes (CASSANDRA-3712)
* avoid including non-queried nodes in rangeslice read repair
(CASSANDRA-3843)
* Only snapshot CF being compacted for snapshot_before_compaction
(CASSANDRA-3803)
* Log active compactions in StatusLogger (CASSANDRA-3703)
* Compute more accurate compaction score per level (CASSANDRA-3790)
* Return InvalidRequest when using a keyspace that doesn't exist
(CASSANDRA-3764)
* disallow user modification of System keyspace (CASSANDRA-3738)
* allow using sstable2json on secondary index data (CASSANDRA-3738)
* (cqlsh) add DESCRIBE COLUMNFAMILIES (CASSANDRA-3586)
* (cqlsh) format blobs correctly and use colors to improve output
readability (CASSANDRA-3726)
* synchronize BiMap of bootstrapping tokens (CASSANDRA-3417)
* show index options in CLI (CASSANDRA-3809)
* add optional socket timeout for streaming (CASSANDRA-3838)
* fix truncate not to leave behind non-CFS backed secondary indexes
(CASSANDRA-3844)
* make CLI `show schema` to use output stream directly instead
of StringBuilder (CASSANDRA-3842)
* remove the wait on hint future during write (CASSANDRA-3870)
* (cqlsh) ignore missing CfDef opts (CASSANDRA-3933)
* (cqlsh) look for cqlshlib relative to realpath (CASSANDRA-3767)
* Fix short read protection (CASSANDRA-3934)
* Make sure infered and actual schema match (CASSANDRA-3371)
* Fix NPE during HH delivery (CASSANDRA-3677)
* Don't put boostrapping node in 'hibernate' status (CASSANDRA-3737)
* Fix double quotes in windows bat files (CASSANDRA-3744)
* Fix bad validator lookup (CASSANDRA-3789)
* Fix soft reset in EC2MultiRegionSnitch (CASSANDRA-3835)
* Don't leave zombie connections with THSHA thrift server (CASSANDRA-3867)
* (cqlsh) fix deserialization of data (CASSANDRA-3874)
* Fix removetoken force causing an inconsistent state (CASSANDRA-3876)
* Fix ahndling of some types with Pig (CASSANDRA-3886)
* Don't allow to drop the system keyspace (CASSANDRA-3759)
* Make Pig deletes disabled by default and configurable (CASSANDRA-3628)
Merged from 0.8:
* (Pig) fix CassandraStorage to use correct comparator in Super ColumnFamily
case (CASSANDRA-3251)
* fix thread safety issues in commitlog replay, primarily affecting
systems with many (100s) of CF definitions (CASSANDRA-3751)
* Fix relevant tombstone ignored with super columns (CASSANDRA-3875)
1.0.7
* fix regression in HH page size calculation (CASSANDRA-3624)
* retry failed stream on IOException (CASSANDRA-3686)
* allow configuring bloom_filter_fp_chance (CASSANDRA-3497)
* attempt hint delivery every ten minutes, or when failure detector
notifies us that a node is back up, whichever comes first. hint
handoff throttle delay default changed to 1ms, from 50 (CASSANDRA-3554)
* add nodetool setstreamthroughput (CASSANDRA-3571)
* fix assertion when dropping a columnfamily with no sstables (CASSANDRA-3614)
* more efficient allocation of small bloom filters (CASSANDRA-3618)
* CLibrary.createHardLinkWithExec() to check for errors (CASSANDRA-3101)
* Avoid creating empty and non cleaned writer during compaction (CASSANDRA-3616)
* stop thrift service in shutdown hook so we can quiesce MessagingService
(CASSANDRA-3335)
* (CQL) compaction_strategy_options and compression_parameters for
CREATE COLUMNFAMILY statement (CASSANDRA-3374)
* Reset min/max compaction threshold when creating size tiered compaction
strategy (CASSANDRA-3666)
* Don't ignore IOException during compaction (CASSANDRA-3655)
* Fix assertion error for CF with gc_grace=0 (CASSANDRA-3579)
* Shutdown ParallelCompaction reducer executor after use (CASSANDRA-3711)
* Avoid < 0 value for pending tasks in leveled compaction (CASSANDRA-3693)
* (Hadoop) Support TimeUUID in Pig CassandraStorage (CASSANDRA-3327)
* Check schema is ready before continuing boostrapping (CASSANDRA-3629)
* Catch overflows during parsing of chunk_length_kb (CASSANDRA-3644)
* Improve stream protocol mismatch errors (CASSANDRA-3652)
* Avoid multiple thread doing HH to the same target (CASSANDRA-3681)
* Add JMX property for rp_timeout_in_ms (CASSANDRA-2940)
* Allow DynamicCompositeType to compare component of different types
(CASSANDRA-3625)
* Flush non-cfs backed secondary indexes (CASSANDRA-3659)
* Secondary Indexes should report memory consumption (CASSANDRA-3155)
* fix for SelectStatement start/end key are not set correctly
when a key alias is involved (CASSANDRA-3700)
* fix CLI `show schema` command insert of an extra comma in
column_metadata (CASSANDRA-3714)
Merged from 0.8:
* avoid logging (harmless) exception when GC takes < 1ms (CASSANDRA-3656)
* prevent new nodes from thinking down nodes are up forever (CASSANDRA-3626)
* use correct list of replicas for LOCAL_QUORUM reads when read repair
is disabled (CASSANDRA-3696)
* block on flush before compacting hints (may prevent OOM) (CASSANDRA-3733)
1.0.6
* (CQL) fix cqlsh support for replicate_on_write (CASSANDRA-3596)
* fix adding to leveled manifest after streaming (CASSANDRA-3536)
* filter out unavailable cipher suites when using encryption (CASSANDRA-3178)
* (HADOOP) add old-style api support for CFIF and CFRR (CASSANDRA-2799)
* Support TimeUUIDType column names in Stress.java tool (CASSANDRA-3541)
* (CQL) INSERT/UPDATE/DELETE/TRUNCATE commands should allow CF names to
be qualified by keyspace (CASSANDRA-3419)
* always remove endpoints from delevery queue in HH (CASSANDRA-3546)
* fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547)
* fix potential race in AES when a repair fails (CASSANDRA-3548)
* fix default value validation usage in CLI SET command (CASSANDRA-3553)
* Optimize componentsFor method for compaction and startup time
(CASSANDRA-3532)
* (CQL) Proper ColumnFamily metadata validation on CREATE COLUMNFAMILY
(CASSANDRA-3565)
* fix compression "chunk_length_kb" option to set correct kb value for
thrift/avro (CASSANDRA-3558)
* fix missing response during range slice repair (CASSANDRA-3551)
* 'describe ring' moved from CLI to nodetool and available through JMX (CASSANDRA-3220)
* add back partitioner to sstable metadata (CASSANDRA-3540)
* fix NPE in get_count for counters (CASSANDRA-3601)
Merged from 0.8:
* remove invalid assertion that table was opened before dropping it
(CASSANDRA-3580)
* range and index scans now only send requests to enough replicas to
satisfy requested CL + RR (CASSANDRA-3598)
* use cannonical host for local node in nodetool info (CASSANDRA-3556)
* remove nonlocal DC write optimization since it only worked with
CL.ONE or CL.LOCAL_QUORUM (CASSANDRA-3577, 3585)
* detect misuses of CounterColumnType (CASSANDRA-3422)
* turn off string interning in json2sstable, take 2 (CASSANDRA-2189)
* validate compression parameters on add/update of the ColumnFamily
(CASSANDRA-3573)
* Check for 0.0.0.0 is incorrect in CFIF (CASSANDRA-3584)
* Increase vm.max_map_count in debian packaging (CASSANDRA-3563)
* gossiper will never add itself to saved endpoints (CASSANDRA-3485)
1.0.5
* revert CASSANDRA-3407 (see CASSANDRA-3540)
* fix assertion error while forwarding writes to local nodes (CASSANDRA-3539)
1.0.4
* fix self-hinting of timed out read repair updates and make hinted handoff
less prone to OOMing a coordinator (CASSANDRA-3440)
* expose bloom filter sizes via JMX (CASSANDRA-3495)
* enforce RP tokens 0..2**127 (CASSANDRA-3501)
* canonicalize paths exposed through JMX (CASSANDRA-3504)
* fix "liveSize" stat when sstables are removed (CASSANDRA-3496)
* add bloom filter FP rates to nodetool cfstats (CASSANDRA-3347)
* record partitioner in sstable metadata component (CASSANDRA-3407)
* add new upgradesstables nodetool command (CASSANDRA-3406)
* skip --debug requirement to see common exceptions in CLI (CASSANDRA-3508)
* fix incorrect query results due to invalid max timestamp (CASSANDRA-3510)
* make sstableloader recognize compressed sstables (CASSANDRA-3521)
* avoids race in OutboundTcpConnection in multi-DC setups (CASSANDRA-3530)
* use SETLOCAL in cassandra.bat (CASSANDRA-3506)
* fix ConcurrentModificationException in Table.all() (CASSANDRA-3529)
Merged from 0.8:
* fix concurrence issue in the FailureDetector (CASSANDRA-3519)
* fix array out of bounds error in counter shard removal (CASSANDRA-3514)
* avoid dropping tombstones when they might still be needed to shadow
data in a different sstable (CASSANDRA-2786)
1.0.3
* revert name-based query defragmentation aka CASSANDRA-2503 (CASSANDRA-3491)
* fix invalidate-related test failures (CASSANDRA-3437)
* add next-gen cqlsh to bin/ (CASSANDRA-3188, 3131, 3493)
* (CQL) fix handling of rows with no columns (CASSANDRA-3424, 3473)
* fix querying supercolumns by name returning only a subset of
subcolumns or old subcolumn versions (CASSANDRA-3446)
* automatically compute sha1 sum for uncompressed data files (CASSANDRA-3456)
* fix reading metadata/statistics component for version < h (CASSANDRA-3474)
* add sstable forward-compatibility (CASSANDRA-3478)
* report compression ratio in CFSMBean (CASSANDRA-3393)
* fix incorrect size exception during streaming of counters (CASSANDRA-3481)
* (CQL) fix for counter decrement syntax (CASSANDRA-3418)
* Fix race introduced by CASSANDRA-2503 (CASSANDRA-3482)
* Fix incomplete deletion of delivered hints (CASSANDRA-3466)
* Avoid rescheduling compactions when no compaction was executed
(CASSANDRA-3484)
* fix handling of the chunk_length_kb compression options (CASSANDRA-3492)
Merged from 0.8:
* fix updating CF row_cache_provider (CASSANDRA-3414)
* CFMetaData.convertToThrift method to set RowCacheProvider (CASSANDRA-3405)
* acquire compactionlock during truncate (CASSANDRA-3399)
* fix displaying cfdef entries for super columnfamilies (CASSANDRA-3415)
* Make counter shard merging thread safe (CASSANDRA-3178)
* Revert CASSANDRA-2855
* Fix bug preventing the use of efficient cross-DC writes (CASSANDRA-3472)
* `describe ring` command for CLI (CASSANDRA-3220)
* (Hadoop) skip empty rows when entire row is requested, redux (CASSANDRA-2855)
1.0.2
* "defragment" rows for name-based queries under STCS (CASSANDRA-2503)
* Add timing information to cassandra-cli GET/SET/LIST queries (CASSANDRA-3326)
* Only create one CompressionMetadata object per sstable (CASSANDRA-3427)
* cleanup usage of StorageService.setMode() (CASSANDRA-3388)
* Avoid large array allocation for compressed chunk offsets (CASSANDRA-3432)
* fix DecimalType bytebuffer marshalling (CASSANDRA-3421)
* fix bug that caused first column in per row indexes to be ignored
(CASSANDRA-3441)
* add JMX call to clean (failed) repair sessions (CASSANDRA-3316)
* fix sstableloader reference acquisition bug (CASSANDRA-3438)
* fix estimated row size regression (CASSANDRA-3451)
* make sure we don't return more columns than asked (CASSANDRA-3303, 3395)
Merged from 0.8:
* acquire compactionlock during truncate (CASSANDRA-3399)
* fix displaying cfdef entries for super columnfamilies (CASSANDRA-3415)
1.0.1
* acquire references during index build to prevent delete problems
on Windows (CASSANDRA-3314)
* describe_ring should include datacenter/topology information (CASSANDRA-2882)
* Thrift sockets are not properly buffered (CASSANDRA-3261)
* performance improvement for bytebufferutil compare function (CASSANDRA-3286)
* add system.versions ColumnFamily (CASSANDRA-3140)
* reduce network copies (CASSANDRA-3333, 3373)
* limit nodetool to 32MB of heap (CASSANDRA-3124)
* (CQL) update parser to accept "timestamp" instead of "date" (CASSANDRA-3149)
* Fix CLI `show schema` to include "compression_options" (CASSANDRA-3368)
* Snapshot to include manifest under LeveledCompactionStrategy (CASSANDRA-3359)
* (CQL) SELECT query should allow CF name to be qualified by keyspace (CASSANDRA-3130)
* (CQL) Fix internal application error specifying 'using consistency ...'
in lower case (CASSANDRA-3366)
* fix Deflate compression when compression actually makes the data bigger
(CASSANDRA-3370)
* optimize UUIDGen to avoid lock contention on InetAddress.getLocalHost
(CASSANDRA-3387)
* tolerate index being dropped mid-mutation (CASSANDRA-3334, 3313)
* CompactionManager is now responsible for checking for new candidates
post-task execution, enabling more consistent leveled compaction
(CASSANDRA-3391)
* Cache HSHA threads (CASSANDRA-3372)
* use CF/KS names as snapshot prefix for drop + truncate operations
(CASSANDRA-2997)
* Break bloom filters up to avoid heap fragmentation (CASSANDRA-2466)
* fix cassandra hanging on jsvc stop (CASSANDRA-3302)
* Avoid leveled compaction getting blocked on errors (CASSANDRA-3408)
* Make reloading the compaction strategy safe (CASSANDRA-3409)
* ignore 0.8 hints even if compaction begins before we try to purge
them (CASSANDRA-3385)
* remove procrun (bin\daemon) from Cassandra source tree and
artifacts (CASSANDRA-3331)
* make cassandra compile under JDK7 (CASSANDRA-3275)
* remove dependency of clientutil.jar to FBUtilities (CASSANDRA-3299)
* avoid truncation errors by using long math on long values (CASSANDRA-3364)
* avoid clock drift on some Windows machine (CASSANDRA-3375)
* display cache provider in cli 'describe keyspace' command (CASSANDRA-3384)
* fix incomplete topology information in describe_ring (CASSANDRA-3403)
* expire dead gossip states based on time (CASSANDRA-2961)
* improve CompactionTask extensibility (CASSANDRA-3330)
* Allow one leveled compaction task to kick off another (CASSANDRA-3363)
* allow encryption only between datacenters (CASSANDRA-2802)
Merged from 0.8:
* fix truncate allowing data to be replayed post-restart (CASSANDRA-3297)
* make iwriter final in IndexWriter to avoid NPE (CASSANDRA-2863)
* (CQL) update grammar to require key clause in DELETE statement
(CASSANDRA-3349)
* (CQL) allow numeric keyspace names in USE statement (CASSANDRA-3350)
* (Hadoop) skip empty rows when slicing the entire row (CASSANDRA-2855)
* Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
* fix ColumnIndexer to use long offsets (CASSANDRA-3358)
* Improved CLI exceptions (CASSANDRA-3312)
* Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
* Only count compaction as active (for throttling) when they have
successfully acquired the compaction lock (CASSANDRA-3344)
* Display CLI version string on startup (CASSANDRA-3196)
* (Hadoop) make CFIF try rpc_address or fallback to listen_address
(CASSANDRA-3214)
* (Hadoop) accept comma delimited lists of initial thrift connections
(CASSANDRA-3185)
* ColumnFamily min_compaction_threshold should be >= 2 (CASSANDRA-3342)
* (Pig) add 0.8+ types and key validation type in schema (CASSANDRA-3280)
* Fix completely removing column metadata using CLI (CASSANDRA-3126)
* CLI `describe cluster;` output should be on separate lines for separate versions
(CASSANDRA-3170)
* fix changing durable_writes keyspace option during CF creation
(CASSANDRA-3292)
* avoid locking on update when no indexes are involved (CASSANDRA-3386)
* fix assertionError during repair with ordered partitioners (CASSANDRA-3369)
* correctly serialize key_validation_class for avro (CASSANDRA-3391)
* don't expire counter tombstone after streaming (CASSANDRA-3394)
* prevent nodes that failed to join from hanging around forever
(CASSANDRA-3351)
* remove incorrect optimization from slice read path (CASSANDRA-3390)
* Fix race in AntiEntropyService (CASSANDRA-3400)
1.0.0-final
* close scrubbed sstable fd before deleting it (CASSANDRA-3318)
* fix bug preventing obsolete commitlog segments from being removed
(CASSANDRA-3269)
* tolerate whitespace in seed CDL (CASSANDRA-3263)
* Change default heap thresholds to max(min(1/2 ram, 1G), min(1/4 ram, 8GB))
(CASSANDRA-3295)
* Fix broken CompressedRandomAccessReaderTest (CASSANDRA-3298)
* (CQL) fix type information returned for wildcard queries (CASSANDRA-3311)
* add estimated tasks to LeveledCompactionStrategy (CASSANDRA-3322)
* avoid including compaction cache-warming in keycache stats (CASSANDRA-3325)
* run compaction and hinted handoff threads at MIN_PRIORITY (CASSANDRA-3308)
* default hsha thrift server to cpu core count in rpc pool (CASSANDRA-3329)
* add bin\daemon to binary tarball for Windows service (CASSANDRA-3331)
* Fix places where uncompressed size of sstables was use in place of the
compressed one (CASSANDRA-3338)
* Fix hsha thrift server (CASSANDRA-3346)
* Make sure repair only stream needed sstables (CASSANDRA-3345)
1.0.0-rc2
* Log a meaningful warning when a node receives a message for a repair session
that doesn't exist anymore (CASSANDRA-3256)
* test for NUMA policy support as well as numactl presence (CASSANDRA-3245)
* Fix FD leak when internode encryption is enabled (CASSANDRA-3257)
* Remove incorrect assertion in mergeIterator (CASSANDRA-3260)
* FBUtilities.hexToBytes(String) to throw NumberFormatException when string
contains non-hex characters (CASSANDRA-3231)
* Keep SimpleSnitch proximity ordering unchanged from what the Strategy
generates, as intended (CASSANDRA-3262)
* remove Scrub from compactionstats when finished (CASSANDRA-3255)
* fix counter entry in jdbc TypesMap (CASSANDRA-3268)
* fix full queue scenario for ParallelCompactionIterator (CASSANDRA-3270)
* fix bootstrap process (CASSANDRA-3285)
* don't try delivering hints if when there isn't any (CASSANDRA-3176)
* CLI documentation change for ColumnFamily `compression_options` (CASSANDRA-3282)
* ignore any CF ids sent by client for adding CF/KS (CASSANDRA-3288)
* remove obsolete hints on first startup (CASSANDRA-3291)
* use correct ISortedColumns for time-optimized reads (CASSANDRA-3289)
* Evict gossip state immediately when a token is taken over by a new IP
(CASSANDRA-3259)
1.0.0-rc1
* Update CQL to generate microsecond timestamps by default (CASSANDRA-3227)
* Fix counting CFMetadata towards Memtable liveRatio (CASSANDRA-3023)
* Kill server on wrapped OOME such as from FileChannel.map (CASSANDRA-3201)
* remove unnecessary copy when adding to row cache (CASSANDRA-3223)
* Log message when a full repair operation completes (CASSANDRA-3207)
* Fix streamOutSession keeping sstables references forever if the remote end
dies (CASSANDRA-3216)
* Remove dynamic_snitch boolean from example configuration (defaulting to
true) and set default badness threshold to 0.1 (CASSANDRA-3229)
* Base choice of random or "balanced" token on bootstrap on whether
schema definitions were found (CASSANDRA-3219)
* Fixes for LeveledCompactionStrategy score computation, prioritization,
scheduling, and performance (CASSANDRA-3224, 3234)
* parallelize sstable open at server startup (CASSANDRA-2988)
* fix handling of exceptions writing to OutboundTcpConnection (CASSANDRA-3235)
* Allow using quotes in "USE <keyspace>;" CLI command (CASSANDRA-3208)
* Don't allow any cache loading exceptions to halt startup (CASSANDRA-3218)
* Fix sstableloader --ignores option (CASSANDRA-3247)
* File descriptor limit increased in packaging (CASSANDRA-3206)
* Fix deadlock in commit log during flush (CASSANDRA-3253)
1.0.0-beta1
* removed binarymemtable (CASSANDRA-2692)
* add commitlog_total_space_in_mb to prevent fragmented logs (CASSANDRA-2427)
* removed commitlog_rotation_threshold_in_mb configuration (CASSANDRA-2771)
* make AbstractBounds.normalize de-overlapp overlapping ranges (CASSANDRA-2641)
* replace CollatingIterator, ReducingIterator with MergeIterator
(CASSANDRA-2062)
* Fixed the ability to set compaction strategy in cli using create column
family command (CASSANDRA-2778)
* clean up tmp files after failed compaction (CASSANDRA-2468)
* restrict repair streaming to specific columnfamilies (CASSANDRA-2280)
* don't bother persisting columns shadowed by a row tombstone (CASSANDRA-2589)
* reset CF and SC deletion times after gc_grace (CASSANDRA-2317)
* optimize away seek when compacting wide rows (CASSANDRA-2879)
* single-pass streaming (CASSANDRA-2677, 2906, 2916, 3003)
* use reference counting for deleting sstables instead of relying on GC
(CASSANDRA-2521, 3179)
* store hints as serialized mutations instead of pointers to data row
(CASSANDRA-2045)
* store hints in the coordinator node instead of in the closest replica
(CASSANDRA-2914)
* add row_cache_keys_to_save CF option (CASSANDRA-1966)
* check column family validity in nodetool repair (CASSANDRA-2933)
* use lazy initialization instead of class initialization in NodeId
(CASSANDRA-2953)
* add paging to get_count (CASSANDRA-2894)
* fix "short reads" in [multi]get (CASSANDRA-2643, 3157, 3192)
* add optional compression for sstables (CASSANDRA-47, 2994, 3001, 3128)
* add scheduler JMX metrics (CASSANDRA-2962)
* add block level checksum for compressed data (CASSANDRA-1717)
* make column family backed column map pluggable and introduce unsynchronized
ArrayList backed one to speedup reads (CASSANDRA-2843, 3165, 3205)
* refactoring of the secondary index api (CASSANDRA-2982)
* make CL > ONE reads wait for digest reconciliation before returning
(CASSANDRA-2494)
* fix missing logging for some exceptions (CASSANDRA-2061)
* refactor and optimize ColumnFamilyStore.files(...) and Descriptor.fromFilename(String)
and few other places responsible for work with SSTable files (CASSANDRA-3040)
* Stop reading from sstables once we know we have the most recent columns,
for query-by-name requests (CASSANDRA-2498)
* Add query-by-column mode to stress.java (CASSANDRA-3064)
* Add "install" command to cassandra.bat (CASSANDRA-292)
* clean up KSMetadata, CFMetadata from unnecessary
Thrift<->Avro conversion methods (CASSANDRA-3032)
* Add timeouts to client request schedulers (CASSANDRA-3079, 3096)
* Cli to use hashes rather than array of hashes for strategy options (CASSANDRA-3081)
* LeveledCompactionStrategy (CASSANDRA-1608, 3085, 3110, 3087, 3145, 3154, 3182)
* Improvements of the CLI `describe` command (CASSANDRA-2630)
* reduce window where dropped CF sstables may not be deleted (CASSANDRA-2942)
* Expose gossip/FD info to JMX (CASSANDRA-2806)
* Fix streaming over SSL when compressed SSTable involved (CASSANDRA-3051)
* Add support for pluggable secondary index implementations (CASSANDRA-3078)
* remove compaction_thread_priority setting (CASSANDRA-3104)
* generate hints for replicas that timeout, not just replicas that are known
to be down before starting (CASSANDRA-2034)
* Add throttling for internode streaming (CASSANDRA-3080)
* make the repair of a range repair all replica (CASSANDRA-2610, 3194)
* expose the ability to repair the first range (as returned by the
partitioner) of a node (CASSANDRA-2606)
* Streams Compression (CASSANDRA-3015)
* add ability to use multiple threads during a single compaction
(CASSANDRA-2901)
* make AbstractBounds.normalize support overlapping ranges (CASSANDRA-2641)
* fix of the CQL count() behavior (CASSANDRA-3068)
* use TreeMap backed column families for the SSTable simple writers
(CASSANDRA-3148)
* fix inconsistency of the CLI syntax when {} should be used instead of [{}]
(CASSANDRA-3119)
* rename CQL type names to match expected SQL behavior (CASSANDRA-3149, 3031)
* Arena-based allocation for memtables (CASSANDRA-2252, 3162, 3163, 3168)
* Default RR chance to 0.1 (CASSANDRA-3169)
* Add RowLevel support to secondary index API (CASSANDRA-3147)
* Make SerializingCacheProvider the default if JNA is available (CASSANDRA-3183)
* Fix backwards compatibilty for CQL memtable properties (CASSANDRA-3190)
* Add five-minute delay before starting compactions on a restarted server
(CASSANDRA-3181)
* Reduce copies done for intra-host messages (CASSANDRA-1788, 3144)
* support of compaction strategy option for stress.java (CASSANDRA-3204)
* make memtable throughput and column count thresholds no-ops (CASSANDRA-2449)
* Return schema information along with the resultSet in CQL (CASSANDRA-2734)
* Add new DecimalType (CASSANDRA-2883)
* Fix assertion error in RowRepairResolver (CASSANDRA-3156)
* Reduce unnecessary high buffer sizes (CASSANDRA-3171)
* Pluggable compaction strategy (CASSANDRA-1610)
* Add new broadcast_address config option (CASSANDRA-2491)
0.8.7
* Kill server on wrapped OOME such as from FileChannel.map (CASSANDRA-3201)
* Allow using quotes in "USE <keyspace>;" CLI command (CASSANDRA-3208)
* Log message when a full repair operation completes (CASSANDRA-3207)
* Don't allow any cache loading exceptions to halt startup (CASSANDRA-3218)
* Fix sstableloader --ignores option (CASSANDRA-3247)
* File descriptor limit increased in packaging (CASSANDRA-3206)
* Log a meaningfull warning when a node receive a message for a repair session
that doesn't exist anymore (CASSANDRA-3256)
* Fix FD leak when internode encryption is enabled (CASSANDRA-3257)
* FBUtilities.hexToBytes(String) to throw NumberFormatException when string
contains non-hex characters (CASSANDRA-3231)
* Keep SimpleSnitch proximity ordering unchanged from what the Strategy
generates, as intended (CASSANDRA-3262)
* remove Scrub from compactionstats when finished (CASSANDRA-3255)
* Fix tool .bat files when CASSANDRA_HOME contains spaces (CASSANDRA-3258)
* Force flush of status table when removing/updating token (CASSANDRA-3243)
* Evict gossip state immediately when a token is taken over by a new IP (CASSANDRA-3259)
* Fix bug where the failure detector can take too long to mark a host
down (CASSANDRA-3273)
* (Hadoop) allow wrapping ranges in queries (CASSANDRA-3137)
* (Hadoop) check all interfaces for a match with split location
before falling back to random replica (CASSANDRA-3211)
* (Hadoop) Make Pig storage handle implements LoadMetadata (CASSANDRA-2777)
* (Hadoop) Fix exception during PIG 'dump' (CASSANDRA-2810)
* Fix stress COUNTER_GET option (CASSANDRA-3301)
* Fix missing fields in CLI `show schema` output (CASSANDRA-3304)
* Nodetool no longer leaks threads and closes JMX connections (CASSANDRA-3309)
* fix truncate allowing data to be replayed post-restart (CASSANDRA-3297)
* Move SimpleAuthority and SimpleAuthenticator to examples (CASSANDRA-2922)
* Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
* Fix transposition in cfHistograms (CASSANDRA-3222)
* Allow using number as DC name when creating keyspace in CQL (CASSANDRA-3239)
* Force flush of system table after updating/removing a token (CASSANDRA-3243)
0.8.6
* revert CASSANDRA-2388
* change TokenRange.endpoints back to listen/broadcast address to match
pre-1777 behavior, and add TokenRange.rpc_endpoints instead (CASSANDRA-3187)
* avoid trying to watch cassandra-topology.properties when loaded from jar
(CASSANDRA-3138)
* prevent users from creating keyspaces with LocalStrategy replication
(CASSANDRA-3139)
* fix CLI `show schema;` to output correct keyspace definition statement
(CASSANDRA-3129)
* CustomTThreadPoolServer to log TTransportException at DEBUG level
(CASSANDRA-3142)
* allow topology sort to work with non-unique rack names between
datacenters (CASSANDRA-3152)
* Improve caching of same-version Messages on digest and repair paths
(CASSANDRA-3158)
* Randomize choice of first replica for counter increment (CASSANDRA-2890)
* Fix using read_repair_chance instead of merge_shard_change (CASSANDRA-3202)
* Avoid streaming data to nodes that already have it, on move as well as
decommission (CASSANDRA-3041)
* Fix divide by zero error in GCInspector (CASSANDRA-3164)
* allow quoting of the ColumnFamily name in CLI `create column family`
statement (CASSANDRA-3195)
* Fix rolling upgrade from 0.7 to 0.8 problem (CASSANDRA-3166)
* Accomodate missing encryption_options in IncomingTcpConnection.stream
(CASSANDRA-3212)
0.8.5
* fix NPE when encryption_options is unspecified (CASSANDRA-3007)
* include column name in validation failure exceptions (CASSANDRA-2849)
* make sure truncate clears out the commitlog so replay won't re-
populate with truncated data (CASSANDRA-2950)
* fix NPE when debug logging is enabled and dropped CF is present
in a commitlog segment (CASSANDRA-3021)
* fix cassandra.bat when CASSANDRA_HOME contains spaces (CASSANDRA-2952)
* fix to SSTableSimpleUnsortedWriter bufferSize calculation (CASSANDRA-3027)
* make cleanup and normal compaction able to skip empty rows
(rows containing nothing but expired tombstones) (CASSANDRA-3039)
* work around native memory leak in com.sun.management.GarbageCollectorMXBean
(CASSANDRA-2868)
* validate that column names in column_metadata are not equal to key_alias
on create/update of the ColumnFamily and CQL 'ALTER' statement (CASSANDRA-3036)
* return an InvalidRequestException if an indexed column is assigned
a value larger than 64KB (CASSANDRA-3057)
* fix of numeric-only and string column names handling in CLI "drop index"
(CASSANDRA-3054)
* prune index scan resultset back to original request for lazy
resultset expansion case (CASSANDRA-2964)
* (Hadoop) fail jobs when Cassandra node has failed but TaskTracker
has not (CASSANDRA-2388)
* fix dynamic snitch ignoring nodes when read_repair_chance is zero
(CASSANDRA-2662)
* avoid retaining references to dropped CFS objects in
CompactionManager.estimatedCompactions (CASSANDRA-2708)
* expose rpc timeouts per host in MessagingServiceMBean (CASSANDRA-2941)
* avoid including cwd in classpath for deb and rpm packages (CASSANDRA-2881)
* remove gossip state when a new IP takes over a token (CASSANDRA-3071)
* allow sstable2json to work on index sstable files (CASSANDRA-3059)
* always hint counters (CASSANDRA-3099)
* fix log4j initialization in EmbeddedCassandraService (CASSANDRA-2857)
* remove gossip state when a new IP takes over a token (CASSANDRA-3071)
* work around native memory leak in com.sun.management.GarbageCollectorMXBean
(CASSANDRA-2868)
* fix UnavailableException with writes at CL.EACH_QUORM (CASSANDRA-3084)
* fix parsing of the Keyspace and ColumnFamily names in numeric
and string representations in CLI (CASSANDRA-3075)
* fix corner cases in Range.differenceToFetch (CASSANDRA-3084)
* fix ip address String representation in the ring cache (CASSANDRA-3044)
* fix ring cache compatibility when mixing pre-0.8.4 nodes with post-
in the same cluster (CASSANDRA-3023)
* make repair report failure when a node participating dies (instead of
hanging forever) (CASSANDRA-2433)
* fix handling of the empty byte buffer by ReversedType (CASSANDRA-3111)
* Add validation that Keyspace names are case-insensitively unique (CASSANDRA-3066)
* catch invalid key_validation_class before instantiating UpdateColumnFamily (CASSANDRA-3102)
* make Range and Bounds objects client-safe (CASSANDRA-3108)
* optionally skip log4j configuration (CASSANDRA-3061)
* bundle sstableloader with the debian package (CASSANDRA-3113)
* don't try to build secondary indexes when there is none (CASSANDRA-3123)
* improve SSTableSimpleUnsortedWriter speed for large rows (CASSANDRA-3122)
* handle keyspace arguments correctly in nodetool snapshot (CASSANDRA-3038)
* Fix SSTableImportTest on windows (CASSANDRA-3043)
* expose compactionThroughputMbPerSec through JMX (CASSANDRA-3117)
* log keyspace and CF of large rows being compacted
0.8.4
* change TokenRing.endpoints to be a list of rpc addresses instead of
listen/broadcast addresses (CASSANDRA-1777)
* include files-to-be-streamed in StreamInSession.getSources (CASSANDRA-2972)
* use JAVA env var in cassandra-env.sh (CASSANDRA-2785, 2992)
* avoid doing read for no-op replicate-on-write at CL=1 (CASSANDRA-2892)
* refuse counter write for CL.ANY (CASSANDRA-2990)
* switch back to only logging recent dropped messages (CASSANDRA-3004)
* always deserialize RowMutation for counters (CASSANDRA-3006)
* ignore saved replication_factor strategy_option for NTS (CASSANDRA-3011)
* make sure pre-truncate CL segments are discarded (CASSANDRA-2950)
0.8.3
* add ability to drop local reads/writes that are going to timeout
(CASSANDRA-2943)
* revamp token removal process, keep gossip states for 3 days (CASSANDRA-2496)
* don't accept extra args for 0-arg nodetool commands (CASSANDRA-2740)
* log unavailableexception details at debug level (CASSANDRA-2856)
* expose data_dir though jmx (CASSANDRA-2770)
* don't include tmp files as sstable when create cfs (CASSANDRA-2929)
* log Java classpath on startup (CASSANDRA-2895)
* keep gossipped version in sync with actual on migration coordinator
(CASSANDRA-2946)
* use lazy initialization instead of class initialization in NodeId
(CASSANDRA-2953)
* check column family validity in nodetool repair (CASSANDRA-2933)
* speedup bytes to hex conversions dramatically (CASSANDRA-2850)
* Flush memtables on shutdown when durable writes are disabled
(CASSANDRA-2958)
* improved POSIX compatibility of start scripts (CASsANDRA-2965)
* add counter support to Hadoop InputFormat (CASSANDRA-2981)
* fix bug where dirty commitlog segments were removed (and avoid keeping
segments with no post-flush activity permanently dirty) (CASSANDRA-2829)
* fix throwing exception with batch mutation of counter super columns
(CASSANDRA-2949)
* ignore system tables during repair (CASSANDRA-2979)
* throw exception when NTS is given replication_factor as an option
(CASSANDRA-2960)
* fix assertion error during compaction of counter CFs (CASSANDRA-2968)
* avoid trying to create index names, when no index exists (CASSANDRA-2867)
* don't sample the system table when choosing a bootstrap token
(CASSANDRA-2825)
* gossiper notifies of local state changes (CASSANDRA-2948)
* add asynchronous and half-sync/half-async (hsha) thrift servers
(CASSANDRA-1405)
* fix potential use of free'd native memory in SerializingCache
(CASSANDRA-2951)
* prune index scan resultset back to original request for lazy
resultset expansion case (CASSANDRA-2964)
* (Hadoop) fail jobs when Cassandra node has failed but TaskTracker
has not (CASSANDRA-2388)
0.8.2
* CQL:
- include only one row per unique key for IN queries (CASSANDRA-2717)
- respect client timestamp on full row deletions (CASSANDRA-2912)
* improve thread-safety in StreamOutSession (CASSANDRA-2792)
* allow deleting a row and updating indexed columns in it in the
same mutation (CASSANDRA-2773)
* Expose number of threads blocked on submitting memtable to flush
in JMX (CASSANDRA-2817)
* add ability to return "endpoints" to nodetool (CASSANDRA-2776)
* Add support for multiple (comma-delimited) coordinator addresses
to ColumnFamilyInputFormat (CASSANDRA-2807)
* fix potential NPE while scheduling read repair for range slice
(CASSANDRA-2823)
* Fix race in SystemTable.getCurrentLocalNodeId (CASSANDRA-2824)
* Correctly set default for replicate_on_write (CASSANDRA-2835)
* improve nodetool compactionstats formatting (CASSANDRA-2844)
* fix index-building status display (CASSANDRA-2853)
* fix CLI perpetuating obsolete KsDef.replication_factor (CASSANDRA-2846)
* improve cli treatment of multiline comments (CASSANDRA-2852)
* handle row tombstones correctly in EchoedRow (CASSANDRA-2786)
* add MessagingService.get[Recently]DroppedMessages and
StorageService.getExceptionCount (CASSANDRA-2804)
* fix possibility of spurious UnavailableException for LOCAL_QUORUM
reads with dynamic snitch + read repair disabled (CASSANDRA-2870)
* add ant-optional as dependence for the debian package (CASSANDRA-2164)
* add option to specify limit for get_slice in the CLI (CASSANDRA-2646)
* decrease HH page size (CASSANDRA-2832)
* reset cli keyspace after dropping the current one (CASSANDRA-2763)
* add KeyRange option to Hadoop inputformat (CASSANDRA-1125)
* fix protocol versioning (CASSANDRA-2818, 2860)
* support spaces in path to log4j configuration (CASSANDRA-2383)
* avoid including inferred types in CF update (CASSANDRA-2809)
* fix JMX bulkload call (CASSANDRA-2908)
* fix updating KS with durable_writes=false (CASSANDRA-2907)
* add simplified facade to SSTableWriter for bulk loading use
(CASSANDRA-2911)
* fix re-using index CF sstable names after drop/recreate (CASSANDRA-2872)
* prepend CF to default index names (CASSANDRA-2903)
* fix hint replay (CASSANDRA-2928)
* Properly synchronize repair's merkle tree computation (CASSANDRA-2816)
0.8.1
* CQL:
- support for insert, delete in BATCH (CASSANDRA-2537)
- support for IN to SELECT, UPDATE (CASSANDRA-2553)
- timestamp support for INSERT, UPDATE, and BATCH (CASSANDRA-2555)
- TTL support (CASSANDRA-2476)
- counter support (CASSANDRA-2473)
- ALTER COLUMNFAMILY (CASSANDRA-1709)
- DROP INDEX (CASSANDRA-2617)
- add SCHEMA/TABLE as aliases for KS/CF (CASSANDRA-2743)
- server handles wait-for-schema-agreement (CASSANDRA-2756)
- key alias support (CASSANDRA-2480)
* add support for comparator parameters and a generic ReverseType
(CASSANDRA-2355)
* add CompositeType and DynamicCompositeType (CASSANDRA-2231)
* optimize batches containing multiple updates to the same row
(CASSANDRA-2583)
* adjust hinted handoff page size to avoid OOM with large columns
(CASSANDRA-2652)
* mark BRAF buffer invalid post-flush so we don't re-flush partial
buffers again, especially on CL writes (CASSANDRA-2660)
* add DROP INDEX support to CLI (CASSANDRA-2616)
* don't perform HH to client-mode [storageproxy] nodes (CASSANDRA-2668)
* Improve forceDeserialize/getCompactedRow encapsulation (CASSANDRA-2659)
* Don't write CounterUpdateColumn to disk in tests (CASSANDRA-2650)
* Add sstable bulk loading utility (CASSANDRA-1278)
* avoid replaying hints to dropped columnfamilies (CASSANDRA-2685)
* add placeholders for missing rows in range query pseudo-RR (CASSANDRA-2680)
* remove no-op HHOM.renameHints (CASSANDRA-2693)
* clone super columns to avoid modifying them during flush (CASSANDRA-2675)
* allow writes to bypass the commitlog for certain keyspaces (CASSANDRA-2683)
* avoid NPE when bypassing commitlog during memtable flush (CASSANDRA-2781)
* Added support for making bootstrap retry if nodes flap (CASSANDRA-2644)
* Added statusthrift to nodetool to report if thrift server is running (CASSANDRA-2722)
* Fixed rows being cached if they do not exist (CASSANDRA-2723)
* Support passing tableName and cfName to RowCacheProviders (CASSANDRA-2702)
* close scrub file handles (CASSANDRA-2669)
* throttle migration replay (CASSANDRA-2714)
* optimize column serializer creation (CASSANDRA-2716)
* Added support for making bootstrap retry if nodes flap (CASSANDRA-2644)
* Added statusthrift to nodetool to report if thrift server is running
(CASSANDRA-2722)
* Fixed rows being cached if they do not exist (CASSANDRA-2723)
* fix truncate/compaction race (CASSANDRA-2673)
* workaround large resultsets causing large allocation retention
by nio sockets (CASSANDRA-2654)
* fix nodetool ring use with Ec2Snitch (CASSANDRA-2733)
* fix removing columns and subcolumns that are supressed by a row or
supercolumn tombstone during replica resolution (CASSANDRA-2590)
* support sstable2json against snapshot sstables (CASSANDRA-2386)
* remove active-pull schema requests (CASSANDRA-2715)
* avoid marking entire list of sstables as actively being compacted
in multithreaded compaction (CASSANDRA-2765)
* seek back after deserializing a row to update cache with (CASSANDRA-2752)
* avoid skipping rows in scrub for counter column family (CASSANDRA-2759)
* fix ConcurrentModificationException in repair when dealing with 0.7 node
(CASSANDRA-2767)
* use threadsafe collections for StreamInSession (CASSANDRA-2766)
* avoid infinite loop when creating merkle tree (CASSANDRA-2758)
* avoids unmarking compacting sstable prematurely in cleanup (CASSANDRA-2769)
* fix NPE when the commit log is bypassed (CASSANDRA-2718)
* don't throw an exception in SS.isRPCServerRunning (CASSANDRA-2721)
* make stress.jar executable (CASSANDRA-2744)
* add daemon mode to java stress (CASSANDRA-2267)
* expose the DC and rack of a node through JMX and nodetool ring (CASSANDRA-2531)
* fix cache mbean getSize (CASSANDRA-2781)
* Add Date, Float, Double, and Boolean types (CASSANDRA-2530)
* Add startup flag to renew counter node id (CASSANDRA-2788)
* add jamm agent to cassandra.bat (CASSANDRA-2787)
* fix repair hanging if a neighbor has nothing to send (CASSANDRA-2797)
* purge tombstone even if row is in only one sstable (CASSANDRA-2801)
* Fix wrong purge of deleted cf during compaction (CASSANDRA-2786)
* fix race that could result in Hadoop writer failing to throw an
exception encountered after close() (CASSANDRA-2755)
* fix scan wrongly throwing assertion error (CASSANDRA-2653)
* Always use even distribution for merkle tree with RandomPartitionner
(CASSANDRA-2841)
* fix describeOwnership for OPP (CASSANDRA-2800)
* ensure that string tokens do not contain commas (CASSANDRA-2762)
0.8.0-final
* fix CQL grammar warning and cqlsh regression from CASSANDRA-2622
* add ant generate-cql-html target (CASSANDRA-2526)
* update CQL consistency levels (CASSANDRA-2566)
* debian packaging fixes (CASSANDRA-2481, 2647)
* fix UUIDType, IntegerType for direct buffers (CASSANDRA-2682, 2684)
* switch to native Thrift for Hadoop map/reduce (CASSANDRA-2667)
* fix StackOverflowError when building from eclipse (CASSANDRA-2687)
* only provide replication_factor to strategy_options "help" for
SimpleStrategy, OldNetworkTopologyStrategy (CASSANDRA-2678, 2713)
* fix exception adding validators to non-string columns (CASSANDRA-2696)
* avoid instantiating DatabaseDescriptor in JDBC (CASSANDRA-2694)
* fix potential stack overflow during compaction (CASSANDRA-2626)
* clone super columns to avoid modifying them during flush (CASSANDRA-2675)
* reset underlying iterator in EchoedRow constructor (CASSANDRA-2653)
0.8.0-rc1
* faster flushes and compaction from fixing excessively pessimistic
rebuffering in BRAF (CASSANDRA-2581)
* fix returning null column values in the python cql driver (CASSANDRA-2593)
* fix merkle tree splitting exiting early (CASSANDRA-2605)
* snapshot_before_compaction directory name fix (CASSANDRA-2598)
* Disable compaction throttling during bootstrap (CASSANDRA-2612)
* fix CQL treatment of > and < operators in range slices (CASSANDRA-2592)
* fix potential double-application of counter updates on commitlog replay
by moving replay position from header to sstable metadata (CASSANDRA-2419)
* JDBC CQL driver exposes getColumn for access to timestamp
* JDBC ResultSetMetadata properties added to AbstractType
* r/m clustertool (CASSANDRA-2607)
* add support for presenting row key as a column in CQL result sets
(CASSANDRA-2622)
* Don't allow {LOCAL|EACH}_QUORUM unless strategy is NTS (CASSANDRA-2627)
* validate keyspace strategy_options during CQL create (CASSANDRA-2624)
* fix empty Result with secondary index when limit=1 (CASSANDRA-2628)
* Fix regression where bootstrapping a node with no schema fails
(CASSANDRA-2625)
* Allow removing LocationInfo sstables (CASSANDRA-2632)
* avoid attempting to replay mutations from dropped keyspaces (CASSANDRA-2631)
* avoid using cached position of a key when GT is requested (CASSANDRA-2633)
* fix counting bloom filter true positives (CASSANDRA-2637)
* initialize local ep state prior to gossip startup if needed (CASSANDRA-2638)
* fix counter increment lost after restart (CASSANDRA-2642)
* add quote-escaping via backslash to CLI (CASSANDRA-2623)
* fix pig example script (CASSANDRA-2487)
* fix dynamic snitch race in adding latencies (CASSANDRA-2618)
* Start/stop cassandra after more important services such as mdadm in
debian packaging (CASSANDRA-2481)
0.8.0-beta2
* fix NPE compacting index CFs (CASSANDRA-2528)
* Remove checking all column families on startup for compaction candidates
(CASSANDRA-2444)
* validate CQL create keyspace options (CASSANDRA-2525)
* fix nodetool setcompactionthroughput (CASSANDRA-2550)
* move gossip heartbeat back to its own thread (CASSANDRA-2554)
* validate cql TRUNCATE columnfamily before truncating (CASSANDRA-2570)
* fix batch_mutate for mixed standard-counter mutations (CASSANDRA-2457)
* disallow making schema changes to system keyspace (CASSANDRA-2563)
* fix sending mutation messages multiple times (CASSANDRA-2557)
* fix incorrect use of NBHM.size in ReadCallback that could cause
reads to time out even when responses were received (CASSANDRA-2552)
* trigger read repair correctly for LOCAL_QUORUM reads (CASSANDRA-2556)
* Allow configuring the number of compaction thread (CASSANDRA-2558)
* forceUserDefinedCompaction will attempt to compact what it is given
even if the pessimistic estimate is that there is not enough disk space;
automatic compactions will only compact 2 or more sstables (CASSANDRA-2575)
* refuse to apply migrations with older timestamps than the current
schema (CASSANDRA-2536)
* remove unframed Thrift transport option
* include indexes in snapshots (CASSANDRA-2596)
* improve ignoring of obsolete mutations in index maintenance (CASSANDRA-2401)
* recognize attempt to drop just the index while leaving the column
definition alone (CASSANDRA-2619)
0.8.0-beta1
* remove Avro RPC support (CASSANDRA-926)
* support for columns that act as incr/decr counters
(CASSANDRA-1072, 1937, 1944, 1936, 2101, 2093, 2288, 2105, 2384, 2236, 2342,
2454)
* CQL (CASSANDRA-1703, 1704, 1705, 1706, 1707, 1708, 1710, 1711, 1940,
2124, 2302, 2277, 2493)
* avoid double RowMutation serialization on write path (CASSANDRA-1800)
* make NetworkTopologyStrategy the default (CASSANDRA-1960)
* configurable internode encryption (CASSANDRA-1567, 2152)
* human readable column names in sstable2json output (CASSANDRA-1933)
* change default JMX port to 7199 (CASSANDRA-2027)
* backwards compatible internal messaging (CASSANDRA-1015)
* atomic switch of memtables and sstables (CASSANDRA-2284)
* add pluggable SeedProvider (CASSANDRA-1669)
* Fix clustertool to not throw exception when calling get_endpoints (CASSANDRA-2437)
* upgrade to thrift 0.6 (CASSANDRA-2412)
* repair works on a token range instead of full ring (CASSANDRA-2324)
* purge tombstones from row cache (CASSANDRA-2305)
* push replication_factor into strategy_options (CASSANDRA-1263)
* give snapshots the same name on each node (CASSANDRA-1791)
* remove "nodetool loadbalance" (CASSANDRA-2448)
* multithreaded compaction (CASSANDRA-2191)
* compaction throttling (CASSANDRA-2156)
* add key type information and alias (CASSANDRA-2311, 2396)
* cli no longer divides read_repair_chance by 100 (CASSANDRA-2458)
* made CompactionInfo.getTaskType return an enum (CASSANDRA-2482)
* add a server-wide cap on measured memtable memory usage and aggressively
flush to keep under that threshold (CASSANDRA-2006)
* add unified UUIDType (CASSANDRA-2233)
* add off-heap row cache support (CASSANDRA-1969)
0.7.5
* improvements/fixes to PIG driver (CASSANDRA-1618, CASSANDRA-2387,
CASSANDRA-2465, CASSANDRA-2484)
* validate index names (CASSANDRA-1761)
* reduce contention on Table.flusherLock (CASSANDRA-1954)
* try harder to detect failures during streaming, cleaning up temporary
files more reliably (CASSANDRA-2088)
* shut down server for OOM on a Thrift thread (CASSANDRA-2269)
* fix tombstone handling in repair and sstable2json (CASSANDRA-2279)
* preserve version when streaming data from old sstables (CASSANDRA-2283)
* don't start repair if a neighboring node is marked as dead (CASSANDRA-2290)
* purge tombstones from row cache (CASSANDRA-2305)
* Avoid seeking when sstable2json exports the entire file (CASSANDRA-2318)
* clear Built flag in system table when dropping an index (CASSANDRA-2320)
* don't allow arbitrary argument for stress.java (CASSANDRA-2323)
* validate values for index predicates in get_indexed_slice (CASSANDRA-2328)
* queue secondary indexes for flush before the parent (CASSANDRA-2330)
* allow job configuration to set the CL used in Hadoop jobs (CASSANDRA-2331)
* add memtable_flush_queue_size defaulting to 4 (CASSANDRA-2333)
* Allow overriding of initial_token, storage_port and rpc_port from system
properties (CASSANDRA-2343)
* fix comparator used for non-indexed secondary expressions in index scan
(CASSANDRA-2347)
* ensure size calculation and write phase of large-row compaction use
the same threshold for TTL expiration (CASSANDRA-2349)
* fix race when iterating CFs during add/drop (CASSANDRA-2350)
* add ConsistencyLevel command to CLI (CASSANDRA-2354)
* allow negative numbers in the cli (CASSANDRA-2358)
* hard code serialVersionUID for tokens class (CASSANDRA-2361)
* fix potential infinite loop in ByteBufferUtil.inputStream (CASSANDRA-2365)
* fix encoding bugs in HintedHandoffManager, SystemTable when default
charset is not UTF8 (CASSANDRA-2367)
* avoids having removed node reappearing in Gossip (CASSANDRA-2371)
* fix incorrect truncation of long to int when reading columns via block
index (CASSANDRA-2376)
* fix NPE during stream session (CASSANDRA-2377)
* fix race condition that could leave orphaned data files when dropping CF or
KS (CASSANDRA-2381)
* fsync statistics component on write (CASSANDRA-2382)
* fix duplicate results from CFS.scan (CASSANDRA-2406)
* add IntegerType to CLI help (CASSANDRA-2414)
* avoid caching token-only decoratedkeys (CASSANDRA-2416)
* convert mmap assertion to if/throw so scrub can catch it (CASSANDRA-2417)
* don't overwrite gc log (CASSANDR-2418)
* invalidate row cache for streamed row to avoid inconsitencies
(CASSANDRA-2420)
* avoid copies in range/index scans (CASSANDRA-2425)
* make sure we don't wipe data during cleanup if the node has not join
the ring (CASSANDRA-2428)
* Try harder to close files after compaction (CASSANDRA-2431)
* re-set bootstrapped flag after move finishes (CASSANDRA-2435)
* display validation_class in CLI 'describe keyspace' (CASSANDRA-2442)
* make cleanup compactions cleanup the row cache (CASSANDRA-2451)
* add column fields validation to scrub (CASSANDRA-2460)
* use 64KB flush buffer instead of in_memory_compaction_limit (CASSANDRA-2463)
* fix backslash substitutions in CLI (CASSANDRA-2492)
* disable cache saving for system CFS (CASSANDRA-2502)
* fixes for verifying destination availability under hinted conditions
so UE can be thrown intead of timing out (CASSANDRA-2514)
* fix update of validation class in column metadata (CASSANDRA-2512)
* support LOCAL_QUORUM, EACH_QUORUM CLs outside of NTS (CASSANDRA-2516)
* preserve version when streaming data from old sstables (CASSANDRA-2283)
* fix backslash substitutions in CLI (CASSANDRA-2492)
* count a row deletion as one operation towards memtable threshold
(CASSANDRA-2519)
* support LOCAL_QUORUM, EACH_QUORUM CLs outside of NTS (CASSANDRA-2516)
0.7.4
* add nodetool join command (CASSANDRA-2160)
* fix secondary indexes on pre-existing or streamed data (CASSANDRA-2244)
* initialize endpoint in gossiper earlier (CASSANDRA-2228)
* add ability to write to Cassandra from Pig (CASSANDRA-1828)
* add rpc_[min|max]_threads (CASSANDRA-2176)
* add CL.TWO, CL.THREE (CASSANDRA-2013)
* avoid exporting an un-requested row in sstable2json, when exporting
a key that does not exist (CASSANDRA-2168)
* add incremental_backups option (CASSANDRA-1872)
* add configurable row limit to Pig loadfunc (CASSANDRA-2276)
* validate column values in batches as well as single-Column inserts
(CASSANDRA-2259)
* move sample schema from cassandra.yaml to schema-sample.txt,
a cli scripts (CASSANDRA-2007)
* avoid writing empty rows when scrubbing tombstoned rows (CASSANDRA-2296)
* fix assertion error in range and index scans for CL < ALL
(CASSANDRA-2282)
* fix commitlog replay when flush position refers to data that didn't
get synced before server died (CASSANDRA-2285)
* fix fd leak in sstable2json with non-mmap'd i/o (CASSANDRA-2304)
* reduce memory use during streaming of multiple sstables (CASSANDRA-2301)
* purge tombstoned rows from cache after GCGraceSeconds (CASSANDRA-2305)
* allow zero replicas in a NTS datacenter (CASSANDRA-1924)
* make range queries respect snitch for local replicas (CASSANDRA-2286)
* fix HH delivery when column index is larger than 2GB (CASSANDRA-2297)
* make 2ary indexes use parent CF flush thresholds during initial build
(CASSANDRA-2294)
* update memtable_throughput to be a long (CASSANDRA-2158)
0.7.3
* Keep endpoint state until aVeryLongTime (CASSANDRA-2115)
* lower-latency read repair (CASSANDRA-2069)
* add hinted_handoff_throttle_delay_in_ms option (CASSANDRA-2161)
* fixes for cache save/load (CASSANDRA-2172, -2174)
* Handle whole-row deletions in CFOutputFormat (CASSANDRA-2014)
* Make memtable_flush_writers flush in parallel (CASSANDRA-2178)
* Add compaction_preheat_key_cache option (CASSANDRA-2175)
* refactor stress.py to have only one copy of the format string
used for creating row keys (CASSANDRA-2108)
* validate index names for \w+ (CASSANDRA-2196)
* Fix Cassandra cli to respect timeout if schema does not settle
(CASSANDRA-2187)
* fix for compaction and cleanup writing old-format data into new-version
sstable (CASSANDRA-2211, -2216)
* add nodetool scrub (CASSANDRA-2217, -2240)
* fix sstable2json large-row pagination (CASSANDRA-2188)
* fix EOFing on requests for the last bytes in a file (CASSANDRA-2213)
* fix BufferedRandomAccessFile bugs (CASSANDRA-2218, -2241)
* check for memtable flush_after_mins exceeded every 10s (CASSANDRA-2183)
* fix cache saving on Windows (CASSANDRA-2207)
* add validateSchemaAgreement call + synchronization to schema
modification operations (CASSANDRA-2222)
* fix for reversed slice queries on large rows (CASSANDRA-2212)
* fat clients were writing local data (CASSANDRA-2223)
* set DEFAULT_MEMTABLE_LIFETIME_IN_MINS to 24h
* improve detection and cleanup of partially-written sstables
(CASSANDRA-2206)
* fix supercolumn de/serialization when subcolumn comparator is different
from supercolumn's (CASSANDRA-2104)
* fix starting up on Windows when CASSANDRA_HOME contains whitespace
(CASSANDRA-2237)
* add [get|set][row|key]cacheSavePeriod to JMX (CASSANDRA-2100)
* fix Hadoop ColumnFamilyOutputFormat dropping of mutations
when batch fills up (CASSANDRA-2255)
* move file deletions off of scheduledtasks executor (CASSANDRA-2253)
0.7.2
* copy DecoratedKey.key when inserting into caches to avoid retaining
a reference to the underlying buffer (CASSANDRA-2102)
* format subcolumn names with subcomparator (CASSANDRA-2136)
* fix column bloom filter deserialization (CASSANDRA-2165)
0.7.1
* refactor MessageDigest creation code. (CASSANDRA-2107)
* buffer network stack to avoid inefficient small TCP messages while avoiding
the nagle/delayed ack problem (CASSANDRA-1896)
* check log4j configuration for changes every 10s (CASSANDRA-1525, 1907)
* more-efficient cross-DC replication (CASSANDRA-1530, -2051, -2138)
* avoid polluting page cache with commitlog or sstable writes
and seq scan operations (CASSANDRA-1470)
* add RMI authentication options to nodetool (CASSANDRA-1921)
* make snitches configurable at runtime (CASSANDRA-1374)
* retry hadoop split requests on connection failure (CASSANDRA-1927)
* implement describeOwnership for BOP, COPP (CASSANDRA-1928)
* make read repair behave as expected for ConsistencyLevel > ONE
(CASSANDRA-982, 2038)
* distributed test harness (CASSANDRA-1859, 1964)
* reduce flush lock contention (CASSANDRA-1930)
* optimize supercolumn deserialization (CASSANDRA-1891)
* fix CFMetaData.apply to only compare objects of the same class
(CASSANDRA-1962)
* allow specifying specific SSTables to compact from JMX (CASSANDRA-1963)
* fix race condition in MessagingService.targets (CASSANDRA-1959, 2094, 2081)
* refuse to open sstables from a future version (CASSANDRA-1935)
* zero-copy reads (CASSANDRA-1714)
* fix copy bounds for word Text in wordcount demo (CASSANDRA-1993)
* fixes for contrib/javautils (CASSANDRA-1979)
* check more frequently for memtable expiration (CASSANDRA-2000)
* fix writing SSTable column count statistics (CASSANDRA-1976)
* fix streaming of multiple CFs during bootstrap (CASSANDRA-1992)
* explicitly set JVM GC new generation size with -Xmn (CASSANDRA-1968)
* add short options for CLI flags (CASSANDRA-1565)
* make keyspace argument to "describe keyspace" in CLI optional
when authenticated to keyspace already (CASSANDRA-2029)
* added option to specify -Dcassandra.join_ring=false on startup
to allow "warm spare" nodes or performing JMX maintenance before
joining the ring (CASSANDRA-526)
* log migrations at INFO (CASSANDRA-2028)
* add CLI verbose option in file mode (CASSANDRA-2030)
* add single-line "--" comments to CLI (CASSANDRA-2032)
* message serialization tests (CASSANDRA-1923)
* switch from ivy to maven-ant-tasks (CASSANDRA-2017)
* CLI attempts to block for new schema to propagate (CASSANDRA-2044)
* fix potential overflow in nodetool cfstats (CASSANDRA-2057)
* add JVM shutdownhook to sync commitlog (CASSANDRA-1919)