我一直断断续续地面对这个问题,每两周一次。正如我所观察到的,每次发生这个问题,都是由于活动Id 26。我看到活动id 26顺利完成。不确定为什么决策任务在已成功完成的活动中失败。
"eventTimestamp":1500668941.164 eventType:"
WorkflowExecutionFailed", "eventId":866,"workflowExecutionFailedEventAttributes":"details": "java.lang.IllegalArgumentException:Unknown DecisionIdtype=ACTIVITY,id=26. 可能的原因是工作流定义中的non-deterministic workflow definition代码或incompatible change。 at: com.amazonaws.services.simpleworkflow.flow.worker.DecisionsHelper.getDecision(DecisionsHelper.java:613) com.amazonaws.services.simpleworkflow.flow.worker.DecisionsHelper.handleActivityTaskScheduled(DecisionsHelper.java:171) at: com.amazonaws.services.simpleworkflow.flow.worker.AsyncDecider.processEvent(AsyncDecider.java:267) com.amazonaws.services.simpleworkflow.flow.worker.AsyncDecider.decide(AsyncDecider.java:515) at: com.amazonaws.services.simpleworkflow.flow.worker.AsyncDecisionTaskHandler.handleDecisionTask(AsyncDecisionTaskHandler.java:50) 在com.amazonaws.services.simpleworkflow.flow.worker.DecisionTaskPoller.pollAndProcessSingleTask(DecisionTaskPoller.java:201) 在com.amazonaws.services.simpleworkflow.flow.worker.GenericWorker$PollServiceTask.run(GenericWorker.java:94) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在java.lang.Thread.run(Thread.java:745)", "decisionTaskCompletedEventId":865, “理由”:"Unknown DecisionIdtype=ACTIVITY,id=26。 可能的原因是non-deterministic workflow definition代码或工作流定义中不兼容的更改。“
任何帮助都将不胜感激。
发布于 2017-09-25 23:56:38
AWS Flow Framework使用重放来重构工作流状态。它要求工作流代码是确定性的。也就是说,当一个历史被重播时,它完全处于相同的状态。打破决定论有多种方法。最常见的是工作流代码(或配置)更改,而有些工作流正在运行或使用系统时间,而不是框架提供的时钟对象。您是否正在进行任何时间计算,或者最近是否更改了工作流代码?
有关在不中断运行工作流的情况下更新工作流代码的各种方法,请参见对决策代码进行更改:版本控制和特性标志。
https://stackoverflow.com/questions/46366335
复制相似问题