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); }