Repository: cassandra Updated Branches: refs/heads/trunk 772f0ea9d -> 587c67e3b
Make SASI timeouts easier to debug Patch by Corentin Chary; reviewed by Sam Tunnicliffe for CASSANDRA-13677 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/587c67e3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/587c67e3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/587c67e3 Branch: refs/heads/trunk Commit: 587c67e3b999a9320ac26754c0d29155fab31511 Parents: 772f0ea Author: Corentin Chary <c.ch...@criteo.com> Authored: Thu Jun 8 12:48:43 2017 +0200 Committer: Sam Tunnicliffe <s...@beobal.com> Committed: Thu Sep 14 16:52:01 2017 +0100 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../index/sasi/exceptions/TimeQuotaExceededException.java | 6 +++++- .../apache/cassandra/index/sasi/plan/QueryController.java | 9 +++++++-- 3 files changed, 13 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/587c67e3/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 86db73a..fbd08e5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Add extra information to SASI timeout exception (CASSANDRA-13677) * Add incremental repair support for --hosts, --force, and subrange repair (CASSANDRA-13818) * Rework CompactionStrategyManager.getScanners synchronization (CASSANDRA-13786) * Add additional unit tests for batch behavior, TTLs, Timestamps (CASSANDRA-13846) http://git-wip-us.apache.org/repos/asf/cassandra/blob/587c67e3/src/java/org/apache/cassandra/index/sasi/exceptions/TimeQuotaExceededException.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/index/sasi/exceptions/TimeQuotaExceededException.java b/src/java/org/apache/cassandra/index/sasi/exceptions/TimeQuotaExceededException.java index af577dc..e237614 100644 --- a/src/java/org/apache/cassandra/index/sasi/exceptions/TimeQuotaExceededException.java +++ b/src/java/org/apache/cassandra/index/sasi/exceptions/TimeQuotaExceededException.java @@ -18,4 +18,8 @@ package org.apache.cassandra.index.sasi.exceptions; public class TimeQuotaExceededException extends RuntimeException -{} +{ + public TimeQuotaExceededException(String message) { + super(message); + } +} http://git-wip-us.apache.org/repos/asf/cassandra/blob/587c67e3/src/java/org/apache/cassandra/index/sasi/plan/QueryController.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/index/sasi/plan/QueryController.java b/src/java/org/apache/cassandra/index/sasi/plan/QueryController.java index 4ed4fff..c6aa7ee 100644 --- a/src/java/org/apache/cassandra/index/sasi/plan/QueryController.java +++ b/src/java/org/apache/cassandra/index/sasi/plan/QueryController.java @@ -153,8 +153,13 @@ public class QueryController public void checkpoint() { - if ((System.nanoTime() - executionStart) >= executionQuota) - throw new TimeQuotaExceededException(); + long executionTime = (System.nanoTime() - executionStart); + + if (executionTime >= executionQuota) + throw new TimeQuotaExceededException( + "Command '" + command + "' took too long " + + "(" + TimeUnit.NANOSECONDS.toMillis(executionTime) + + " >= " + TimeUnit.NANOSECONDS.toMillis(executionQuota) + "ms)."); } public void releaseIndexes(Operation operation) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org