KYLIN-1308 prevent query thread from forever hanging when EP went wrong

Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/fe19e3dd
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/fe19e3dd
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/fe19e3dd

Branch: refs/heads/2.x-staging
Commit: fe19e3ddf45c9900439345965eb7910e5772a9b3
Parents: d451de3
Author: honma <ho...@ebay.com>
Authored: Wed Jan 13 15:41:31 2016 +0800
Committer: honma <ho...@ebay.com>
Committed: Wed Jan 13 17:54:04 2016 +0800

----------------------------------------------------------------------
 .../apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/fe19e3dd/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
----------------------------------------------------------------------
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
index 05c9ffe..be8c011 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
@@ -27,6 +27,7 @@ import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.zip.DataFormatException;
 
@@ -93,7 +94,7 @@ public class CubeHBaseEndpointRPC extends CubeHBaseRPC {
             }
             try {
                 current++;
-                return queue.take();
+                return queue.poll(1, TimeUnit.HOURS);
             } catch (InterruptedException e) {
                 throw new RuntimeException("error when waiting queue", e);
             }

Reply via email to