Этот баг мы видели в Руне всего один раз. Было запущено 2 одинаковых процесса друг за другом. И одна и та же задача этих процессов шла у бота подряд. Однако по логам видно, что 2 раза была выполнена задача 1-ого процесса, а задача второго никогда не вызывалась.
Как это воспроизвести не ясно.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
А что за обработчик выполнялся и как анализировались логи на повторный запуск: по записи вида Starting bot task WfTask{definitionId=98, processId=236, id=391, name=DoNothing} with config или по реально выполненным действиям обработчика?
Состояние во втором процессе было изменено на следующее (задание бот выполнил)?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Анализировалось по taskCompleted (если я правильно помню)
10 или 11 марта, на работе найду этот лог и прикреплю к багу с комментами, что там в этом логе искать.
Задача второго процесса, где она не вызывалась, считалась выполненой, процесс перешел в следующее состояние.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
К сожалению логов не сохранилось. Общими усилиями вспомнили, что в логах было 2 записи вида Starting bot task WfTask{definitionId=98, processId=236, id=391, name=DoNothing} with config для одного и того же экземпляра процесса, а для второго экземляра такой записи не было. Однако второй экземпляр успешно перешел в следующее состояние. Подозревалось, что при вызове ботстанции в текущем списке задач бота было 2 задачи с одним и тем же именем (отсюда описание этого бага в заголовке) и что проблема связана с этим. Однако воспроизвести не пытались.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Если бот выполнил задание во втором процессе, то значит он его и выполнял. Строки из WorkflowBotTaskExecutor:
log.info("Starting bot task " + task + " with config \n" + taskHandler.getConfiguration());
Мне кажется нужно просто с помощью breakpoints поймать ситуацию когда в список задач бота попадают 2 одинаковые задачи от 2-х разных БП и посмотреть как он их обработает.
Если корректно - закрыть до следующего возникновения и прикрепить логи.
Если не корректно - исправить баг.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Я изменял BotDemo так, что в нем последовательно идут ~ 30 задач от бота с одним именем и запускал одновременно 4 процесса - то есть в каждый момент времени у бота были задания от 4 процессов. Никаких эксцессов замечено не было.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Этот баг мы видели в Руне всего один раз. Было запущено 2 одинаковых процесса друг за другом. И одна и та же задача этих процессов шла у бота подряд. Однако по логам видно, что 2 раза была выполнена задача 1-ого процесса, а задача второго никогда не вызывалась.
Как это воспроизвести не ясно.
А что за обработчик выполнялся и как анализировались логи на повторный запуск: по записи вида Starting bot task WfTask{definitionId=98, processId=236, id=391, name=DoNothing} with config или по реально выполненным действиям обработчика?
Состояние во втором процессе было изменено на следующее (задание бот выполнил)?
Анализировалось по taskCompleted (если я правильно помню)
10 или 11 марта, на работе найду этот лог и прикреплю к багу с комментами, что там в этом логе искать.
Задача второго процесса, где она не вызывалась, считалась выполненой, процесс перешел в следующее состояние.
К сожалению логов не сохранилось. Общими усилиями вспомнили, что в логах было 2 записи вида Starting bot task WfTask{definitionId=98, processId=236, id=391, name=DoNothing} with config для одного и того же экземпляра процесса, а для второго экземляра такой записи не было. Однако второй экземпляр успешно перешел в следующее состояние. Подозревалось, что при вызове ботстанции в текущем списке задач бота было 2 задачи с одним и тем же именем (отсюда описание этого бага в заголовке) и что проблема связана с этим. Однако воспроизвести не пытались.
Если бот выполнил задание во втором процессе, то значит он его и выполнял. Строки из WorkflowBotTaskExecutor:
log.info("Starting bot task " + task + " with config \n" + taskHandler.getConfiguration());
...
Delegates.getExecutionService().completeTask(user, task.getId(), variables, null);
Боту просто некуда деваться.
Мне кажется нужно просто с помощью breakpoints поймать ситуацию когда в список задач бота попадают 2 одинаковые задачи от 2-х разных БП и посмотреть как он их обработает.
Если корректно - закрыть до следующего возникновения и прикрепить логи.
Если не корректно - исправить баг.
Я изменял BotDemo так, что в нем последовательно идут ~ 30 задач от бота с одним именем и запускал одновременно 4 процесса - то есть в каждый момент времени у бота были задания от 4 процессов. Никаких эксцессов замечено не было.