You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by be...@apache.org on 2016/05/18 20:58:19 UTC
[5/6] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5a5d0a1e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5a5d0a1e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5a5d0a1e
Branch: refs/heads/cassandra-3.0
Commit: 5a5d0a1eb46dfa308acc9cff28f8c65fbb026b81
Parents: 958183f 2837ec6
Author: Benedict Elliott Smith <be...@vast.com>
Authored: Wed May 18 21:51:40 2016 +0100
Committer: Benedict Elliott Smith <be...@vast.com>
Committed: Wed May 18 21:51:40 2016 +0100
----------------------------------------------------------------------
.../apache/cassandra/db/ColumnFamilyStore.java | 41 +++++++++-----------
1 file changed, 19 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a5d0a1e/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 98ba781,45486c1..a6d5c17
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@@ -1973,35 -2762,30 +1973,32 @@@ public class ColumnFamilyStore implemen
final long truncatedAt;
final ReplayPosition replayAfter;
- synchronized (data)
- if (keyspace.getMetadata().durableWrites || takeSnapshot)
++ if (keyspace.getMetadata().params.durableWrites || DatabaseDescriptor.isAutoSnapshot())
+ {
+ replayAfter = forceBlockingFlush();
++ viewManager.forceBlockingFlush();
+ }
+ else
{
- if (keyspace.getMetadata().params.durableWrites || DatabaseDescriptor.isAutoSnapshot())
+ // just nuke the memtable data w/o writing to disk first
- Future<ReplayPosition> replayAfterFuture;
- synchronized (data)
++ viewManager.dumpMemtables();
++ try
{
- replayAfter = forceBlockingFlush();
- viewManager.forceBlockingFlush();
- final Flush flush = new Flush(true);
- flushExecutor.execute(flush);
- replayAfterFuture = postFlushExecutor.submit(flush.postFlush);
++ replayAfter = dumpMemtable().get();
+ }
- else
++ catch (Exception e)
+ {
- // just nuke the memtable data w/o writing to disk first
- viewManager.dumpMemtables();
- try
- {
- replayAfter = dumpMemtable().get();
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
++ throw new RuntimeException(e);
}
-
- long now = System.currentTimeMillis();
- // make sure none of our sstables are somehow in the future (clock drift, perhaps)
- for (ColumnFamilyStore cfs : concatWithIndexes())
- for (SSTableReader sstable : cfs.data.getSSTables())
- now = Math.max(now, sstable.maxDataAge);
- truncatedAt = now;
- replayAfter = FBUtilities.waitOnFuture(replayAfterFuture);
}
+ long now = System.currentTimeMillis();
+ // make sure none of our sstables are somehow in the future (clock drift, perhaps)
+ for (ColumnFamilyStore cfs : concatWithIndexes())
+ for (SSTableReader sstable : cfs.data.getSSTables())
+ now = Math.max(now, sstable.maxDataAge);
+ truncatedAt = now;
+
Runnable truncateRunnable = new Runnable()
{
public void run()