Не удается обновить топологию Heron с помощью SchedulerStateManagerAdaptor - PullRequest
0 голосов
/ 03 июля 2018

Когда я попытался создать собственный планировщик Heron и использовал объект SchedulerStateManagerApaptor для обновления топологии, это исключение произошло:

Exception in thread java.util.ConcurrentModificationException: The update lock can not be obtained for topology AuroraMonitorSentenceWordCountTopology. Another actor is performing an update on it. Failing this request, try again once current update is complete
    at com.twitter.heron.scheduler.UpdateTopologyManager.updateTopology(UpdateTopologyManager.java:117)
    at zyt.custom.my.scheduler.aurora.AuroraHotEdgeSchedulerWithTxtLog.triggerSchedule(AuroraHotEdgeSchedulerWithTxtLog.java:323)
    at zyt.custom.my.scheduler.aurora.AuroraHotEdgeSchedulerWithTxtLog.access$400(AuroraHotEdgeSchedulerWithTxtLog.java:55)
    at zyt.custom.my.scheduler.aurora.AuroraHotEdgeSchedulerWithTxtLog$2.run(AuroraHotEdgeSchedulerWithTxtLog.java:258)
    at java.lang.Thread.run(Thread.java:748)

И код создания экземпляра объекта SchedulerStateManagerAdaptor:

Config config = Config.toClusterMode(this.config);
String stateMgrClass = Context.stateManagerClass(config); // get state manager instance
IStateManager stateMgr = null;
try {
    stateMgr = ReflectionUtils.newInstance(stateMgrClass);
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
    e.printStackTrace();
}
stateMgr.initialize(config);
return stateManagerAdaptor = new SchedulerStateManagerAdaptor(stateMgr, 1000); // 5000: timeout

Как исправить это исключение? Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

На основании сообщения об исключении выполняется одна операция обновления, когда запланирована вторая операция обновления. Первая текущая операция предотвращает продолжение второй.

Так что вы могли бы попробовать операцию обновления чисто? А также, пожалуйста, проверьте, правильно ли ваша реализация снимает блокировки после выполнения обновления?

0 голосов
/ 03 июля 2018

Yitan - Вы пытаетесь создать новый планировщик Aurora?

...