问题描述
我们正在使用Apache Helix(0.9.4)计划400个任务,这些任务完成后,又计划了另外400个任务。我们正在使用下面的代码,而轮询代码将引发HelixException声明上下文为空。
这可能是由于无法在300.000毫秒内确定状态所致。因此,一个简单的解决方法是增加轮询超时,但是我仍然想知道此延迟来自何处,还有其他我们可以增加或更改以防止这种情况发生的原因,因为将来还会安排更多任务。
我已经注意到,当我增加Zookeeper实例的基础架构(在AWS上运行)时,花费更长的时间才能得到此错误
任何建议,想法都很有帮助
for (Workflow workflow : workflows) {
LOGGER.info("Starting work package '{}'",workflow.getName());
taskDriver.start(workflow);
}
for (Workflow workflow : workflows) {
try {
taskDriver.pollForWorkflowState(workflow.getName(),TaskState.values());
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new WorkerException("Interrupted while waiting for work package to get started",e);
}
}
下面是一条日志消息,由于是INFO消息,因此不确定是否不好。 看来该工作不再计划了。
Log info message 'Fail to schedule new jobs assignment for Workflow 834c7e1d-b9ef-44bd-bce3-0afd5645f29d: XYZ due to quota DEFAULT is full'
亲切的问候, 理查德
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)