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

Reply via email to