KYLIN-1546 Update runningSecs to float in BadQueryDetector
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/d4e09b63 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/d4e09b63 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/d4e09b63 Branch: refs/heads/1.5.x-HBase1.1.3 Commit: d4e09b630c8acc36f84b750e2b1b4abc676f5137 Parents: 653743f Author: lidongsjtu <lid...@apache.org> Authored: Tue Apr 5 18:01:43 2016 +0800 Committer: lidongsjtu <lid...@apache.org> Committed: Tue Apr 5 18:21:25 2016 +0800 ---------------------------------------------------------------------- .../org/apache/kylin/metadata/badquery/BadQueryEntry.java | 8 ++++---- .../kylin/metadata/badquery/BadQueryHistoryManager.java | 4 ++-- .../metadata/badquery/BadQueryHistoryManagerTest.java | 2 +- .../org/apache/kylin/rest/service/BadQueryDetector.java | 10 +++++----- .../org/apache/kylin/rest/service/DiagnosisService.java | 1 - .../apache/kylin/rest/service/BadQueryDetectorTest.java | 2 +- 6 files changed, 13 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/d4e09b63/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryEntry.java ---------------------------------------------------------------------- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryEntry.java b/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryEntry.java index d795954..02ea6ef 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryEntry.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryEntry.java @@ -34,13 +34,13 @@ public class BadQueryEntry extends RootPersistentEntity implements Comparable<Ba @JsonProperty("start_time") private long startTime; @JsonProperty("running_seconds") - private int runningSec; + private float runningSec; @JsonProperty("server") private String server; @JsonProperty("thread") private String thread; - public BadQueryEntry(String sql, String adj, long startTime, int runningSec, String server, String thread) { + public BadQueryEntry(String sql, String adj, long startTime, float runningSec, String server, String thread) { this.updateRandomUuid(); this.adj = adj; this.sql = sql; @@ -53,11 +53,11 @@ public class BadQueryEntry extends RootPersistentEntity implements Comparable<Ba public BadQueryEntry() { } - public int getRunningSec() { + public float getRunningSec() { return runningSec; } - public void setRunningSec(int runningSec) { + public void setRunningSec(float runningSec) { this.runningSec = runningSec; } http://git-wip-us.apache.org/repos/asf/kylin/blob/d4e09b63/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManager.java ---------------------------------------------------------------------- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManager.java b/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManager.java index 5d532aa..e89f6a1 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManager.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManager.java @@ -116,11 +116,11 @@ public class BadQueryHistoryManager { return badQueryHistory; } - public BadQueryHistory addEntryToProject(String sql, long startTime, String adj, int runningSecs, String server, String threadName, String project) throws IOException { + public BadQueryHistory addEntryToProject(String sql, long startTime, String adj, float runningSecs, String server, String threadName, String project) throws IOException { return addEntryToProject(new BadQueryEntry(sql, adj, startTime, runningSecs, server, threadName), project); } - public BadQueryHistory updateEntryToProject(String sql, long startTime, String adj, int runningSecs, String server, String threadName, String project) throws IOException { + public BadQueryHistory updateEntryToProject(String sql, long startTime, String adj, float runningSecs, String server, String threadName, String project) throws IOException { return updateEntryToProject(new BadQueryEntry(sql, adj, startTime, runningSecs, server, threadName), project); } http://git-wip-us.apache.org/repos/asf/kylin/blob/d4e09b63/core-metadata/src/test/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManagerTest.java ---------------------------------------------------------------------- diff --git a/core-metadata/src/test/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManagerTest.java b/core-metadata/src/test/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManagerTest.java index 949f11f..562f356 100644 --- a/core-metadata/src/test/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManagerTest.java +++ b/core-metadata/src/test/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManagerTest.java @@ -96,7 +96,7 @@ public class BadQueryHistoryManagerTest extends LocalFileMetadataTestCase { assertEquals("adj2", newEntry.getAdj()); assertEquals("server2", newEntry.getServer()); assertEquals("t-1", newEntry.getThread()); - assertEquals(120, newEntry.getRunningSec()); + assertEquals(120, (int)newEntry.getRunningSec()); } } http://git-wip-us.apache.org/repos/asf/kylin/blob/d4e09b63/server/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java ---------------------------------------------------------------------- diff --git a/server/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java b/server/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java index 9ce7f76..9089188 100644 --- a/server/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java +++ b/server/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java @@ -84,7 +84,7 @@ public class BadQueryDetector extends Thread { notifiers.add(notifier); } - private void notify(String adj, int runningSec, long startTime, String project, String sql, Thread t) { + private void notify(String adj, float runningSec, long startTime, String project, String sql, Thread t) { for (Notifier notifier : notifiers) { try { notifier.badQueryFound(adj, runningSec, startTime, project, sql, t); @@ -95,12 +95,12 @@ public class BadQueryDetector extends Thread { } public interface Notifier { - void badQueryFound(String adj, int runningSec, long startTime, String project, String sql, Thread t); + void badQueryFound(String adj, float runningSec, long startTime, String project, String sql, Thread t); } private class LoggerNotifier implements Notifier { @Override - public void badQueryFound(String adj, int runningSec, long startTime, String project, String sql, Thread t) { + public void badQueryFound(String adj, float runningSec, long startTime, String project, String sql, Thread t) { logger.info(adj + " query has been running " + runningSec + " seconds (project:" + project + ", thread: 0x" + Long.toHexString(t.getId()) + ") -- " + sql); } } @@ -130,7 +130,7 @@ public class BadQueryDetector extends Thread { } @Override - public void badQueryFound(String adj, int runningSec, long startTime, String project, String sql, Thread t) { + public void badQueryFound(String adj, float runningSec, long startTime, String project, String sql, Thread t) { try { long cachingSeconds = (kylinConfig.getBadQueryDefaultAlertingSeconds() + 1) * 30; Pair<Long, String> sqlPair = new Pair<>(startTime, sql); @@ -198,7 +198,7 @@ public class BadQueryDetector extends Thread { // report if query running long for (Entry e : entries) { - int runningSec = (int) ((now - e.startTime) / 1000); + float runningSec = (float) (now - e.startTime) / 1000; if (runningSec >= alertRunningSec) { notify("Slow", runningSec, e.startTime, e.sqlRequest.getProject(), e.sqlRequest.getSql(), e.thread); dumpStackTrace(e.thread); http://git-wip-us.apache.org/repos/asf/kylin/blob/d4e09b63/server/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java ---------------------------------------------------------------------- diff --git a/server/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java b/server/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java index f048f96..c497323 100644 --- a/server/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java +++ b/server/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java @@ -18,7 +18,6 @@ package org.apache.kylin.rest.service; -import java.io.File; import java.io.IOException; import java.util.UUID; http://git-wip-us.apache.org/repos/asf/kylin/blob/d4e09b63/server/src/test/java/org/apache/kylin/rest/service/BadQueryDetectorTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/service/BadQueryDetectorTest.java b/server/src/test/java/org/apache/kylin/rest/service/BadQueryDetectorTest.java index d09d297..922f1a4 100644 --- a/server/src/test/java/org/apache/kylin/rest/service/BadQueryDetectorTest.java +++ b/server/src/test/java/org/apache/kylin/rest/service/BadQueryDetectorTest.java @@ -51,7 +51,7 @@ public class BadQueryDetectorTest extends LocalFileMetadataTestCase { BadQueryDetector badQueryDetector = new BadQueryDetector(alertRunningSec * 1000, alertMB, alertRunningSec); badQueryDetector.registerNotifier(new BadQueryDetector.Notifier() { @Override - public void badQueryFound(String adj, int runningSec, long startTime, String project, String sql, Thread t) { + public void badQueryFound(String adj, float runningSec, long startTime, String project, String sql, Thread t) { alerts.add(new String[] { adj, sql }); } });