Merge branch 'cassandra-2.0' into cassandra-2.1 Conflicts: CHANGES.txt
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a30dfbd7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a30dfbd7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a30dfbd7 Branch: refs/heads/trunk Commit: a30dfbd74f38b773bc05fedbd20884c68eec2071 Parents: 30df4a7 c2563db Author: Jason Brown <jasobr...@apple.com> Authored: Fri May 30 05:48:39 2014 -0700 Committer: Jason Brown <jasobr...@apple.com> Committed: Fri May 30 05:48:39 2014 -0700 ---------------------------------------------------------------------- CHANGES.txt | 1 + src/java/org/apache/cassandra/service/StorageService.java | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a30dfbd7/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 521114e,75e6759..7603f88 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -93,122 -70,12 +93,123 @@@ Merged from 1.2 * 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.0.7 +2.1.0-beta2 + * Increase default CL space to 8GB (CASSANDRA-7031) + * Add range tombstones to read repair digests (CASSANDRA-6863) + * Fix BTree.clear for large updates (CASSANDRA-6943) + * Fail write instead of logging a warning when unable to append to CL + (CASSANDRA-6764) + * Eliminate possibility of CL segment appearing twice in active list + (CASSANDRA-6557) + * Apply DONTNEED fadvise to commitlog segments (CASSANDRA-6759) + * Switch CRC component to Adler and include it for compressed sstables + (CASSANDRA-4165) + * Allow cassandra-stress to set compaction strategy options (CASSANDRA-6451) + * Add broadcast_rpc_address option to cassandra.yaml (CASSANDRA-5899) + * Auto reload GossipingPropertyFileSnitch config (CASSANDRA-5897) + * Fix overflow of memtable_total_space_in_mb (CASSANDRA-6573) + * Fix ABTC NPE and apply update function correctly (CASSANDRA-6692) + * Allow nodetool to use a file or prompt for password (CASSANDRA-6660) + * Fix AIOOBE when concurrently accessing ABSC (CASSANDRA-6742) + * Fix assertion error in ALTER TYPE RENAME (CASSANDRA-6705) + * Scrub should not always clear out repaired status (CASSANDRA-5351) + * Improve handling of range tombstone for wide partitions (CASSANDRA-6446) + * Fix ClassCastException for compact table with composites (CASSANDRA-6738) + * Fix potentially repairing with wrong nodes (CASSANDRA-6808) + * Change caching option syntax (CASSANDRA-6745) + * Fix stress to do proper counter reads (CASSANDRA-6835) + * Fix help message for stress counter_write (CASSANDRA-6824) + * Fix stress smart Thrift client to pick servers correctly (CASSANDRA-6848) + * Add logging levels (minimal, normal or verbose) to stress tool (CASSANDRA-6849) + * Fix race condition in Batch CLE (CASSANDRA-6860) + * Improve cleanup/scrub/upgradesstables failure handling (CASSANDRA-6774) + * ByteBuffer write() methods for serializing sstables (CASSANDRA-6781) + * Proper compare function for CollectionType (CASSANDRA-6783) + * Update native server to Netty 4 (CASSANDRA-6236) + * Fix off-by-one error in stress (CASSANDRA-6883) + * Make OpOrder AutoCloseable (CASSANDRA-6901) + * Remove sync repair JMX interface (CASSANDRA-6900) + * Add multiple memory allocation options for memtables (CASSANDRA-6689, 6694) + * Remove adjusted op rate from stress output (CASSANDRA-6921) + * Add optimized CF.hasColumns() implementations (CASSANDRA-6941) + * Serialize batchlog mutations with the version of the target node + (CASSANDRA-6931) + * Optimize CounterColumn#reconcile() (CASSANDRA-6953) + * Properly remove 1.2 sstable support in 2.1 (CASSANDRA-6869) + * Lock counter cells, not partitions (CASSANDRA-6880) + * Track presence of legacy counter shards in sstables (CASSANDRA-6888) + * Ensure safe resource cleanup when replacing sstables (CASSANDRA-6912) + * Add failure handler to async callback (CASSANDRA-6747) + * Fix AE when closing SSTable without releasing reference (CASSANDRA-7000) + * Clean up IndexInfo on keyspace/table drops (CASSANDRA-6924) + * Only snapshot relative SSTables when sequential repair (CASSANDRA-7024) + * Require nodetool rebuild_index to specify index names (CASSANDRA-7038) + * fix cassandra stress errors on reads with native protocol (CASSANDRA-7033) + * Use OpOrder to guard sstable references for reads (CASSANDRA-6919) + * Preemptive opening of compaction result (CASSANDRA-6916) + * Multi-threaded scrub/cleanup/upgradesstables (CASSANDRA-5547) + * Optimize cellname comparison (CASSANDRA-6934) + * Native protocol v3 (CASSANDRA-6855) + * Optimize Cell liveness checks and clean up Cell (CASSANDRA-7119) + * Support consistent range movements (CASSANDRA-2434) +Merged from 2.0: + * Avoid race-prone second "scrub" of system keyspace (CASSANDRA-6797) + * Pool CqlRecordWriter clients by inetaddress rather than Range + (CASSANDRA-6665) + * Fix compaction_history timestamps (CASSANDRA-6784) + * Compare scores of full replica ordering in DES (CASSANDRA-6683) + * fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577) + * Allow repairing between specific replicas (CASSANDRA-6440) + * Allow per-dc enabling of hints (CASSANDRA-6157) + * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201) + * Fix EstimatedHistogram races (CASSANDRA-6682) + * Failure detector correctly converts initial value to nanos (CASSANDRA-6658) + * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445) + * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) + * Expose bulk loading progress over JMX (CASSANDRA-4757) + * Correctly handle null with IF conditions and TTL (CASSANDRA-6623) + * Account for range/row tombstones in tombstone drop + time histogram (CASSANDRA-6522) + * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) + * Make commitlog failure handling configurable (CASSANDRA-6364) + * Avoid overlaps in LCS (CASSANDRA-6688) + * Improve support for paginating over composites (CASSANDRA-4851) + * Fix count(*) queries in a mixed cluster (CASSANDRA-6707) + * Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566) + * Fix replaying pre-2.0 commit logs (CASSANDRA-6714) + * Add static columns to CQL3 (CASSANDRA-6561) + * Optimize single partition batch statements (CASSANDRA-6737) + * Disallow post-query re-ordering when paging (CASSANDRA-6722) + * Fix potential paging bug with deleted columns (CASSANDRA-6748) + * Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636) + * Fix truncating compression metadata (CASSANDRA-6791) + * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541) + * Catch memtable flush exceptions during shutdown (CASSANDRA-6735) + * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) + * Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782) + * Fix IllegalArgumentException when updating from 1.2 with SuperColumns + (CASSANDRA-6733) + * FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778) + * Fix CQLSStableWriter.addRow(Map<String, Object>) (CASSANDRA-6526) + * Fix HSHA server introducing corrupt data (CASSANDRA-6285) + * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813) + * Fix saving triggers to schema (CASSANDRA-6789) + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790) + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838) + * Fix static counter columns (CASSANDRA-6827) + * Restore expiring->deleted (cell) compaction optimization (CASSANDRA-6844) + * Fix CompactionManager.needsCleanup (CASSANDRA-6845) + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) + * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) + * 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/a30dfbd7/src/java/org/apache/cassandra/service/StorageService.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/service/StorageService.java index 0008589,f74df82..a363279 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@@ -3103,11 -3018,12 +3103,12 @@@ public class StorageService extends Not private Future<StreamState> streamHints() { - if (HintedHandOffManager.instance.listEndpointsPendingHints().size() == 0) - return Futures.immediateFuture(null); + // StreamPlan will not fail if there are zero files to transfer, so flush anyway (need to get any in-memory hints, as well) + ColumnFamilyStore hintsCF = Keyspace.open(Keyspace.SYSTEM_KS).getColumnFamilyStore(SystemKeyspace.HINTS_CF); + FBUtilities.waitOnFuture(hintsCF.forceFlush()); // gather all live nodes in the cluster that aren't also leaving - List<InetAddress> candidates = new ArrayList<InetAddress>(StorageService.instance.getTokenMetadata().cloneAfterAllLeft().getAllEndpoints()); + List<InetAddress> candidates = new ArrayList<>(StorageService.instance.getTokenMetadata().cloneAfterAllLeft().getAllEndpoints()); candidates.remove(FBUtilities.getBroadcastAddress()); for (Iterator<InetAddress> iter = candidates.iterator(); iter.hasNext(); ) {