Updated Branches: refs/heads/cassandra-1.2 950efdef9 -> dac699266 refs/heads/trunk f3b42d2a6 -> c609f27cd
fix overflow possibility patch by Mikhail Mazursky; reviewed by jbellis for CASSANDRA-5584 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dac69926 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dac69926 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dac69926 Branch: refs/heads/cassandra-1.2 Commit: dac69926613f96fdbacd49ada869bded21d0e3ab Parents: 950efde Author: Jonathan Ellis <jbel...@apache.org> Authored: Tue May 21 14:18:49 2013 -0500 Committer: Jonathan Ellis <jbel...@apache.org> Committed: Tue May 21 14:18:49 2013 -0500 ---------------------------------------------------------------------- .../commitlog/BatchCommitLogExecutorService.java | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dac69926/src/java/org/apache/cassandra/db/commitlog/BatchCommitLogExecutorService.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/commitlog/BatchCommitLogExecutorService.java b/src/java/org/apache/cassandra/db/commitlog/BatchCommitLogExecutorService.java index 4434532..39c33b2 100644 --- a/src/java/org/apache/cassandra/db/commitlog/BatchCommitLogExecutorService.java +++ b/src/java/org/apache/cassandra/db/commitlog/BatchCommitLogExecutorService.java @@ -76,7 +76,8 @@ class BatchCommitLogExecutorService extends AbstractCommitLogExecutorService // so we have to break it into firstTask / extra tasks) incompleteTasks.clear(); taskValues.clear(); - long end = System.nanoTime() + (long)(1000000 * DatabaseDescriptor.getCommitLogSyncBatchWindow()); + long start = System.nanoTime(); + long window = (long)(1000000 * DatabaseDescriptor.getCommitLogSyncBatchWindow()); // it doesn't seem worth bothering future-izing the exception // since if a commitlog op throws, we're probably screwed anyway @@ -84,7 +85,7 @@ class BatchCommitLogExecutorService extends AbstractCommitLogExecutorService taskValues.add(firstTask.getRawCallable().call()); while (!queue.isEmpty() && queue.peek().getRawCallable() instanceof CommitLog.LogRecordAdder - && System.nanoTime() < end) + && System.nanoTime() - start < window) { CheaterFutureTask task = queue.remove(); incompleteTasks.add(task);