Updated Branches: refs/heads/cassandra-1.2 354cb093d -> c3acf269f refs/heads/cassandra-1.2.0 ad36c8fd8 -> 8c24d019f refs/heads/trunk cf706f26c -> 374359112
Merge branch 'cassandra-1.2' into trunk Conflicts: src/java/org/apache/cassandra/db/ColumnFamilyStore.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/37435911 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/37435911 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/37435911 Branch: refs/heads/trunk Commit: 3743591120326ea8b04d159522d5f187d73b0826 Parents: cf706f2 c3acf26 Author: Yuki Morishita <yu...@apache.org> Authored: Wed Nov 21 17:12:01 2012 -0600 Committer: Yuki Morishita <yu...@apache.org> Committed: Wed Nov 21 17:12:01 2012 -0600 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../org/apache/cassandra/db/ColumnFamilyStore.java | 24 ++++- .../cassandra/db/ColumnFamilyStoreMBean.java | 6 +- .../org/apache/cassandra/service/PBSPredictor.java | 10 +- .../cassandra/service/PBSPredictorMBean.java | 2 +- .../apache/cassandra/service/StorageService.java | 84 +++++++++++---- .../cassandra/service/StorageServiceMBean.java | 25 ++--- src/java/org/apache/cassandra/tools/NodeCmd.java | 6 +- src/java/org/apache/cassandra/tools/NodeProbe.java | 13 +-- 9 files changed, 104 insertions(+), 67 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/37435911/CHANGES.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/37435911/src/java/org/apache/cassandra/db/ColumnFamilyStore.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStore.java index c1e0c97,9cb4c66..c90e481 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@@ -205,34 -206,17 +205,41 @@@ public class ColumnFamilyStore implemen } } + void scheduleFlush() + { + int period = metadata.getMemtableFlushPeriod(); + if (period > 0) + { + logger.debug("scheduling flush in {} ms", period); + WrappedRunnable runnable = new WrappedRunnable() + { + protected void runMayThrow() throws Exception + { + if (getMemtableThreadSafe().isExpired()) + { + Future<?> future = forceFlush(); + // if memtable is already expired but didn't flush because it's empty, + // then schedule another flush. + if (future == null) + scheduleFlush(); + } + } + }; + StorageService.scheduledTasks.schedule(runnable, period, TimeUnit.MILLISECONDS); + } + } + - public void setCompactionStrategyClass(String compactionStrategyClass) throws ConfigurationException + public void setCompactionStrategyClass(String compactionStrategyClass) { - metadata.compactionStrategyClass = CFMetaData.createCompactionStrategy(compactionStrategyClass); - maybeReloadCompactionStrategy(); + try + { + metadata.compactionStrategyClass = CFMetaData.createCompactionStrategy(compactionStrategyClass); + maybeReloadCompactionStrategy(); + } + catch (ConfigurationException e) + { + throw new IllegalArgumentException(e.getMessage()); + } } public String getCompactionStrategyClass()