Merge branch 'cassandra-1.2' into cassandra-2.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fe571421 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fe571421 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fe571421 Branch: refs/heads/cassandra-2.0 Commit: fe571421dadea7e8a904a7b5b3127cd6b71263a8 Parents: 56a615d ab5372f Author: Jonathan Ellis <[email protected]> Authored: Fri Feb 7 10:30:30 2014 -0600 Committer: Jonathan Ellis <[email protected]> Committed: Fri Feb 7 10:30:50 2014 -0600 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../cassandra/db/HintedHandOffManager.java | 26 ++++++++++++-------- 2 files changed, 17 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe571421/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 94cd19c,82783f8..d32490e --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -11,33 -2,24 +11,34 @@@ Merged from 1.2 * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) + * Compact hints after partial replay to clean out tombstones (CASSANDRA-6666) - -1.2.15 - * 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) - - -1.2.14 - * Reverted code to limit CQL prepared statement cache by size (CASSANDRA-6592) - * add cassandra.default_messaging_version property to allow easier - upgrading from 1.1 (CASSANDRA-6619) - * 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.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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe571421/src/java/org/apache/cassandra/db/HintedHandOffManager.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/HintedHandOffManager.java index 40d5aaa,b1ccbc3..b9914a6 --- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java +++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java @@@ -367,13 -318,17 +368,17 @@@ public class HintedHandOffManager imple startColumn, ByteBufferUtil.EMPTY_BYTE_BUFFER, false, - pageSize); + pageSize, + now); - ColumnFamily hintsPage = ColumnFamilyStore.removeDeleted(hintStore.getColumnFamily(filter), - (int) (System.currentTimeMillis() / 1000)); + ColumnFamily hintsPage = ColumnFamilyStore.removeDeleted(hintStore.getColumnFamily(filter), (int) (now / 1000)); if (pagingFinished(hintsPage, startColumn)) + { + logger.info("Finished hinted handoff of {} rows to endpoint {}", rowsReplayed, endpoint); + finished = true; break; + } // check if node is still alive and we should continue delivery process if (!FailureDetector.instance.isAlive(endpoint)) @@@ -475,15 -430,16 +480,16 @@@ } } - logger.info("Finished hinted handoff of {} rows to endpoint {}", rowsReplayed, endpoint); - - try - { - compact().get(); - } - catch (Exception e) - if (finished || rowsReplayed.get() >= DatabaseDescriptor.getTombstoneDebugThreshold()) ++ if (finished || rowsReplayed.get() >= DatabaseDescriptor.getTombstoneWarnThreshold()) { - throw new RuntimeException(e); + try + { + compact().get(); + } + catch (Exception e) + { + throw new RuntimeException(e); + } } }
