Hello,
I built a cube with over 10 million source records successfully, and I
could
use the cube to do some SQL query. However, when I want to do fuzzy query, I
have to face such errors:
##################################################################################################################
org.apache.hadoop.hbase.DoNotRetryIOException:
org.apache.hadoop.hbase.DoNotRetryIOException: Coprocessor passed deadline!
Maybe server is overloaded at
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.CubeVisitService.checkDeadline(CubeVisitService.java:225)
at
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.CubeVisitService.visitCube(CubeVisitService.java:259)
at
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos$CubeVisitService.callMethod(CubeVisitProtos.java:5555)
at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7873)
at
org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:2008)
at
org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1990)
at
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33652)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2188) at
org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) at
org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133) at
org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108) at
java.lang.Thread.run(Thread.java:748) while executing SQL: "select distinct
dns, count(distinct devid) as num_report from dns_table where datetime
='2018-08-16' group by dns order by num_report desc LIMIT 50000"
##################################################################################################################
In kylin source code, this error is throwed by this method .
##############################################################
private void checkDeadline(long deadline) throws DoNotRetryIOException {
if (System.currentTimeMillis() > deadline) {
logger.info("Deadline has passed, abort now!");
throw new DoNotRetryIOException("Coprocessor passed deadline! Maybe
server is overloaded");
}
}
#############################################################
I want to set the deadline-value longer ,but i don't know how to change it and
what negative effects it will brings。
Looking forward to your reply and help.
Best wishes,
Mingbao Zhang